PHPerKaigi2020での発表資料です(※配布用に改訂しています) https://fortee.jp/phperkaigi-2020/proposal/ef0682ab-08b3-4129-ac1f-41b22c40021a
ことの始まり PHP の srand 関数について調べていて、ひょんな拍子にsrandのseedに文字列(numericである必要はあるけど)を渡せることを知った。 では、ここに long を超えるものを放り込むとどうなるのか。 では結果をごらんください。 「!?!?」 なぜこうなるのか 秘密は PHP 処理系の zend_parse_arg_impl 関数にあります。 zend_parse_arg_impl はphpの関数に渡された引数をパースする部分で、longを要求する関数にstringな値が渡された時の処理はこの部分ですね。 https://github.com/php/php-src/blob/master/Zend/zend_API.c#L335 さて、読み進めていくと「ん!?!?」ってなる行があるはずです。 この行ですね https://github.com/php/php-
CakePHPでPEARのパッケージを利用したいと思って調べてみると、やり方が人それぞれバラバラだったりするが、次の3種類に大別できるんじゃないかと。 ディレクトリ Vendorsに格納して、「App::import()」で呼び出す CakePHPとは無関係なPEAR格納用ディレクトリを指定して、「App::import()」で呼び出す include(あるいはrequire)で呼び出す 次のコードではPEARのText_Wikiパッケージを呼び出している。アクション・index1ではrequireでPEARのフォルダを参照し、index2では「app/vendors」に格納したText_Wikiパッケージを参照させている。Text_WikiはWiki記法のパーサです。 <?php class TestsController extends AppController { var $nam
APIやRSSなどを提供しているサイトは、情報を簡単に扱うことができますが、例えば Yahoo!の検索結果とか、mixiのニュースとか、あるサイトの一部を取り出したいことってよくあります。(とはいえ、著作権違反には注意 そんな時、PHPのライブラリである「htmlSql」を利用すると便利。このライブラリに、ファイルでもURLでも文字列でも、HTMLで作られたものなら何でも与えると、解析して取り出しやすくしてくれます。しかも、その取り出し方はSQL! 例えば、「id属性が’test’の p要素の内容を取り出したい」という場合には、次のようなSQLを使います。 SELECT text FROM p WHERE $id=="test" 超パワフル。ということで、これを CakePHPで利用するためのテクニック。 まずは、ダウンロードしたファイルの中から次のファイルを「app/vendors」フォ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く