PHP5.6とさよならできる3つの関数

17
PHP 5.6 とさよならする 3つの関数 @localdisk

description

Fukuoka.php Vol 14 でお話しました。PHP 5.6 なかなかよいですよ。 http://fukuokaphp.doorkeeper.jp/events/15519

Transcript of PHP5.6とさよならできる3つの関数

PHP 5.6 とさよならする

3つの関数@localdisk

自己紹介• 松尾 大

• I Love 福岡

• 大阪や東京なんかに負けないんだから!

• 大阪や東京には勝てなかったよ…とならないように頑張りたい

• twitter: @localdisk

• facebook: devworks

• blog: http://localdisk.hatenablog.com

2014/08/28 PHP 5.6 Release!

PHP 5.6 使ってる人!

…知ってた

PHP 5.6 派手さはないがなかなか

定数のスカラー式<?php !const BASE_DIR = __DIR__; // 式が使えるようになった! const OPT_DIR = BASE_DIR . '/opt'; !var_dump(\OPT_DIR);

define …? 知らない子ですね• 式が書けるようになり、定数の定義に柔軟さが増した

• 後述する use const で define は完全に要らない子に

• define は小学生まで

可変長引数<?php !function f($req, $opt = null, ...$params) { printf('$req: %d; $opt: %d; params: %d'."\n", $req, $opt, count($params)); } !// $req: 1; $opt: 0; params: 0 f(1); // $req: 1; $opt: 2; params: 0 f(1, 2); // $req: 1; $opt: 2; params: 1 f(1, 2, 3); // $req: 1; $opt: 2; params: 2 f(1, 2, 3, 4);

func_get_args …?奴なら死んだよ• 可読性が格段に上がった

• フレームワークやライブラリ等で

func_get_args が多用されてるとほんと辛い

use function / use const<?php !// use function / use const namespace Fukuoka\Php { const OPT_DIR = 'hoge'; function foo() { echo 'foo'; } }

function_exists? 最近みないねぇ…

• フレームワーク等の helper で連発される

function_exists

• さよなら!

phpdbg

• IDE 対応待ち

• XDebug とさよならするのは少しかかりそう

• 同梱されてるのは嬉しい

• PHP 5.6 に採用されるデバッガ phpdbg を使ってみた - Shin x blog : http://www.1x1.jp/blog/2013/12/

phpdbg.html

デフォルトの文字エンコーディング

• エンコーディングに依存する関数 が default_charset を参照するようになった

• htmlentities

• html_entity_decode

• htmlspecialchars

• まぁあんまり影響ないと思います。PHP5.4/5.5 のデフォルト値は UTF-8 だったし

巨大なファイルのアップロード

• 2GB 以上のファイルがアップロードできるようになった

• PHP でクラウドストレージを作ってもいいのよ?

まとめ• PHP 5.6 は地味だが嬉しい改善が入ってる

• 特にライブラリ・フレームワーク作者には嬉しいんじゃないかと

• バージョンアップを躊躇わない風潮を作る

• Rubyでサービス作ってる人(会社)はそのへんアグレッシブなので見習いたい

おわり。 ありがとうございました!