SlideShare a Scribd company logo
1 of 17
Download to read offline
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 FukuokaPhp { 
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でサービス作ってる人(会社)はそのへん 
アグレッシブなので見習いたい
おわり。 
ありがとうございました!

More Related Content

Viewers also liked

Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
Junji Manno
 

Viewers also liked (15)

Word benchfukuoka
Word benchfukuokaWord benchfukuoka
Word benchfukuoka
 
20120427西区勉強会
20120427西区勉強会20120427西区勉強会
20120427西区勉強会
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた「これを買っている人はこれも買っています」実装してみた
「これを買っている人はこれも買っています」実装してみた
 
こんなこと知ってるぺちぱーは老害だ
こんなこと知ってるぺちぱーは老害だこんなこと知ってるぺちぱーは老害だ
こんなこと知ってるぺちぱーは老害だ
 
CodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみたCodeIgniter をモダンに改造してみた
CodeIgniter をモダンに改造してみた
 
PHPの今とこれから2014
PHPの今とこれから2014PHPの今とこれから2014
PHPの今とこれから2014
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニング
 
Express yourself
Express yourselfExpress yourself
Express yourself
 
Laravel の学び方と得られる学び
Laravel の学び方と得られる学びLaravel の学び方と得られる学び
Laravel の学び方と得られる学び
 
HHVM on CentOS6 本番運用のうまみとつらみ
HHVM on CentOS6 本番運用のうまみとつらみHHVM on CentOS6 本番運用のうまみとつらみ
HHVM on CentOS6 本番運用のうまみとつらみ
 
PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。PHP7がリリースされたいま、 改めてHackについて考える。
PHP7がリリースされたいま、 改めてHackについて考える。
 
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)これからのCMSマーケットトレンドとPHP (for fukuoka.php)
これからのCMSマーケットトレンドとPHP (for fukuoka.php)
 
PHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyieldPHPにおけるI/O多重化とyield
PHPにおけるI/O多重化とyield
 
SORACOM interstellar 紹介資料
SORACOM interstellar 紹介資料SORACOM interstellar 紹介資料
SORACOM interstellar 紹介資料
 

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