PHP5.3.0alpha2 の試用メモ

新機能盛りだくさんなのでちょっと試してみた。

PHP: doc:scratchpad:upgrade:53 [PHP Wiki]
ここに大まかな新機能は載っている。新機能としてnamespace, goto, closureが並んでいるのはPHPらしいと言うか何と言うか。

インストールは特に問題なし。Fedora5。

wget http://downloads.php.net/johannes/php-5.3.0alpha2.tar.bz2
tar jxvf php-5.3.0alpha2.tar.bz2
cd php-5.3.0alpha2
./configure
make
./sapi/cli/php -v

namespace、あると便利そう、と思っていたがクラスごとにuseを書くのは面倒でないか?

namespace Funaki::Test;
class Hoge { ... }
class Foo { ... }

こんな感じにクラスファイルを作っても(HogeとFooは別ファイルでもいい)呼び出すときに

use Funaki::Test;
$obj = new Hoge;

だけでは
Fatal error: Class 'Hoge' not found
が出る。use Funaki::Test::Hoge; と書く必要があるようだ。::の前に$hogeと変数は使えないのでuseよりフルネームで書くことの方が多そう。

closureは、、使うだろうか。
?:も

$hoge = (isset($array['idx']) ? $array['idx'] : null);

$hoge = ($array['idx'] ?: null);

と書けるならよかったのだが、idxがないとNotice: Undefined offsetエラーが出るので使う機会はないと思う。

__DIR__は地味に便利だ。dirname(__FILE__)のエイリアス。
NEWDOCやDateTimeとかPharも使う機会はありそう。gotoも使ってしまうかもしれない。

vimのsyntax highlightがまだ対応していないのでちょっと寂しい。

この辺も気になる。
PHPTypeSafeで目から鱗が落ちた – Do You PHP はてな

本を読む PHPカンファレンス2008に参加しました
mysqlndで速くなったらしい。
PHP本体も
php.internals: Re: re2c scanner issue
パーサーをre2cなるものに変えて速くなったらしい。メモリ効率の改善はうれしい。

CentOSのyumで入れられるようになるのはいつかなー。

This entry was posted in いじる and tagged . Bookmark the permalink. Both comments and trackbacks are currently closed.

Page optimized by WP Minify WordPress Plugin