近年、PHPプロジェクトの品質を高めるためのツールとしてPHPStanのような静的解析ツールが導入されるケースが増えています。
しかしながら、PHPStanをただ単に導入しただけではバグを完全に潰すには足りません。
PHPStanに新たなルールを加えて、更に厳しくするためのPluginがphpstan-strict-rulesです。
PHPには厳密性に欠ける関数が散在します。
例えば、 in_array
に第三引数を渡さないと厳密性が損われるので警告を出してくれるといったものです。
phpstan-strict-rulesを普及すれば、誰もが安心して開発できる環境が整うと信じています。
「良いテストを作る」もしくは「より信頼できるコードのためのテストを書く」という夢があります。
例えば、「アプリケーションコードを破壊した時、テストが気付けるかを知る」「色々な入力を渡して、どういう組み合わせで変になるかを知る」なんて面白そうですよね?
その為のテスト手法があり、開発されたツールがあります。
PHPでの例を取り上げながら、それはどんなにエキサイティングか?を覗いてみましょう。
本トークには、サンプルコードや動作の様子が含まれます。聴講者は、これらの手法やツールの書き味や世界観も味わえるはずです。
もし上手く現場に導入できたなら、コードやテストに対する信頼性をガバっと上げるきっかけになるかも知れません。
皆さんはRepositoryパターンは使われておりますか?使われている方は適切な使い方はできておりますでしょうか?自分はこれまで色々と失敗してきました。。
失敗してきた中でようやく適切な使い方が腹落ちして来ました。今回のトークでは、Repositoryパターンはどのように使えば良いのかを自分の経験をもとにお伝えしていきたいと思います。
PHP8がリリースされ、追加された関数の1つにあるmatch式。
多くの場合、大体比較されるのはswitch文ですが、if文も代替できることをご存知、または知っているでしょうか?
今回の発表ではmatch式の基本と応用、発展形や本題のif文代替ケースをご紹介しながらどれだけif文とさようならができるか挑戦します。
「PHPは人生」とよく言います。
私は高々3年間PHPに触れただけのいわばPHPer見習いですが、大学1年から3年という人生の節目をPHPと共に過ごしてきました。
PHPでの個人開発、PHPでのアルバイト、PHPでのインターンシップ、PHPでの就活……
と大学1年にPHPと出会い、大学3年を終えようとしている現在までのPHPとの向き合い方や考え方の変化についてお話できればと考えています。
私なりの「PHPは人生」の想いをお伝えすることができれば幸いです。
AWS App Runner PHP8.1がサポートされました!
AWSにてマネージドにPHPを利用できる環境として、注目が集まるAWS App Runnerですが、
Production利用は可能なのでしょうか。
AWS Lambda PHPのProduction利用の回数も重ね、
マネージドPHPのノウハウが少しずつ溜まってきたので、
そのノウハウとも比較しながらAWS App Runnerの可能性を探ります
お話すること
想定する聴講者
エリック・エヴァンスの『ドメイン駆動設計』日本語版から11年。後発の書籍も多数出版され、各カンファレンスでDDDについて話す人も増えてました。PHPerの中にも実際にDDDで開発する(?)・DDDを実践する(?)人や組織も増えてきたと思います。
約10年前、まだPHPerでDDDを学ぶ人が少なかった頃から、私はPHPメンターズの指導を受けてDDD本を読み、楽しみながら・苦しみながらDDDを意識して開発してきました。コードサンプルを交えながら、実際にやってきた中で学んだこと、世間のDDDに対する言説に対して思うことについてお話しします。
皆さんのチームではコーディング品質はどう担保されておりますか?ガイドラインを策定されたり、人の目でチェックしてたりかと思われます。
PhpStormの機能である程度のコード品質の担保はできるものの、人力に頼ってしまっている方もいると思います。そこでツールをうまく組み合わせて人力を極力排除できる方法を共有したいと思っております。コード品質改善の足がかりになれば嬉しいです。
「ユニットテスト難しいね」「上手くなれるならそのヒントをくれ」と叫んだ事はありませんか?
「xUnit Test Patterns(xUTP)」という分厚くて厳つい本があります。
「どうしたら読みやすく、メンテナンスしやすいテストを書けるのか」をまとめた本です。
これを読むと「テストに自信を持てる」ようになります。
このセッションでは、xUTP未読者に向けて、「xUTPってどんな本?」を紹介して、皆さんが「テストと仲良くなるためのヒントがこの中にあるのか?」と興味を持ってもらうきっかけを提供します。