最近のPHP関連の話題として、2019年末にリリース予定のPHP 7.4の新機能を中心に、PHP 8.0で計画される新機能についても紹介します。
--
廣川類
1996年からPHPマニュアル日本語訳を手掛け、mbstringエクステンションの開発・メンテに従事。PHP徹底攻略シリーズ(通称:マンモス本)の著者であり、日本PHPユーザ会の創設メンバー。
全国に広がるPHPコミュニティ、北は北海道から南は沖縄まで!地域コミュニティ代表が、その地域ならではのイベントの特色や楽しみ方、はたまた運営に関する悩みまで・・・ここでしか話せないPHPコミュニティ事情を赤裸々に語り合います。
●出演コミュニティ
PHP勉強会@東京, PHPerKaigi, Laravel Meetup Tokyo, PHPカンファレンス北海道, PHPカンファレンス仙台, Nagoya.php, Kansai PHP UG, 山陰ぺちぱーず, Fukuoka.php, PHP沖縄, SunshinePHP(マイアミ)
みなさんは PHP で並列処理や非同期処理をする方法を知ってますか?以前は pthreads といった拡張機能があり、 PHP で並列処理を実現するには主にこの拡張を使用していました。一方で非同期処理に関しては、libevent だったり最近だと Swoole が注目されており、容易に PHP で非同期処理を行うことができます。
pthreads はデータの受け渡しが難しかったり、導入にはいくつかのハードルがありましたが、Swoole は一般的な拡張機能の導入の方法がほぼ同じなため導入しやすいです。
本セッションでは、 phtreads と Swoole を比較しつつ、実際に今まで触れてきたり、 pthreads の導入に挫折はしたもののプロダクションに導入しようとしたり、
Swoole を使って実際にアプリケーション開発をした過程をノンフィクションでトークできればと思います。
Chatworkでは10年近く前から運用されているプログラムがメインのシステムとして稼働しておりますが、近い将来に限界を迎えそうになっています。
システムがなぜ限界を迎えるのか、どういうタイミングで限界が訪れるのか。長く運用されているシステムだからこその理由や、PHPだからこその事情を踏まえ、将来に向けて継続的にシステムを運用していくために今後どうしていこうとしているのか について話します。
日本の開発者の間でドメイン駆動設計の話題が盛り上がっています。
ドメイン駆動設計の話が出てくるたびに「モデルとはなにか」という話がでてきますが、多くの話は実装に寄った話になりがちです。
Model-View-Controllerパターン提唱者のトリグヴェ・リーンスカウク博士は「モデルは知識の表象である」と定義しています。
このトークでは、「モデル」とはそもそも何であるのかについて、リーンスカウク博士のModel-View-Controllerパターンを参照しながら詳しく検討します。開発以前にどんな基本的な問題が存在し、何を解決するべく「モデル」という概念は提示されたのか?についてお話します。
PHPカンファレンス恒例の本当の初心者向けセッションです。どのような言語か、どのような特徴があるのか、どのように学習していったらいいか。本当の一歩目の解説を行います。デザイナーさんや多言語の経験者の方でも理解できる内容です。仕事で利用したことがある方などは対象外となります。
The secure libraries in PHP 5.x are not very useful and reliable.
Fortunately, the PHP 7.x versions save PHP developers about the secure issues (including hash and cryptography).
In this session, I share my experiences about my company projects and present how to use the modern cryptography in PHP 7.x.
BTW, this session level is for beginner to intermediate.
弊社バックエンドは、PHPエンジニアのみで開発を行なっていました。
PHPからgoへの移行を行ったところ、トレーニング、開発環境構築、障害対応など想定外の問題が発生しました。
時代の流れとともに、goへの移行が選択肢に上がるケースが増えて来ているかと思います。
これらの知見を共有することで、goに移行した方が良いケースと悪いケースを明らかにしたいと思います。
【アジェンダ】
【登壇暦】
このセッションでは本番試験間近の徳丸試験(Webセキュリティ試験)の例題解説と、只今実施中のインプレスPHP7初級試験徹底攻略本のプレゼントキャンペーン、稟議に使えるPHP市場動向を紹介します。
設計やアーキテクチャにはある種の理想という側面があります。
残念ながら現実では理想を実現する際に妥協を求められることもあります。
クリーンアーキテクチャもその類のひとつで、その理想を実現しようとするといくつもの問題にぶつかります。
たとえば定義するファイルが多すぎる問題、たとえばプレゼンターという考えがHTTPという技術にマッチしない問題……。これらの問題は致命的です。
こういった理想と現実の狭間に揺れながら現実的な解を見出すことこそアーキテクトの腕の見せ所です。
しからば致し方ない犠牲として理想を妥協するしかない――とは割り切れないのが人情です。
このトークではクリーンアーキテクチャの解説とその問題点の解説を行い、理想を追い求めてクリーンアーキテクチャの思想を元にPHP WEBフレームワークを作るというお話をいたします。
PHP で実装された Web アプリケーションでも Kubernetes 環境が使われることが増えてきました。せっかく本番環境を k8s 化したのならば、開発環境も k8s にしたくなるのが人情です。
本セッションでは、開発環境を Kubernetes で構築した経験や Tips をご紹介します。
ここ数年で向き合った「技術的」「組織的」な課題について振り返ります。
弁護士ドットコムはサービスを開始した2005年からPHPを使い続けています。
開発プロセスの整備やメンバーの入れ替わりなどを経て、紆余曲折ありながらも前進してきました。
その中で、我々は「弁護士ドットコム」という自社サービスをどのように開発・運用しているのか、事業会社としてのエンジニアリングをどのように考えているのか。
その経験や結果を再確認しつつ、現状と、そしてこれからの展望についてお話します。
PHP7はブラウザゲーム『グラブル』の大規模アクセスにも恩恵をもたらしました。
本セッションでは、PHP5.6からPHP7.2へのバージョンアップを行った際のパフォーマンス変化をお伝えするとともに、なぜ大きな効果が現れたのか、その理由を紐解いていきます。
皆さんは普段テストコードを書いていますか?もしくはこれから導入しようと奮闘していますか?はたまたテストコードというのを初めて聞きましたか?
テストコードと一口に言っても、ユニットテスト、featureテスト、APIテスト、E2Eテストなどたくさんの種類のテストコードがあります。
テストコードを導入する前に「なぜそのテストコードを書くのか」を話せることを目的として、テストそのものやテストコードについてお話ししていきます。
当セッションでは、以下のような話をする予定です。
・そもそもなぜテストを書くのか
・なぜテストコードを導入するべきなのか
・それぞれのテストコードの特徴
・それぞれのテストコードのメリットデメリット
We fear modernizing legacy applications, or going API first. But it's not as futile as you might think. With modern PHP microframeworks geared toward middleware it can be a breeze.
Now the truth: It is a terribly difficult task full of pitfalls. But I will share how to do it in a step-by-step method that makes it much more approachable, and enable you to be a super hero.
サイボウズの大企業向けグループウェアのGaroon(ガルーン)は、PHPで開発されている17年目の製品です。
PHP 4からPHP 7までアップグレードを追従したり、もともとオンプレミス製品だったものを、クラウドでも提供を行うようにしたりと、今でも現役で開発されており、サイボウズの主要製品の一つとなっています。
17年の開発の中では、多くの「歴戦の勇者」がGaroonという巨大な製品に対して、改善を試みていました。
しかしながら、他のビジネス要件やQAのテスト工数との兼ね合いから、多くの改善が軌道に乗せられていませんでした。
このような改善の難しさの一つとして、開発チームの体制の問題がありました。
プログラマーはプログラマー同士で、QAはQA同士でコミュニケーションをとることが多く、職能を超えたコミュニケーションは決められた場所・決められた人が中心になって行われていました。
そのため一つコードを改善しようと思っても、この開発体制が邪魔をして、思うように進められないことが多くありました。
そんな中、それまでのウォーターフォールでの開発から、スクラム開発に移行しました。
このスクラム開発への挑戦をきっかけに、プログラマーとQAのチーム統合や、プロダクトオーナー・ビジネスサイドとの対話が進み、今ではプロダクト開発に関わるメンバー全員でこのレガシーさに立ち向かい改善が行えるようになってきました。
このセッションでは、そんなサイボウズGaroon開発チームの経験をお話しします。
この度、株式会社グレスアベイルは、2019年8月13日に、イー・ガーディアングループへの参画を決定しEGセキュアソリューションズのグループ会社となり、それに伴い、徳丸浩が同社の社外取締役に就任いたしました。
今回は、徳丸監修のもと株式会社グレスアベイルが新たに開発した新しい概念のWAFのご紹介をとおして、クラウドネイティブ時代のセキュリティについてお話しします。
Composerは、もはやPHPの現場に無くてはならない存在です。
内部構造に興味をいだいたことはないでしょうか?
ソースコードを読みましょう。今まで良く分からなかった「このエラーって何💢」に親しみを感じるかも知れません。
このセッションでは、 composer install
を例にして、パッケージ名の解決・バージョンの解決・.lockファイルの吐き出しといった普段利用するComposerの挙動を読み解いていきたいと思います。
In this keynote, follow Sebastian Bergmann, creator of PHPUnit, on a journey through the history of PHP in general and PHPUnit in particular.
Learn why he created a testing framework, what has shaped PHPUnit's evolution over the course of two decades, and what the future may have in store.