Home > PHP

PHP Archive

【PHP】PDOx_Lite

この間書いたブログの通りPDOxというPDOを拡張したものを作ってみてます。

まずはPDOx_Liteというのを作ってます。
ちなみにDBIx::Liteとは何の関係もなく、ただ一番初めだったからLiteというのをつけてみただけです。
コードはgithubにあげてますが、まだversion0.01くらいな感覚ですね。

基本的なCRUDはあります。
まだまだ足りないところだらけで、いきなりLiteじゃなくなったりするかもしれませんがちょっとずつやっていこうと思います。

話は変わって、最近テストに関しても調べているんですが、その中でcodeceptionというPHPのテストフレームワークを見つけました。
まだPHPUnitもよくわかっていない情弱っぷりなので触れていないんですが、これを作ってるcodegyreというデベロッパーチームのサイトがかっこいいです。
僕もいつか誰かとデベロッパーチームを組んでみたいなと思ったりしてます。
テストフレームワークと将来のちょっとした夢の紹介でした。

【PHP】PHP 5.4がPHP 5.3より2倍速いという証明

Proof that PHP 5.4 is Twice as Fast as PHP 5.3の記事を翻訳しました。

誤訳がありましたら教えてもらえたら助かります。

【PHP5.4がPHP5.3より2倍速いという証明をします】
最近、異なったバージョンのPHPのベンチマークをいくつか取ってます。
なぜなら、PHP5.4は”速い”というのを聞いたし、私はデータギークだからどのくらい速いかを知りたいのです。
一般的にはPHP5.4は速いですが、特に最適化されたユースケースを用いない限り、PHP5.3の2倍も速くなることはないです。

2つのバージョンを比較した最初の試みは以下になります:


この結果には驚きました。PHP5.4は実際にそんなに速かったのでしょうか??

それがそうでもないのです。私のミスは一つのことを行うとても簡単なスクリプトを取ったことでした。- 実際にそれは2つのバージョン間で大幅に改善されたものでした!私は同じコードの部分を何回もいくつかの悪いタイミングで実行するコードを持っています。- これはの数値は相対比較としてのみ有用です; 私のノートPCでこれらを実行しています。

スクリプト:

$r = 10 * 1000 * 1000;
$start = microtime(true);
 
while($r-- > 0) {
    new StdClass();
}
 
$finish = microtime(true);
echo "time taken: " . ($finish - $start) . "\n";

それぞれのコードを5回実行して結果を平均しました(オリジナルデータ: gistにあります)。

この話のモラル:あなたが望んでいるものを統計的に証明できます!私はより実用的なベンチマークを求めて多種多様なスクリプトを集めていますが、それがどれくらい速くPHP5.4のオブジェクトをインスタンス化するかを見て下さい!PHPプロジェクトに関わっている全ての人に多くのありがとうをいいたいです。PHPは進化し続けるし、多くの改良を続けるでしょう。そのことに私は感謝しています!

※煽動的なブログタイトルに関して謝罪します。しかし、これらは私がこの結果を取った時には適切な言葉でした。


以上です。
つまりはベンチを取った機能(オブジェクトをインスタンス化するところ)が確かに2倍速くなってるますねってこと。限定的すぎるけど。。
訳し終わって「なんでこれを選んでしまったんや。。。」という感じでした。
次回からはきちんと内容を把握して訳したいと思います!

【PHP】ORMに関して

約8ヶ月ぶりに更新します。
といっても対した内容でもないです。

去年からORMに関してちょっとずつ調べていて、PHPで簡単なORMを作れないかなというのを考えています。
既存としてあるものはPDO(ORMと読んでよいのかわからないが…)、ADOdb、php-activerecord、Doctrine、Propelなどがあります。
php-activerecordはcodeigniterでDoctrineはSymfonyで利用されています。
自分としてはもっとライトにPDOをラップしたものを作りたいと思います。

というのもPerlのDBIをラップしたDBIxという名前空間がついたモジュールがライトなものからディープなものまで多数あり、これをPHPでも実現したかった為です。
いきなり大きなものは作れないので小さなことからコツコツやっていこうと思い作ることを決意しました。

名前空間はPDOxというものを使って作っていこうと思います。
と思って調べていたらmagicalhatさんPHP-PDOxSkinnyというのをgithubにあげていました…

似たような感じにはなるとおもますが、ちょっとずつやっていこうという決意のブログです。

【php】PDOのドキュメント

きちんと読んだ事が無かったのでこの機会に読みました。
PHPのマニュアルの中にあります。

PHP Data Objects

Doctrineの内部はPDOを使っているので読んでおいて損はないかと思います。
CakePHPでも使ってるのかな。(たぶん)

特に目新しいことはありませんが、ある事柄を拾得する際に一度はマニュアルを読むという習慣を
きちんとつけた方がよいですね。と最近は自分に言い聞かせています。

【PHP】Memcached

今度はMemcachedクラスを見てみました。

Memcached

Memcached – PHP Manual

Memcacheよりもメソッドが多くて使い方は変わらないです。

ホーム > PHP

Search
Feeds
Meta

Return to page top