ログイン



PHP5.6アルファ1

日曜日, 2月 2nd, 2014 by

まだPHP5.5の新機能も把握できていないうちに、PHP5.6のアルファ版がリリースされてしまいました。今はPHPの比重がそこそこ重い案件を中心に開発業務に当っていますが、今後はRubyの大型案件が控えており、PHPからは少し距離を置くことになりそうです。とはいえ、PHPの継続案件も複数あるので、このサイトの更新も適宜おこないたいと思います。

PHP5.6α1での新機能は以下のとおり(他にもありますが・・)

  • constant scalar expressions,
  • 計算結果を定数として使える機能です。依存関係のある定数を定義するときに便利そうですね。※PHPで定数使ったことありませんが・・

    1
    2
    3
    4
    <?php
    const a = 1;
    const b = a?2:100; // here the value of the constant "b" is dependent on the constant "a"
    ?>
  • variadic functions,
  • 可変長引数ですね。今でも、func_get_args()を使えば同等のことはできるので、シンタックスシュガーが追加される感じですね。

    1
    2
    3
    4
    5
    6
    7
    8
    class MySQL implements DB {
        public function query($query, ...$params) {
            $stmt = $this->pdo->prepare($query);
            $stmt->execute($params);
            return $stmt;
        }
        // ...
    }

    https://wiki.php.net/rfc/variadics

  • argument unpacking,
  • 引数のアンパッキング。複数の引数を渡す替わりに、1個の配列を渡せるようです。便利・・・なのかな。

    1
    2
    3
    4
    function test(...$args) { var_dump($args); }
    test(1, 2, 3);                         // [1, 2, 3]
    test(...[1, 2, 3]);                    // [1, 2, 3]
    test(...new ArrayIterator([1, 2, 3])); // [1, 2, 3]

    https://wiki.php.net/rfc/argument_unpacking

  • support for large(>2GiB) file uploads,
  • 2GiB以上のファイルをアップロードできるようになるそうです。今までは2GiB以上のファイルは駄目だったんですね。知りませんでした。

  • SSL/TLS improvements,
  • SSLまわりの機能が向上したそうです。よくわかりません。

  • a new command line debugger called phpdbg.
  • 新たなコマンドラインデバッガーを使えるようになりそうです。

正直いって、PHP5.6に積極的にアップデートする理由が見つかりませんでした。まだαなので、あっと驚く新機能が追加される可能性もありますけどね。

Leave a Reply