PHPカンファレンス沖縄2022 プロポーザル一覧

LT 5分

誰でも簡単に始められるBDD(ビーチ駆動開発)のススメ

kanbo0605 カンボ@沖縄 kanbo0605

私の会社では、沖縄で半年に一回、開発合宿を主催しており、その中で海辺で開発をした話をします。
実際、海辺でビーチ駆動開発をしてどうだったか?開発は捗るのか?支障はないのか?注意点などを話させて頂きます。

LT 5分

Laravelで始めるUuidTraitの使い方

kanbo0605 カンボ@沖縄 kanbo0605

データベースのテーブル定義をしてて、こんな事ってないですか?
・まだ始めたばかりのサービスでユーザ数を知られたくない。
・ユーザIDが連番になっていて、ハックされそうで怖い。

このようにユーザIDを公開したくない場合に、推測されにくいIDがuuidです。
UuidTraitを作って、Modelクラスでuseするだけでuuidの生成ができます。
このセッションでは、UuidTraitの作成から使い方までを説明します。

レギュラートーク 10分

LaravelのEloquentモデルイベントってどんな時に使うの?

kanbo0605 カンボ@沖縄 kanbo0605

LaravelのEloquentモデルイベントって何?という人も多いかもしれません。私も知ったのは去年くらいで、それまでは知りませんでした。

このモデルイベントは、モデルでcreate、save、delete,、updateなどの操作をした際のイベントを指しています。そして、これらのイベントを実行する際、合わせてなんらかの処理を行わせたい場合に使用します。
例えば、モデルのデータを新規作成する際にはdateカラムに現在の日付を初期値として入れたい時などに使用します。

他にも実際にどのようなケースでモデルイベントを使用するケースがあるのか、モデルイベントの注意点などを話していきます。

レギュラートーク 10分

symfony/pantherでWordleを解いてみた

ttskch たつきち ttskch

symfony/pantherはブラウザテストやWebスクレイピングを行うためのライブラリです。
Symfonyに限らずあらゆるPHPプロジェクトに統合して利用することができます。

ところで、少し前にWordleというゲームが大流行しました。
WordleはWebベースのゲームなので、ヘッドレスブラウザを使えばプログラムで機械的に解くことが可能です。

というわけで、今回はsymfony/pantherを使ってWordleを解くプログラムを実際に作ってみます。
このトークでは、その実装内容の説明を通して、symfony/pantherの基本的な使い方をご紹介できればと思います。

レギュラートーク 30分

symfony/pantherでWordleを解いてみた

ttskch たつきち ttskch

symfony/pantherはブラウザテストやWebスクレイピングを行うためのライブラリです。
Symfonyに限らずあらゆるPHPプロジェクトに統合して利用することができます。

ところで、少し前にWordleというゲームが大流行しました。
WordleはWebベースのゲームなので、ヘッドレスブラウザを使えばプログラムで機械的に解くことが可能です。

というわけで、今回はsymfony/pantherを使ってWordleを解くプログラムを実際に作ってみます。
このトークでは、その実装内容を説明しつつ、symfony/pantherの基本的な使い方もご紹介できればと思います。

1
レギュラートーク 10分

API Platform超入門

ttskch たつきち ttskch

API Platformは、Symfony + DoctrineをベースとするPHP製のオープンソースAPIフレームワークです。
Symfonyアプリケーションにアトリビュート(アノテーション)を1行追加するだけで一瞬でREST APIを生成できてしまう優れもので、Symfonyのエコシステムにおいてはすでに決定版と言える存在となっています。

このトークでは、実際に動作するデモをお見せしながら、API Platformの概要をご紹介できればと思います。

レギュラートーク 30分

API Platform入門

ttskch たつきち ttskch

API Platformは、Symfony + DoctrineをベースとするPHP製のオープンソースAPIフレームワークです。
Symfonyアプリケーションにアトリビュート(アノテーション)を1行追加するだけで一瞬でREST APIを生成できてしまう優れもので、Symfonyのエコシステムにおいてはすでに決定版と言える存在となっています。

このトークでは、API Platformの導入方法から、Data Provider・カスタムコントローラ・Data Persisterといった重要な基本機能の概要までを、実際に動作するデモをお見せしながら一通りご紹介できればと思います。
皆さんにAPI Platformの概要を知っていただき、少しでも興味を持っていただければ幸いです!

1
レギュラートーク 10分

カンファレンススピーカー入門〜登壇するぞ!って決めてからトークするまで〜

みなさんはカンファレンスで登壇したことがありますか?
カンファレンスで登壇をしているスピーカーは、様々な過程を経てみなさんの前でトークをしています。例えば採択前ならネタ決めやプロポーザル、採択後ならスライド作成・トーク練習などの準備・・・
このトークするまでの過程は、人によって違うところもあり暗黙知であることが多いように思えます。

そこで今回は、過去に私がPHP系カンファレンスにて登壇した内容を例にしつつ、自分がカンファレンスで登壇するまでに準備していることを話します。
まだ登壇したことがない方はもちろん、登壇したことがある人も良いところを取り入れられるきっかけになれば幸いです!

具体例を交えつつ、以下のことについて触れる予定です!
・プロポーザルを出す時にどんなことを考えているのか?
・トークするまでの準備はどういうことをしてるのか?

レギュラートーク 30分

実践PHPStan

tadsan うさみけんた tadsan

近年、PHPプロジェクトの品質を高めるためのツールとしてPsalmやPHPStanのような静的解析が開発現場にも取り入れられています。
このトークでは静的解析ツールの中でもPHPStanの型と機能にフォーカスして、PhpStormと共存しながら、詳細な型を付けるための手法について具体的な事例と改善例を挙げて紹介します。

  • 外部との入出力の型付け
  • 配列との付き合い方
  • 曖昧な型を狭める方法
  • 古いPHPとの互換性