採択
2023/03/25 13:30〜
Track A
レギュラートーク(20分)

PHPの配列の内部実装について学びたくなった。

app1e_s meihei

「PHP の配列は、実際には順番付けられたマップです。」

この愛おしい文章から始まるPHPの配列は、PHPerにとって切っても切れない関係です。そんな大事な配列のことを、私達はどれほど知っていますか?

配列の内部実装の話はPHP7がリリースされた頃に多く語られてきたかと思います。しかし、2015年に私はPHPを触ってもいません!

PHPでお仕事をして3年目、これを機に配列を学び、内部実装を読み解いていこうと思います。

想定する対象者

  • PHPの配列が好きな人
  • PHPの内部実装について興味がある人
  • PHP5.x ~ 7.xの人

話すこと

  • 配列・連想配列の話
  • PHP 5 → 7 の配列・連想配列の話
  • 他の言語との比較(出来たら)

話さないこと

  • 実用的な配列の使い方
  • キャッシュ周り
採択
2023/03/25 13:30〜
Track B
レギュラートーク(40分)

Laravelへの異常な愛情 または私は如何にして心配するのを止めてEloquentを愛するようになったか

KentarouTakeda 武田 憲太郎

Laravelは、PHPの中で最も利用者数が多い一方で賛否両論のあるフレームワークでもあります。中核機能であるEloquentもまた疑問を投げかけられることの多い対象です。

・Eloquentは果たして使うべきなのか?
・Laravelの何が便利なのか解らない。

私も最初そう感じつつ、数多くの開発を経てLaravelにおける驚くような生産性を手に入れることができました。使うべき機能、そうでない機能、実装のベストプラクティス、本番運用を含むコンテナ構築、これら「Laravel Way」を幅広くご紹介します。

苦労しながらLaravelを使っている方に是非ともお伝えしたい内容です。

採択
2023/03/25 14:30〜
Track A
LT(5分)
オンライン登壇

【実録】「PHP_CodeSniffer」で始める快適コードレビューライフ

森下 繁喜

みんさんはLinterを導入されていますか?
・実装時のコーディング規約・ネーミング規約のチェック漏れが発生し、指摘対応・再レビューに工数がかかる
・コードレビュー時にコーディング規約・ネーミング規約の確認が面倒くさい
このような悩みを持たれている方は少なくないと思います。

「PHP_CodeSniffer」を導入することでそのような悩みを解決できるかもしれません!
そこで本セッションでは、「PHP_CodeSniffer」を導入したときの「実際にやって困ったこと」「やってみて初めて分かったこと」など
体験談を交えながら話していきます。

具体的には以下のような内容について話をする予定です。
・「PHP_CodeSniffer」とはなにか?
・「PHP_CodeSniffer」を導入するに至った経緯
・「PHP_CodeSniffer」を導入してみて

採択
2023/03/25 14:35〜
Track A
LT(5分)
オンライン登壇

他言語と比較して今こそ理解しよう!目指せ、列挙型マスター! ~なりたいな ならなくちゃ 絶対なってやる!~

soachr そーく

列挙型がPHP8.1でリリースされて約1年が経ちました。
みなさんの現場で列挙型はうまく活用されていますか?

本トークではJava, pythonなど、他言語の列挙型の仕様と比較しながら、
PHPにおける列挙型の役割や使い方を解説します。

このトークを聴いて貴方も列挙型マスター!
列挙型を使いこなしてより楽しく、そして安全なシステム作りをしていきましょう!

採択
2023/03/25 14:40〜
Track A
LT(5分)

PsySHを使った効率的なデバッグ方法について

Fendo181 EndoFutoshi

皆さんは普段どのようにデバッグをしてますでしょうか?
var_dumpは勿論、echoなどを普段使うと思います。
ただ、毎回デバッグする度にブラウザで実行したり、スクリプトを実行して結果を待つのは手間です。
ブレイクポイントを貼って検証をしたり、実行前の変数の中身を素早く確認したいときがあると思います。
そこで「PsySH」の登場です!
このLTでは「PsySH」の導入から使い方を通じて、効率的なデバッグ方法について紹介します

採択
2023/03/25 14:45〜
Track A
LT(5分)

PHP8.xの新機能を使ってよい良いコードを書こう!

SAshunchan 山藤駿亮

7.xのコミュニティーによるサポートが終わり8.xが今後のPHPの中心となる中、このLTではPHP8.xで追加された機能を紹介しながらその特徴についても紹介する。このLTで紹介する新機能は「match式」、「名前付き引数」、「コンストラクタ」の3つでそれぞれの基本的な書き方を紹介する他に、7系との処理の比較を行うことで新機能を使用することのメリットと注意点などについて紹介する。このLTの目的は8.xの新機能に関する参加者の理解を深めることで8.xの使用に対する参加者のモチベーションを上げること。このLTを通し、PHPのバージョンアップに対しての参加者の意識をよりポジティブにすることでPHPの関心を高めていきたい。

採択
2023/03/25 14:50〜
Track A
LT(5分)

可能な限り確実にmkdirを成功させるには

oogFranz すぎやま@MASH弦楽団

みなさんはPHPからディレクトリを作ったことはありますか?
PHPには mkdir というファイルシステム関数があるため、ディレクトリを作成するのに困ることは少ないかもしれません。
しかしながら、パスの指定方法や実行タイミング、パーミッションの指定方法を正しく理解していないと、
mkdirでエラーが発生したり、思った通りのディレクトリが作成されなかったりします。
このトークでは、ラッパー関数を作成しながらmkdirだけでもどのような問題が発生する可能性があるのかをお話しします。

採択
2023/03/25 14:55〜
Track A
LT(5分)

あなたはPhpStormくんのショートカットキーを何個知っている?

kotomin_m ことみん

PHPerの皆さんが仲良しのIDE、PhpStormくん。
そんなPhpStormくんにはたくさんの機能があり、多くのショートカットキーが割り当てられています。

このLTでは、PhpStormくんの様々な機能のショートカットキーを、時間が許す限りたくさん紹介します!!
デフォルトで設定されているショートカットキーはもちろん、私自身がカスタマイズして使っているショートカットキーも紹介します。

PhpStormくんとまだお話したことがない(まだ使ったことがない)方にもいろんな機能を知っていただき、魅力をお伝えできればと思います。

採択
2023/03/25 15:20〜
Track A
LT(5分)

初めてIT勉強会を開催するなら知っておくべき5選!〜PHP勉強会@東京や社内勉強会の運用からの知見〜

mukaken mukaken

PHPerKaigiで得た知見を社内に共有するために、勉強会を開催しようと意気込んでる方!
実際の会場で勉強会をしたいが、何かトラブルがおこらないか不安な方!

そんな方に、リアル会場でのイベント運用方法から機材の事、5選です!
内容は、PHP勉強会@東京や自社の社内勉強会で実践・運用している事です。

●運用
集客、タイムテーブル、参加者の満足度を上げる方法など、運用して成功、失敗した事。

●機材
プロの配信エンジニアに教えてもらった、よくおこるトラブルの対処法で、私がおこなっている事。

20分発表とLTは違う種類のマイクを使った方がいい?
実は、ハンドマイクは扱いが凄く難しい。では、扱いの簡単なマイクの種類とは何か?

発表者の持ち込みPCがスクリーンに映らないトラブルを減らす方法は?
トラブルが起こりにくいメーカーのケーブル、コネクタ、コンバーターの紹介。

採択
2023/03/25 15:25〜
Track A
LT(5分)

PHPマジックメソッドクイズ!

YKanoh65 加納悠史

PHPに存在する "魔法のような" メソッド「マジックメソッド」。
普段はあまり気にしなくても、フレームワークやライブラリのコードを読むときに、見慣れないメソッドが出てきて処理を追う手が止まってしまったことはありませんか?
一つ上のPHPerになるために、これを機にマジックメソッドについての理解を深めましょう!!
本セッションではいくつかのマジックメソッドについて、クイズ形式でその効果や利用方法を説明します。

採択
2023/03/25 15:30〜
Track A
LT(5分)

フレームワークが存在しない時代からのレガシープロダクトを、Laravelに”載せる”実装戦略

tomoki2135 廣部 知生

Laravelの登場は2011年、Cake PHP、Symfony、ZendFrameworkは2005年と、PHPのフレームワークには歴史があります。
しかし、私の開発しているプロダクトは2001年にリリースされており、そんな贅沢なものは使われていませんでした。

当然設計もレガシーで
・ビューロジックとビジネスロジックが分離されていない
・処理が上から下に流れるだけ
・共通関数を大量に抱えたファイルがある
など、とうてい現代の設計についていけそうにない状態でした。

そんなレガシープロダクトを、Laravelで動くようにした実装戦略を、”載せる”をキーワードにお話したいと思います。

採択
2023/03/25 15:35〜
Track A
LT(5分)

クイズを作ってPHPに親しむ

yammerjp やんまー

PHPのコードを書いたり読んだりするだけでなく、PHPに関するクイズを作ったり解いたりすることも、PHPに親しみ、詳しくなるための手段の一つです。

新卒2年目の新米PHPerである発表者が、周りの助けを借りながら、イベント向けに作問した経験をもとに、PHPに親しめた例を紹介します。
この発表では、次に示す内容を話します。

  • クイズを作ると得られるもの
  • クイズを作るときのコツ
  • クイズを作るときに気をつけること

実際に作問した問題: https://tech.pepabo.com/2022/10/05/php-conference-japan-2022-quiz/

採択
2023/03/25 15:40〜
Track A
LT(5分)

PHPのARM向け最適化の中身を見てみた

hnw hnw
hnw

我々が普段使うCPUは長いことIntel製またはAMD製でしたが、最近ではAppleのM1/M2チップなどARM環境も身近になってきました。現時点でAWS/GCP/AzureそれぞれがARMインスタンスを提供していますし、今後もARMの採用事例は増えていくと考えられます。

ARMが注目される理由は電力あたりの計算性能が高いこと、言い換えるとコストパフォーマンスが高い点でしょう。しかし、CPU単体の性能が良いとしてもCPU上で動作するアプリケーションの最適化が不十分だとその実力は発揮できません。アプリケーションまで含めて考えないとARM環境を採用すべきか判断できないと言えるでしょう。

ところで、PHPについてはARM向けの最適化が実装されています。これは2019年頃にAWSの技術者が実装したものです。本トークでは、このARM向け最適化の中身とその背景知識を紹介します。

採択
2023/03/25 15:45〜
Track A
PHPerチャレンジ解説LT(5分)

PHPerチャレンジ解説LT - サイボウズ株式会社

4x10pixels そが

https://blog.cybozu.io/entry/phperkaigi2023-sponser
の記事に記載している、PHPerチャレンジ問題の解説LTとなります。

採択
2023/03/25 16:10〜
Track A
スポンサーセッション(20分)
スポンサーセッション オンライン登壇

成瀬の挑戦状

GMOdev GMOインターネットグループ

スポンサー企画「成瀬の挑戦状」にグループメンバーが挑戦!
果たして完全クリア者は現れるのか!?
実況と解説は成瀬がお送りします。

こちらのセッションはスポンサー企画「成瀬の挑戦状」と連動しております。
セッションでは解答解説も行います。
みなさまもぜひ「成瀬の挑戦状」に挑戦して、メンバーの四苦八苦する姿をお楽しみください。

採択
2023/03/25 16:10〜
Track B
スポンサーセッション(20分)
スポンサーセッション

未来の開発者へ負債を残さないために取り組んだこと

metalic_kudo_h 工藤 颯斗

ソフトウェア開発において、負債による生産性の低下は身近に起こり得ることです。
負債はソフトウェアに直接的な影響はないため軽視されがちですが、継続開発する上で多くの場合に課題となってきます。
そんな負債に対し皆さんはどのような取り組みをしていますか?
本セッションでは、DDD導入やテスト設計の見直し、SRE活動やOASの活用など、我々が負債に対しどのように取り組んできたのか、実例と共に解説いたします。
本セッションを通じて
「負債を残さないために何をすればいいかわからない」
「他に良い方法があれば知りたい」
という方が参考にできるような時間を提供いたします。

採択
2023/03/25 16:45〜
Track A
PHPerトークン解説セッション(20分)

PHPerチャレンジ解説セッション - デジタルサーカス株式会社

nsfisis nsfisis

デジタルサーカス株式会社作成のPHPerチャレンジ問題の解説をします

採択
2023/03/25 16:45〜
Track B
PHPerトークン解説セッション(20分)

PHPerチャレンジ解説セッション - GMOインターネットグループ

GMOdev GMOインターネットグループ

GMOインターネットグループ作成のPHPerチャレンジ問題の解説をします