数値チェックの正規表現だったら、is_numeric() に変えてテストパターンに漏れがないか確認するための infectionのMutatorを作ってみた

古来より、PHPの ‘is_numeric‘ 関数は鬼門とされております。 PHPのis_numeric関数は使うべきでないという話 - hnwの日記 先日見かけた、このエントリーにはコードレビューでの例にis_numericへの指摘がありました。 私がコードレビューの際に気をつけている…

builderscon tokyo 2017 に参加中 - LTで Validation について小話しました

8月3日~5日にて開催中の builderscon tokyo 2017 - Aug 3, 4, 5 2017 に参加中です。*1 LT - 『できる!!!Validation!!!』 LTで、『できる!!!Validation!!!』と題した話をしてきました。 内容は、先週行われた 第116回 PHP勉強会@東京 にて話を…

Y8 2017 spring in Shibuya ( #y8spring ) に参加してきました

5/27(土)に開催されたY8 2017 spring in Shibuya #y8spring に参加してきました。 Y8(ヤパチー)というイベントは、去年開催分の目標から引用すると 本カンファレンスは、エンジニアがエンジニアに向けて、言語やソフトウェア、ハードウェアの垣根を作らぬ多…

第七回闇PHP勉強会にて、ここ数年誕生したPHP拡張の話をしてきました

本日開催された 第七回闇PHP勉強会 に参加してきました。 会場提供(懇親会も)のpixiv様ありがとうございます。 私の発表「このPHP拡張がすごい!2017」のスライドは以下です。 このPHP拡張がすごい!2017 from sasezaki 発表時間は一応10分だったんですが時…

zendframework/zend-mvc ~2.7|3.0 でのpsr/http-message の利用

PHPプロジェクトスケルトンの一つzendframework/ZendSkeletonApplicationでのベース部分であるzendframework/zend-mvc では、ヴァージョン 2.7(2016/5リリース) あるいは 3.0 (2016/06リリース) にてもとからあったcontroller&actionを実行するDispatchListe…

PHPで<?="{K]X^\31\31EYG_Q\31"^"".M_PI;

今月上旬にPHP開発者の一人Andrea Fauldsさんが以下のツイートをしていました。 PHP is a very beginner-friendly language, hello world is as easy as

PHPカンファレンス福岡、PHP勉強会(東京・相模原)、Symfony Meetupで話をしてきました。

前回のエントリから1年以上間が空いてしまいましたが、PHPにおけるHTTPメッセージについての再考ということで カンファレンス・各勉強会にて話をさせていただきました。 記事やコード・発表は時系列ですと以下の通りです。 2015年03月 日記 PHP - 憂鬱な希望…

PHP - 憂鬱な希望としての PSR-7

tl;dr PSR-7は普段PHPにてHTTPメッセージを扱うインターフェイスとしてそこそこ十分に機能する。メインユースケースの8割は満たすだろうが、PHPのポテンシャルの5割にも満たないかもしれない。だがそれで良い。 「今年は PSR-7 が来る」 つい先日、PHP-FIG…

WEBアプリケーションフレームワーク(主にPHP)のルーティング処理について (never まとめ)

とくにまとめられてないメモ書きです。とくに主張とか結論はないです。(あ、Hello Worldベンチマーク?プギャーm9(^Д^) は言わずもがなです ) 前提:主にPHPではURLとアクションのマッピングについて上から順に以下のような変遷をたどってると思います(そう…

第五回闇PHP勉強会

行ってきました。ちょっと話しました。 http://yamiphp.doorkeeper.jp/events/8749 https://twitter.com/search?q=%23yamiphp&f=realtime 各発表者のタイトルとスライドは以下です。 @chobi_eさん 「入門Zend Memory Manager」 第五回闇PHP勉強会で入門ZendM…

PHPのショートオープンタグ'<?'を正規表現以外で置き換える

3v4lでもやっぱりディレクティブしてできなかったので、こっちに。。 以下を php -d short_open_tag=1 test.php などで試してください

EthnaとSmarty2系とcomposer create-project で Hello world

私の大切なEthna処女がやぶられた瞬間をお届けします。 composer create-project ethna/ethna-project -s dev {ProjectName} で思わずデフォルトEnterしてしまったので、Smarty2のためにcomposer.jsonをちょこっと書き換え { "name": "ethna/ethna-project",…

PHPの次の10分のためのクールなマイクロフレームワークを勢いでリリースしました

いったい、一日に何個のフレームワークが生まれているのだろう。そんな疑問が浮かぶほど、PHPによる (Webアプリ) フレームワークの数は尋常じゃない・・・という時は過ぎ、5.3系フレームワークの開発が落ち着きを見え始めたのが昨今だ。 ま、というわけでGen…

Zend Framework 2 - ZF-Commons/ZfcUser の日本語訳

ZfcUserのview側でtrasnlateヘルパーが使われる部分の翻訳ファイルをPRしましたadd Japanese translation by sasezaki · Pull Request #369 · ZF-Commons/ZfcUser · GitHub 取り込まれた場合 ./config/autoload/local.php などにて array( 'locale' => 'ja_…

どこ住み?てかLINEやってる?笑 .travis.yml のPHPヴァージョンはどれ~?

PHP 5.5でヤリたいんです!Hey #php folks, please update your .travis.yml to include "PHP 5.5" & remove "allow_failures"— sasezaki (@sasezaki) October 5, 2013PHP 5.5でヤラせろ!つけ加えて言うと、travisとCoverallsではビッチ度が足りません。 Sc…

今年のZendConでのZend Framework関連の資料

今年のZFとしての目玉としては http://apigility.org/ だったようです。 http://www.zendcon.com/ LEVEL UP! Migrating your ZF1 app to ZF2ZF2: Building a SOA ArchitecturePractical ZF1 to ZF2 Migration: Lessons from the FieldBuilding Models in ZF2…

PHPをparse_strで殴り続けると死ぬ

$ php -r 'parse_str(implode("&a", range(0,1000)), $x);' [~]PHP Warning: parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Command line code on line 1 PHP Stack trace: PHP 1. {main}() Com…

町田市は神奈川県固有の領土であるか、PHPを用いて検証する

日本の政治にて昨今領土問題の緊張が増しているが、皆さんはPHPの開発者の間の一部でも長年あの地域についての領土問題が取り沙汰されていたのはご存知だろうか?そう、コメダコーヒーが乱立する都市・町田市である。もしあなたが小田急江ノ島線ユーザなら自…

temoto/robotstxt-go がURLエンコードを考慮してないように見える

かのnorobots-rfc.txt では、%7Eについては /~joe/index.html /%7Ejoe/index.html yes http://www.robotstxt.org/norobots-rfc.txt とマッチするとされているが、robotstxt-goでは を実行するとfalseとなる。robotstxt-goはどうやら、現状のgoogleのwebmaste…

このPHP拡張がすごい!50選!@PHP勉強会

第64回PHP勉強会@東京にてPHP拡張こんなのがあるよっていう話をしてきました。 http://atnd.org/events/36206 毎度毎度、VOYAGE GRUOPの皆様会場提供ありがとうございます。 Awesome PHP extensions! Top 50! from sasezaki 発表時のリストはmarkdownからス…

Zend Framework 2 で ギャル文字 をアゲポヨする 3つの方法

1. viewの結果にまるごと適用する場合 ViewのaddResponseStrategyを用います。 実装例 https://github.com/sasezaki/GyaruMoji/blob/response_strategy/Module.php実装後こうなる 2. viewにアサインされたプロパティ個々に適用する場合 ViewのaddRenderingSt…

これからのZend Framework 2 アプリケーション のインストール方法

1. まず線を引きます。 git clone git://github.com/zendframework/ZendSkeletonApplication.git && cd ZendSkeletonApplication && php composer.phar install2.そして色を塗ります。 cd public && php -S localhost:80813.完成!!! 元ネタ - http://cksb…

第60回 PHP勉強会に参加しました

http://atnd.org/events/30255ということで第60回へ行って来ました。幹事代行されたyandoさんお疲れさまです。会場提供のクロコス様ありがとうございます。今回は初参加の方も結構いらしたようなので良かったなと思います。あ、みなさんPHP勉強会はもっとツ…

PHPとぶっこ抜きはズッ友だよ! Guzzle, Hasty, Reactでパラレルリクエスト

最近はPHPでマルチリクエストできるHTTPクライアントライブラリありまして、(asyncとマルチリクエストとかプロセスとかアプローチが違うってのは加味しなきゃいけませんけど) 実際にAPIリクエスト後の操作(callback)踏まえての実装をしたものが記事下記に…

"Pyrus 動かない" - その 3つの現象と対応

PEARパッケージを入れる場合に遭遇するかもしれない3つの現象について現在の回避作を個人的に記します。 ちなみに、pyrusのBTSはgithubですのでそちらもご確認ください。 https://github.com/pyrus/Pyrusなお、動作がおかしいと思ったら、 はじめに、 $ pyru…

PHP 5.4.0 でArray to string conversionがarray_diffで発生してフルコンボだドン!

要約 array_diff、array_diff_assocで多次元配列のときにE_NOTICEが発生するってことだドン! をPHP 5.4.0で実行すると、 となるのだドン! 以下は遭遇した時のお話だドン! さて、今日もcontributeという名の時間のコインを投入するのだドン! ZF2は先日の…

俺の彼女と幼なじみとPHPとAutoloadが修羅場すぎる(classmapのはなし)

PHPのことを一晩中考えてる皆さん!Autoload使ってますか! - 「PHP5.3世代の最新フレームワーク使ってるから当然使ってるよ!」(キリッ!) - 「is_aの挙動の変更はまさにPHPっぽいと断言できる!」(キリッ!) - 「vendor/.composer/autoload.phpをリ…

任意のPHPのバージョンと、任意のPHPUnitのバージョンを組み合わせて実行する。

3ヶ月前にgistに書いてtwitterでつぶやいたきりでしたが、こっちにも記載。 いくつか方法はありますが、たぶん最低限の方法で、 任意のPHPのバージョンと任意のPHPUnitのバージョンを動かす方法です。 Ubuntuの場合を中心に書きますが、Windowsとかでもフル…

最速PHPフレームワーク研究会 (pecl的な意味で)

Yaf - http://www.php.net/manual/en/book.yaf.php - Controller、View、Router、Configについての機能をそなえる - http://blog.tojiru.net/article/231387723.html:title=http://blog.tojiru.net/article/231387723.html - パフォーマンス記事 / http://ww…

PHP スライド・ベスト10

PHP界隈でまたイライラすることがあったが、ちょっと落ち着くために今まで個人的に見たスライドの中で勝手に決めたベスト10をここで紹介したいと思う。というのも、最近だとこれとか見るに「あれ、あんましスライドチェックって皆しないの。。」と思ったから…