Enviar pesquisa
Carregar
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
•
0 gostou
•
1,745 visualizações
sters
Seguir
PHP BLT #6 で発表した内容です。PHPの未来で導入されるかもしれない機能の提案について、気になった2つ紹介します。
Leia menos
Leia mais
Engenharia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 26
Baixar agora
Baixar para ler offline
Recomendados
PHP7を魔改造した話
PHP7を魔改造した話
Moriyoshi Koizumi
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
SlowQueryとの戦い
SlowQueryとの戦い
Ken Gotoh
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
Perlで伝統芸能
Perlで伝統芸能
hitode909
Recomendados
PHP7を魔改造した話
PHP7を魔改造した話
Moriyoshi Koizumi
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
SlowQueryとの戦い
SlowQueryとの戦い
Ken Gotoh
実用裏方 Perl 入門
実用裏方 Perl 入門
keroyonn
HHVM Hack
HHVM Hack
Masaaki Yonebayashi
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
jamadam
WebAPIではじめるphp入門
WebAPIではじめるphp入門
Hiroaki Murayama
Perlで伝統芸能
Perlで伝統芸能
hitode909
URLで遊ぼう
URLで遊ぼう
Hiraku Nakano
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
keroyonn
Perl logging
Perl logging
keroyonn
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
最近の PHP の話
最近の PHP の話
y-uti
Symfony2 How to create your Bundle
Symfony2 How to create your Bundle
chobi e
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
PHP基本的関数QUIZ
PHP基本的関数QUIZ
Wataru Terada
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ひとし あまの
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
2018年夏のPerl5
2018年夏のPerl5
charsbar
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
ひとし あまの
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
iPride Co., Ltd.
PHP の GC の話
PHP の GC の話
y-uti
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
Akio Ishida
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
about Thrift
about Thrift
Naoya Ito
詳説ぺちぺち
詳説ぺちぺち
do_aki
PHPの今とこれから2019
PHPの今とこれから2019
Rui Hirokawa
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
Mais conteúdo relacionado
Mais procurados
URLで遊ぼう
URLで遊ぼう
Hiraku Nakano
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
keroyonn
Perl logging
Perl logging
keroyonn
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
最近の PHP の話
最近の PHP の話
y-uti
Symfony2 How to create your Bundle
Symfony2 How to create your Bundle
chobi e
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
PHP基本的関数QUIZ
PHP基本的関数QUIZ
Wataru Terada
Hack/HHVM 入門
Hack/HHVM 入門
y-uti
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ひとし あまの
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
2018年夏のPerl5
2018年夏のPerl5
charsbar
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
ひとし あまの
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
iPride Co., Ltd.
PHP の GC の話
PHP の GC の話
y-uti
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
Akio Ishida
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
about Thrift
about Thrift
Naoya Ito
詳説ぺちぺち
詳説ぺちぺち
do_aki
Mais procurados
(20)
URLで遊ぼう
URLで遊ぼう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろう
Perl logging
Perl logging
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
最近の PHP の話
最近の PHP の話
Symfony2 How to create your Bundle
Symfony2 How to create your Bundle
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
PHP基本的関数QUIZ
PHP基本的関数QUIZ
Hack/HHVM 入門
Hack/HHVM 入門
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
ウェブアプリのセキュリティをちゃんと知ろう (毎週のハンズオン勉強会の資料)
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
2018年夏のPerl5
2018年夏のPerl5
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
PDOでデータベース接続と SQLインジェクション対策
PDOでデータベース接続と SQLインジェクション対策
PHP の GC の話
PHP の GC の話
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
about Thrift
about Thrift
詳説ぺちぺち
詳説ぺちぺち
Semelhante a PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
PHPの今とこれから2019
PHPの今とこれから2019
Rui Hirokawa
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
PHPの今とこれから2014
PHPの今とこれから2014
Rui Hirokawa
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
Sotaro Karasawa
PHPの今とこれから2021
PHPの今とこれから2021
Rui Hirokawa
PHPの今とこれから 2013
PHPの今とこれから 2013
Rui Hirokawa
Silex入門
Silex入門
Takuya Sato
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
Satomi Tsujita
php.js
php.js
Kenta USAMI
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
Arata Fujimura
第21回Creators MeetUp
第21回Creators MeetUp
Kenichi Mukai
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Takuya Sato
Ocamlでpfffを拡張した話
Ocamlでpfffを拡張した話
Rie Nakau
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
PHPの今とこれから2023
PHPの今とこれから2023
Rui Hirokawa
実は怖くないDevOps
実は怖くないDevOps
Masanori Ishigami
Local php-100828 2
Local php-100828 2
Akio Ishida
Python東海GAEやってみた
Python東海GAEやってみた
Mori Shingo
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
Semelhante a PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
(20)
PHPの今とこれから2019
PHPの今とこれから2019
知って得する標準関数の使い方
知って得する標準関数の使い方
PHPの今とこれから2014
PHPの今とこれから2014
Modern PHP Programming @ PFI Seminar
Modern PHP Programming @ PFI Seminar
PHPの今とこれから2021
PHPの今とこれから2021
PHPの今とこれから 2013
PHPの今とこれから 2013
Silex入門
Silex入門
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
php.js
php.js
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
GMO TECHNOLOGY BOOT CAMP2015(PHP編)
第21回Creators MeetUp
第21回Creators MeetUp
2009年のPHPフレームワーク
2009年のPHPフレームワーク
Ocamlでpfffを拡張した話
Ocamlでpfffを拡張した話
Web技術勉強会 20100925
Web技術勉強会 20100925
PHPの今とこれから2023
PHPの今とこれから2023
実は怖くないDevOps
実は怖くないDevOps
Local php-100828 2
Local php-100828 2
Python東海GAEやってみた
Python東海GAEやってみた
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
Puppetのススメ
Puppetのススメ
Mais de sters
Facebook Messenger Platform で始める Bot 開発
Facebook Messenger Platform で始める Bot 開発
sters
Packagist を旅してみる
Packagist を旅してみる
sters
PHP で LINE Bot をしてみる
PHP で LINE Bot をしてみる
sters
Jenkins Wars Episode 2
Jenkins Wars Episode 2
sters
Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話
sters
JavaScriptによる記号プログラミング
JavaScriptによる記号プログラミング
sters
まぼろしのむいかめ in #upcamp 2013 Toyko
まぼろしのむいかめ in #upcamp 2013 Toyko
sters
UnityとnodeとMMDと
UnityとnodeとMMDと
sters
残パン会のあれ
残パン会のあれ
sters
Mais de sters
(9)
Facebook Messenger Platform で始める Bot 開発
Facebook Messenger Platform で始める Bot 開発
Packagist を旅してみる
Packagist を旅してみる
PHP で LINE Bot をしてみる
PHP で LINE Bot をしてみる
Jenkins Wars Episode 2
Jenkins Wars Episode 2
Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話
JavaScriptによる記号プログラミング
JavaScriptによる記号プログラミング
まぼろしのむいかめ in #upcamp 2013 Toyko
まぼろしのむいかめ in #upcamp 2013 Toyko
UnityとnodeとMMDと
UnityとnodeとMMDと
残パン会のあれ
残パン会のあれ
PHPBLT#6 PHPの未来に入るかもしれない機能の紹介
1.
PHP 7.2 で入るかもしれないし
7.3 かもしれないし もっと未来で入るかもしれない… そんな新しい機能をちょっとだけ紹介するよ PHPBLT#6 @sters9
2.
今日の話 PHP 7.2 で入るかもしれないし
7.3 かもしれないし もっと未来で入るかもしれない… そんな新しい機能をちょっとだけ紹介するよ (タイトルそのまま) ※php-coreは本当にしらないのでそういう話はしません
3.
4.
PHP 好きですか!?
5.
http://qiita.com/rana_kualu/items/40ebed78742bfdbd1065
6.
https://wiki.php.net/rfc
7.
https://www.docker.com/
8.
参考実装を試すにはやっぱりDockerだよね ホスト側の準備 yum install
docker-engine docker pull centos docker run -it -d -v /tmp:/tmp --name=php7rfc centos docker exec -it php7rfc /bin/bash
9.
参考実装を試すにはやっぱりDockerだよね ゲスト側の準備 yum groupinstall
"Development Tools“ // 面倒なので一括準備 // yum install libxml2-devel // 足りないらしいので別途導入 // git clone -b xxxxx --depth=1 xxxxxxx // リポジトリとブランチはものによって変わる // // コミットログがでかいので Shallow Clone しないと時間かかるつらい // ./buildconfig // configureするためのスクリプト生成 // ./configure // 追加で入れたいライブラリなどの設定が必要ならここで指定 // make // コンパイル //
10.
参考実装を試すにはやっぱりDockerだよね 参考実装を試すぞ! php-src/sapi/cli/php php-cli の実行ファイルになっているので、そこで動作確認ができる
もちろん php-fpm なども動かせる 余談 Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz メモリ2GB Docker version 1.7.1, build 786b29d で、ビルドは10分くらいでした。
11.
(紹介1)Arrow Functions
12.
提案:Arrow Functions ECMAScript6
で追加されたアレ (あるいは lambda 的なそれ) let f = (x) => x * x PHPでクロージャがあるからそういう短縮して書ける やつあってもいいじゃん! fn という新しい予約語を作るよ! クロージャや簡単な関数で使われていてそこのインパクトが。。
13.
提案:Arrow Functions // とりあえず掛け算 $pow
= fn($x) => $x * $x; var_dump( $pow(10) ); //=> int(100) // カリー化的なもの $mul = fn($x) => (fn($y) => $x * $y); var_dump( $mul(2)(3) ); //=> int(6) // もちろん型宣言もできるよ $intSum = fn(array $ary): int => array_sum(array_map(intval, $ary)); var_dump($intSum([1.1, 2.2, 3.3, 4.4, 5.5])); var_dump(array_sum([1, 2, 3, 4, 5]) === $intSum([1.1, 2.2, 3.3, 4.4, 5.5]));
14.
提案:Arrow Functions // 過激な操作もワンライナーできるよ!(やめろ) $flatten
= ($__f = fn($ary, $__f) => array_reduce($ary, fn($c, $i) => array_merge($c, (is_array($i) ? $__f($i, $__f) : [$i])), [])) ? fn($ary) => $__f($ary, $__f) : 0; var_dump( $flatten([1, [2, 3, [4, 5, 6]], [[[[7]]]]]) ); //=> [1, 2, 3, 4, 5, 6, 7]
15.
提案:Arrow Functions // 複文も欲しいけどもっと未来の話なんだ(参考実装なし) $x
= fn($x) => { // Syntax Error! $a = $x * 2; $b = $x * 2; return $b; };
16.
提案: Arrow Functions 実は2015年にも提案されていたが投票で却下
やりとりなどMLにあるっぽい? 追っていませんごめんなさい.. 投票結果は 22/30 Short Closures という名前で出ている // こういう書き方 array_map($x ~> ($x * 2), $input);
17.
提案: Arrow Functions ちょっとだけ使ってみて。
激しい実装はするな(読めない) そもそもクロージャ、コールバックという機会がPHPは 少な目なので入っても大活躍しないのでは…? フレームワークとか Collection ゴリゴリなとこは嬉し いと思う!
18.
(紹介2)Pipe Operator
19.
提案:Pipe Operator メソッドチェインあると思うんですよー
例)(new Query)->where()->order()->limit(); でもチェインできずバケツリレーも多い! 例)$hoge = where(new Query); $hoge = order($hoge); $hoge = limit($hoge); ※提案ではフレームワークでありそうなHTTPレスポンスを作るまで、 が紹介されてます。 ※今回はわかりやすく?雑な?例を挙げました…
20.
提案:Pipe Operator そこで Pipe
Operator ですよ 例) $hoge = where(new Query) |> order($$) |> limit($$); 「$$」すごーい! わかりづらいがな。
21.
提案:Pipe Operator ファイルを探す! $ret
= scandir($arg) |> array_filter($$, function($x) { return $x !== '.' && $x != '..'; }) |> array_map(function ($x) use ($arg) { return $arg . '/' . $x; }, $$) |> getFileArg($$) // ファイル情報取得 |> array_merge($ret, $$);
22.
提案:Pipe Operator ちょっとだけ使ってみて。 メソッドチェインじゃないのにメソッドチェイン感
結構ヨサソウ 個々の行が長いとやっぱり読みにくい でもそういうのが乱立する時代になりそう(実装されたら)
23.
提案:Pipe Operator $x =
Hoge() |> array_map(function(){ // // // // // // }, $$) |> …
24.
PHPの未来をソースも併せて見た結果wwwww どういう実装でPHPが動いているかも気になっちゃったんだよ…
25.
今日の話 PHP 7.2 で入るかもしれないし
7.3 かもしれないし もっと未来で入るかもしれない… そんな新しい機能をちょっとだけ紹介するよ (タイトルそのまま) ※php-coreは本当にしらないのでそういう話はしません php-coreめっちゃ興味わいてきた 💪(‘ω’💪)
26.
ほかにも面白そうな機能が提案されているので RFC を見てみよう! 一個ずつじっくり見てたらめっちゃ疲れたので2つしか見てません。。
Baixar agora