Subscribed unsubscribe Subscribe Subscribe

PHP に autoboxing 追加するパッチ

先日は、大量の「これはひどい」タグをありがとうございました。これからも PHP の生けるマジコンとして突っ走る所存です。

配列は、以下のようにして繋ぐことも

<?php
    class Ref { var $val; function __construct($a) { $this->val = $a; } } 
    function ref($a) { return new Ref($a); }

    ref(array(1, 2, 3))->val[0];
PHP で引数をそのまま返す関数を作っておくと便利

autobox があると便利だよねえ。ということで作りました。

<?php
class IntObject {
    private $val;

    function __construct($val) {
        $this->val = $val;
    }

    function dump() {
        var_dump($this->val);
    }
}

function __autobox($obj) {
    return new IntObject($obj);
}

123->dump();
?>

こんなコードが通るようになります。よかったですね。

以下 パッチ

※パッチを当ててから、Zend ディレクトリを作業ディレクトリとして zend_vm_gen.php を実行して zend_vm_execute.h を再生成してください。