Soumettre la recherche
Mettre en ligne
いまどき(これから)のPHP開発
•
1 j'aime
•
4,066 vues
K
Kenjiro Kubota
Suivre
Shizuoka.php #1
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 47
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
Kenjiro Kubota
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
JIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
gRPC入門
gRPC入門
Kenjiro Kubota
Recommandé
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
Laravelでfacadeを使わない開発
Laravelでfacadeを使わない開発
Kenjiro Kubota
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
JIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
gRPC入門
gRPC入門
Kenjiro Kubota
日本語テストメソッドについて
日本語テストメソッドについて
kumake
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
KeioOyama
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
増田 亨
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
Yuto Komai
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
AWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメする
Taichi Inaba
Javaバイトコード入門
Javaバイトコード入門
Kota Mizushima
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
sasezaki
Laravelとテストについて
Laravelとテストについて
Takeo Noda
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
第55回PHP勉強会
第55回PHP勉強会
Hideyuki Shimooka
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
株式会社 オープンソース・ワークショップ
Contenu connexe
Tendances
日本語テストメソッドについて
日本語テストメソッドについて
kumake
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
KeioOyama
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
増田 亨
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
Yuto Komai
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
AWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメする
Taichi Inaba
Javaバイトコード入門
Javaバイトコード入門
Kota Mizushima
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
sasezaki
Laravelとテストについて
Laravelとテストについて
Takeo Noda
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
Tendances
(20)
日本語テストメソッドについて
日本語テストメソッドについて
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
PHP AST 徹底解説
PHP AST 徹底解説
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
AWS CDKに魅入られた PHPer がオススメする
AWS CDKに魅入られた PHPer がオススメする
Javaバイトコード入門
Javaバイトコード入門
HTTP/2 入門
HTTP/2 入門
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Docker Compose 徹底解説
Docker Compose 徹底解説
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
Laravelとテストについて
Laravelとテストについて
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Similaire à いまどき(これから)のPHP開発
第55回PHP勉強会
第55回PHP勉強会
Hideyuki Shimooka
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
株式会社 オープンソース・ワークショップ
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
株式会社 オープンソース・ワークショップ
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Yuuki Takezawa
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
Hiroyuki Yamaoka
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
Tetsuji Koyama
HTML5でOpen Dataをやってみた
HTML5でOpen Dataをやってみた
Masakazu Muraoka
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
Kenichi Mukai
Web開発の 今までとこれから
Web開発の 今までとこれから
Shinichi Takahashi
RFC: "var" Deprecation
RFC: "var" Deprecation
y-uti
PHPカンファレンス2015
PHPカンファレンス2015
Daisuke Kasuya
Ha4goもくもく報告2016年11月分
Ha4goもくもく報告2016年11月分
Masayuki KaToH
YAPC::Asia2015
YAPC::Asia2015
Masaru Hoshino
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
Kei IWASAKI
anything-php-funcref-perl.el
anything-php-funcref-perl.el
Kenichirou Oyama
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
do_aki
PHP matsuri 参加レポ
PHP matsuri 参加レポ
mikakane
FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Shohei Tai
OSC福岡 20111203
OSC福岡 20111203
Hiroshi Bunya
Similaire à いまどき(これから)のPHP開発
(20)
第55回PHP勉強会
第55回PHP勉強会
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
エンジニア×デザイナー GitHubで変わるコミュニケーション(PHPカンファレンス2014 P4Dセッション)
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
HTML5でOpen Dataをやってみた
HTML5でOpen Dataをやってみた
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
ライブラリ・ファースト 第91回 PHP勉強会@東京 #phpstudy
Web開発の 今までとこれから
Web開発の 今までとこれから
RFC: "var" Deprecation
RFC: "var" Deprecation
PHPカンファレンス2015
PHPカンファレンス2015
Ha4goもくもく報告2016年11月分
Ha4goもくもく報告2016年11月分
YAPC::Asia2015
YAPC::Asia2015
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
たった一ファイルの python スクリプトから始めるOSS開発入門 / PyCon JP 2016
anything-php-funcref-perl.el
anything-php-funcref-perl.el
20110910 闇鍋的php魔改造
20110910 闇鍋的php魔改造
PHP matsuri 参加レポ
PHP matsuri 参加レポ
FuelPHP活用事例
FuelPHP活用事例
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
OSC福岡 20111203
OSC福岡 20111203
Plus de Kenjiro Kubota
アイスタイル特設サイトにおけるVue.js導入事例(再演)
アイスタイル特設サイトにおけるVue.js導入事例(再演)
Kenjiro Kubota
アイスタイル特設サイトにおけるVue.jsの導入事例
アイスタイル特設サイトにおけるVue.jsの導入事例
Kenjiro Kubota
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
Kenjiro Kubota
フロントエンドエンジニアが知るべきFirebaseの世界
フロントエンドエンジニアが知るべきFirebaseの世界
Kenjiro Kubota
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
Kenjiro Kubota
カメラを利用したアプリを作って約1000人で遊んだ話
カメラを利用したアプリを作って約1000人で遊んだ話
Kenjiro Kubota
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
FirebaseとNuxtでLPを作って見た
FirebaseとNuxtでLPを作って見た
Kenjiro Kubota
introducing vue-wait-component
introducing vue-wait-component
Kenjiro Kubota
HHVM/Hackを本番投入した話
HHVM/Hackを本番投入した話
Kenjiro Kubota
HackのAsyncCurlで死んだ話
HackのAsyncCurlで死んだ話
Kenjiro Kubota
LaravelでAPI定義を管理する
LaravelでAPI定義を管理する
Kenjiro Kubota
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
Kenjiro Kubota
Introducing hhvm hack-async
Introducing hhvm hack-async
Kenjiro Kubota
Responsableを使ったadr実装
Responsableを使ったadr実装
Kenjiro Kubota
土日でLineみたいなチャット作ってきた!
土日でLineみたいなチャット作ってきた!
Kenjiro Kubota
Viewを活用して複雑化と戦う
Viewを活用して複雑化と戦う
Kenjiro Kubota
Laravel aspectで関心の分離
Laravel aspectで関心の分離
Kenjiro Kubota
Plus de Kenjiro Kubota
(18)
アイスタイル特設サイトにおけるVue.js導入事例(再演)
アイスタイル特設サイトにおけるVue.js導入事例(再演)
アイスタイル特設サイトにおけるVue.jsの導入事例
アイスタイル特設サイトにおけるVue.jsの導入事例
Akkaとは。アクターモデル とは。
Akkaとは。アクターモデル とは。
フロントエンドエンジニアが知るべきFirebaseの世界
フロントエンドエンジニアが知るべきFirebaseの世界
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
PHP,Go,Elasticsearchによる、@cosmeを5倍速くする取り組み
カメラを利用したアプリを作って約1000人で遊んだ話
カメラを利用したアプリを作って約1000人で遊んだ話
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
FirebaseとNuxtでLPを作って見た
FirebaseとNuxtでLPを作って見た
introducing vue-wait-component
introducing vue-wait-component
HHVM/Hackを本番投入した話
HHVM/Hackを本番投入した話
HackのAsyncCurlで死んだ話
HackのAsyncCurlで死んだ話
LaravelでAPI定義を管理する
LaravelでAPI定義を管理する
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
Introducing hhvm hack-async
Introducing hhvm hack-async
Responsableを使ったadr実装
Responsableを使ったadr実装
土日でLineみたいなチャット作ってきた!
土日でLineみたいなチャット作ってきた!
Viewを活用して複雑化と戦う
Viewを活用して複雑化と戦う
Laravel aspectで関心の分離
Laravel aspectで関心の分離
いまどき(これから)のPHP開発
1.
いまどき(これから)のPHP開発 Shizuoka.php#1 @kubotak_public
2.
Profile. ~ 2015/08
istyle.inc 久保田 賢二朗 ● PHP(Laravel/Phalcon) ● JavaScript(Vue.js/Svelte) ● Go ● Scala kenjiro kubota @kubotak_public テクノロジー本部 R&D部 技術開発部 チーフエンジニア Laravel JP Conference 2020 コアスタッフ / RoppongiDesignersメンバー
3.
Profile. 実家の紹介 株式会社 久保田石材 創業88周年 お墓・墓石・記念碑など
4.
今日のテーマ 久しぶりにPHPの門を叩いたPHPerが考える いまどき(これから)のPHPアプリケーションの開発について いまどき(これから)はもっとこんな開発だよ! というご意見・知識をお持ちの方はぜひ懇親会で教えて下さい!
5.
今日話すこと いまどき(これから)のPHPでの開発とは・・・? 1. PHP7.4 2. 開発環境 3.
周辺ツール
6.
PHP7.4
7.
PHP7.4 2019年11月28日リリース予定 現在はBeta版が利用可能
8.
主な変更・追加 ● 配列式のスプレッド演算子 ● アローファンクション ●
null合体演算子 ● 型付きプロパティ ● 共変戻り型と反変パラメータ ● プリローディング
9.
配列式のスプレッド演算子 PHP5.6以降で利用可能な引数のアンパック
10.
配列式のスプレッド演算子 配列にも使えるようになる!
11.
配列式のスプレッド演算子 array_merge不要
12.
配列式のスプレッド演算子 関数でもいける。
13.
アローファンクション 無名関数を短く書ける
14.
アローファンクション 親スコープの変数をキャプチャできるのでuse文が不要
15.
アローファンクション 複数行での処理は書けないので既存の無名関数を置き換えできるものではない
16.
null合体演算子 PHP7以降で可能になった合体演算子
17.
null合体演算子 $aが未定義やnullなら’none’
18.
型付きプロパティ void, callable以外の型を指定可能
19.
共変戻り型と反変パラメータ 反変 共変 最初に指定された型よりも強い派生型を使用できる 最初に指定された型よりも弱い派生型を使用できる
20.
共変戻り型の例
21.
反変パラメータの例
22.
プリローディング 事前にバイトコードをキャッシュして高速に利用で きるようにする仕組み OPcacheと異なり、ファイルの変更感知をしない。 Webサーバを再起動しない限りキャッシュを保持し 続ける。
23.
プリローディング php.iniにpreload定義を記述したphpファイルを指定
24.
プリローディング php.iniで指定したphpファイルにはキャッシュしたい phpファイルを記述する
25.
開発環境
26.
10年前くらいの開発環境 ● リモートサーバ ● XAMPP ●
MAMP ● Aptana ● Eclipse+PDT 統合開発環境(IDE)・エディタ
27.
いまどきの開発環境 ● docker-compose(Docker) ● PhpStorm ●
Visual Studio Code 統合開発環境(IDE)・エディタ
28.
docker-composeとは 複数のDockerコンテナで構成されるアプリケーションの、 Dockerイメージのビルドや各コンテナの起動・停止などを より簡単に行えるようにするツール。 docker-compose.ymlを記述することで構成を管理する
29.
(例)docker-composeでPHPアプリケーション ● Nginx ● php-fpm ●
MariaDB ● Memcached
30.
ディレクトリ構成
31.
docker-compose.yml
32.
Nginx php-fpm MariaDB Memcached
33.
周辺ツール
34.
Xdebug PHPをリモートデバッグできるツール これ自体はいまどきでもこれからでもなく、10年前から存 在している。 docker-composeと合わせて使うのが簡単だったので紹介
35.
Dockerfile
36.
PHPStan PHPを静的解析できるツール 似たようなものにPhanがある。 ● 構文エラーがないか ● 引数は適切か ●
未定義のものにアクセスしていないか ● 型は適切か ● PHPDocと乖離がないか
37.
phpstan.neon
38.
Deptrac 定義通りの依存関係になっているかをチェックするツール 似たようなものにdependency-analyzerがある。
39.
例えばレイヤードアーキテクチャ UI(Presentation) Application Domain Infrastructure 依存の方向は上から下 このルールを守らせるにはどうしたらよいか。
40.
雑なディレクトリ構造
41.
depfile.yml
42.
depfile.yml
43.
depfile.yml
44.
定義に違反していないかチェック
45.
まとめ
46.
● PHP7.4はすぐそこ!使いこなそう! ● 本番は物理だったとしても開発環境は 仮想化しよう! ●
CIツールを効果的に使おう
47.
thx:)
Télécharger maintenant