1. Yokohama North AM
  2. ep 49 @tadsanとPHP、PHPカン..
2021-05-20 1:08:01

ep 49 @tadsanとPHP、PHPカンファレンス沖縄について

00:06
Yokohama North AM
すいません、もう一回やり直してもいいですか?
最初からやりますか?
すいません、今までのは聞かなかったことにしてくださいと。
今、僕の目の前で録音ボタンを押せっていうのが点滅してるのを見て
まだやり直せる時間帯なんでやり直しましょう。
スイッチを聞いてた皆さんだけ。
はい、そうですね。配信何回目かな?49回目ですね。ごめんなさい。
はい、じゃあ行きます。
こんばんは、Yokohama North AM第49回です。
Yokohama North AMは、
ウェブ系エンジニアがテック系のキーワードをネタにして雑談をするポッドキャストです。
ホスト役は、自称フルサイクルエンジニアのhanhan1978です。
本日の相手は、Tadさんです。
はい、よろしくお願いします。
よろしくお願いします。
まるで初めてかのようにご挨拶をしていただいてありがとうございます。
ちょっと事故ってしまいましたが、2回目ということで。
ごめんなさい、余計なこと言わないほうがいいな。
Tadさんのご紹介をしますと、PIXIVさん所属で、
僕との関係はカンファレンスの知り合いで、
かつPHP勉強会とかでよくお会いして、
だんだん仲良くなってきたという感じですね。
待望のゲストというか、いつもカンファレンスとか勉強会で見てて、
僕が大好きなスピーカーの人が2人いて、
うずらさんとTadさんが大好きで、
情熱が体からあふれちゃってるような感じがあって、
やっぱすごいなと思って、
いつもエネルギーすごいもらえてるんで、
ぜひお話ししてみたいなと思って。
ゲストにお招きしてみました。
そんなTadさんを招いて、
今日はたっぷり1時間、
PHPとPHPカンファレンスを沖縄について話そうということですね。
では、よろしくお願いします。
PHPについてなんですけど、
PHPを始めたのが2013年。
8年目ぐらい。
僕のイメージで言うと、
相当PHPに深く突き刺さって、
生きていってる感じがするんですけど。
最初からそれぐらい深くいってたんですか?
いや、それほどではないですね。
あと深くっていうのは、
例えば私、拡張とかはあんまり触ってなくて、
PHPのスクリプトでできることが中心ですね。
確かに確かに。
昔のやつ、
PHP勉強会とかの層はあまり詳しくないです。
なるほどなるほど。
そうですね。僕はどっちかというと、
03:02
そっち系に関心があったので、
確かにそこにはタダさんはあんまり出てこないなって感じはありますね。
でもそれを最初の頃から、
PHPっていうのをどんどん調べていって。
そうですね、はい。
本当にPHPやり始めるときに、
コードを書いて保管が近ないなみたいなところが気になっていて。
確かに。
そういうところから、
PHPドックってものがあるのかとか、
いろいろ考え始めた感じですね。
2013年頃っていうと、
エディターは何使われてたんですか?
今からずっとEmacsですね。
あ、Emacsか。
はい。
最初からEmacsのPHPモードで、
EmacsでPHPモード最初から入ってないので、
ユーザーっていうか、
サードパーティー作ったものを入れるしかない感じなんですね。
なるほど。でもPHPモードって今タダさんが
メンテされていますよね。
これタダさん作成なんですか?
それとも誰かのものを引き継いで?
結構歴史的には、
もう20年以上あるようなものから派生して、
綿々と引き継がれてるような感じになってます。
それを今現在はメンテをして、
引き継いでやっていってるって感じですね。
そんな感じですね、はい。
結構他に開発者がいないというか、
僕は引き受け揃えなかったみたいなところがあって。
不幸というか、
3年ぐらい前に前のメンテナーやってた方がお亡くなりになってしまって、
そこで正式にメンテナー完全に引き継いでという感じになってます。
なんか声が異空間っていう、
異空間?
今日事故が多いぞ。
え?
あれ?声おかしいですか今?
ちょっと待ってね。
おかしいな、勘弁してほしいな今日。
分かった。ちょっと待ってくださいね。
分かりましたこれは。
多分、あれ?違うな。
あれ?なんでだろうな今日。
とりあえず聞こえたら我慢してもらおうかな。
今は直ってますねということで。
今は直ってる。
おかしいな。
ちょっと今日怖いな。
ちょっと怖いんですが、
一瞬だけ変でしたが今は大丈夫そうということなので、
ここだけ後でカットすれば大丈夫ですね。
で、何の話だったっけ?
EmacsのPHPモードの話。
引き継いだという話で。
なるほどなるほど。
じゃああれですね、補完が効かねえっていうことで、
だんだんこう。
そうですね、いろいろ深みにハマっていった感じで、
それをカンファレンスとか勉強会で話してる人もあんまりいなかったので、
06:01
じゃあ発信していこうかという感じですね。
いないですよね。
そもそもペジパーでEmacs使ってる人が少なくないですか?
そうですね、数人いますが、
あんまり声出し使ってるっていう方はいないかもしれないですね。
恥ずかしがってるのかな。
Emacsを使ってる方っていうと、
大学の研究室とかで使い始めてみたいな人がいらっしゃるけど。
そういう方いますね。
ただそこでEmacsのちゃんとした使い方を教わるとは限らなくて、
中途半端に使いにくいエディタみたいな感じで、
悪印象になっちゃうっていうのもある方ですね。
確かに。
確かにありますね。
じゃあもうそれでEmacs最初の頃、
もともとEmacsを使われてて、
PHPはこのPHPモードを入れていって、
じゃあそれをメンテする中で型の問題だとか、
そういうことで自然と。
なるほどなるほど。
そうだったんですね。
昔はPHPドック、
コメントの部分の方とか、
タグを表示する機能もなかったので、
そこを綺麗に色付くようにしてみたいな部分は、
自分が手伝ってたんですね。
なるほど、確かに。
昔、そうです。
2013年頃ってもうPHPドックって、
どれぐらい認知されてたんだろうな。
PHPドキュメンターとかもあったし、
書いてる人は気にして書いてはいたと思うんですが、
静的解析とかCIっていう形でやってる人はほとんどいなかったと思うんですね。
そうですよね、そういうの聞かないですよね、その頃は。
開発って何でやってたかな。
エクリプスだったかな。
僕の周りで言うとPHPエクリプス使ってる人か、
もしくはもう僕みたいにVMを使ってる人っていう
2大潮流ですかね。
2013年頃だと。
VMもシンタックスアイライトぐらいですね。
補完は普通にVMの補完ですよね。
出てきた文字が補完されるぐらい。
オムニ補完ってやつですね。
そう、オムニ補完しか聞かないっていう感じですね。
なるほど。
あとPHP Conference2016年とかでファンの話をしたときに
また色々調べてという感じですね。
なるほど、なるほど。
そんな感じで自然と足を踏み入れていった感じなんですね。
そうです。
そういう意味で言うと結構辻々がいますね。
PHPモードとかそういうの開発してると
PHPドキュメンタの型の書き方とかすごいセンシティブになりますよね。
最近だとあれですよね、アノテーションとか
すごい色々言われてたから大変なんだろうなパー数とか。
そうですね。
大変そうですよね。
何回もうよ逆説あったし。
なるほど、なるほど。
じゃあそうやってPHPに。
09:04
そっか、そういえばテキストエディターとかその辺の話も
すごい詳しいですよね。
詳しく、詳しいというか最低限分かれてる感じですね。
文字コードの話とか。
なるほど、なるほど。
じゃあそういうバックグラウンドがあったんですね。
テキストエディターで構文の色付けるとかって割と面白くて
一番シンプルなやつはキーワードに色付けるだけのやつ
ひざまるとかでもできる。
やつともうちょっと構造を解釈してそこに適切に色付けていく
みたいなやつとかあったりして。
PHPストームとか正直めちゃめちゃよくやってるな。
あれもめちゃくちゃよくやってます。
してますよね。
HTMLの中に入れたタグとかもきちんと色付けてくれる。
そうです。
あれはすごい。
一体どんなロジックでやってるんだろう。
何をどうやってパースしてるんだろう。
実行してるのかなとか。
実行したいと思うんですけど、
PHPストームは多分独自に構文解析してると思います。
でもそうですよね。
そうしないとああいう色の付け方できないですよね。
あとそのPHPの標準機能とトークンゲットオールっていう
軸解析のためのがあって、
それを使うことで一応色付けることもできるんですが
毎回テキスト、ファイルの中身を全部プロセスにやって
それの中身を画面に反映してみたいなのがあるので
重いんですね。
重いですよね。
そういうやり方。
昔Vimで自分で拡張を書いてみて色付けてみようと
そういうやり方をしたときがあって重くて
使い物にならないからこれですね。
いうのをやったことがあるかな。
画面に表示されている範囲を適当に正規表現で
マッチしていって色付けていくっていう方式なんで。
そうなんですか。
そうです。
なるほど。
例えばクラスファイルとかの真ん中だけとかっていう場合は
そこだけを見て色付けをするっていう。
そうです。
基本的にはそれで大丈夫なんですけれども
でっかいヒアドキュメントの真ん中とかだとそれがまずくて。
確かに。
なのでそのヒアドキュメントの中じゃないかどうかっていうのを
前とか後ろに辿って検索する必要があって
それがちょっと重くなりがちみたいなところがあって
今週パフォーマンスチューニングしてたところであります。
そういうケースがあるんですね。
エッジケースっぽいですけど
あんまりでっかいヒアドキュメントを書かないと
SQL?
っていうでっかい文字列入ってられるとか
そういうのじゃなければ大抵それでうまくいきます。
なるほど。
ただそれで色付ける必要があるんで
それでPHPの構文の細かいところ気にして調べたっていうのはありますね。
そうなんですね。
12:02
いや、たどさんの執事が分かってきたというか
だから型に厳しいのかこの人。
PHPの構文でこれは許されてるこれは許されてない
みたいな話をしてるのもそのせいです。
なるほど。
色付きの正規表現は死ぬほど書いてきたね。
そのPHPモードの中では正規表現でやってるんですか?
正規表現です。がっつり正規表現です。
いやー、それを。
大変ですね。
大変です。
すごく今ざっくりと言ってしまいましたけど。
自分以外にメンテナンス的なのが何人いるかという感じになってしまっていて。
昔、国語辞書か何かのデータがあって
先方はXMLだって言い張ってるデータがあるんですけど
XMLではないんですけど
それをパースしなきゃいけないっていう案件があって
それを全部正規表現で書いたんです。
その時も結局エッジケースがあって
そのたんびにイフ文じゃないですけど
正規表現をうまいこと最短マッチでここは切り抜けて
このトークンは外すとかやってたんで
正規表現って厳しいんですよね。
EmacsってEmacsの正規表現ですか?
そうです。はい。
いわゆるパルス語感の正規表現とかでは
文法とか記法がちょっと違います。
違いますよね。
はい。
そういうのはあります。
あるんですね。
バックトラックができれば。
そうですね。
表現力が相当違うんで。
そうですよね。
サーバーのメンテとかでグリップかけて
すごい古くてオプションが良いしかなくて
ああ、めんどくさいって言うのも
Pオプションがないとつらいなみたいな。
つらいですね。
のがたまにある。
そんな古いサーバーあんま入んないんですけど最近。
すいません。
ちょっとPHPの話から出れてしまいました。
そんなTadさんがPHP好きそうですよね。
PHP割と好きですね。
僕も実はPHPが好きでして。
なんと。
なんと実は僕も好きで自分なんですけど。
何だろうなと思って
PHPっていうものが引きつける力っていうのが
確かにあるなと思ってて
何なんだろうって最近考えてて。
それこそ僕が始めた2013年頃って
PHPからレールズ行くみたいな人がちょこちょこいたような感じで
レールズじゃないPHPはおはこんみたいなのが正直あったと思うんですけど。
ありましたね。
15:01
そういうところに反していきたいなっていうところがあって
いやPHPちゃんといい言語だからちゃんと使っていけばしっかりできるっていうのを
あれですね。
ちょっと天の弱なところもある。
はい。
そうですね。
確かに。
レールズって2回ぐらいすごいビッグウェーブが
15分でブログ書けるみたいな話が
多分2009年とか10年とかそんなぐらいに1回あって
その後もう1回大きな波があって
PHPに書いてる人たちがこれからレールズで
レールズウェイで書いていこうよみたいな感じで
ダーっていなくなったような
あの頃ってPHPって結構ディスられてましたよね。
ディスられてましたね、はい。
それこそその前は結構Rubyコミュニティにいたので
Ruby会議とかに行ったり
Ruby Sapproの勉強会とか行ったりみたいな感じだったので
いやそうですね。
なんだろうな。
僕もある程度Rubyは書いてたんですね。
なんだろうな。
レールズのちょっとメンテをやったりとか
割とコンピュータサイエンスの本とかで
コードの例がRubyで書かれてるものとか結構あるので
そういう場合Rubyで書いてて
確かに気持ちいいんですよ。
書き味がいいというか。
思っていることを表現するっていう
プログラマーの感じと
実際のプログラミングの気泡とかが
すごい合ってるなと思って
気持ちいい。
だからと言ってPHPをディスる気持ちに
今では僕はいかないんだけど。
いやそれこそ昔のPHPってか
結構エラーレベル低い状態でやってると
変数ミスっているとヌルになったりとか。
確かにそうですね。
最近はどんどんまともというか
統制が徐々に取れてきてるけど
昔は結構この何ていうか
それこそドメイン知識じゃないですか
PHP自体の
深い理解みたいなものがないと
ちゃんとこいつを動作させるのが難しい
みたいな時代は確かにあったなっていうのは
今はPHPスタンとか
静的解析ツールが普及してきて
ドメイン理解というか
PHPの細かい銃箱の隅みたいなところは
そういうツールが指摘してくれるみたいな
感じになってきてるかと思うので
PHPストームも普及してきましたし。
そうですね。
PHPストームみたいなものが出てきて
こんなに普及してきて
どんどんどんどんどんどん
どんどんどんどんどんどん
どんどんどんどんどん
こんなに普及した世の中になるなんて
当時2013年頃だと全然思ってなかったんで
すごいなと思って
PHPストーム使ってるとたまに
これすごいなって思って
改めてこんなに普及してるし
18:02
こんなに使いやすいし
インストールしたらほぼそのまま
使い始められるっていうのはすごいいいところですね
そうですよね
そういうことを自分で作っちゃうんですけど
Emacsでそういうのをやろうと思うと
結構設定が必要みたいな感じで
PHPモードを入れて
PHPストームとの統合する拡張も入れて
プロジェクトの設定してみたいな
ことがあるんですが
PHPストームはほぼそのままで
できるのでいいかなと思いますね
そうですよね
ちょっと僕も中二病だった時があって
割と大人になって
ずっと中二病だったんですけど
いらないよそんなのって
思ってた時があって
俺はもうすべてをVimで
終わらせるみたいな
Vimさえあれば
なんとでもなるさと
何をそんな
重たいエディターなんかを
使ってやってるんだ君たちは
情けないみたいな
いやそういうこと
LLが流行ったっていうのは結構そういうところがあるかなと思っていて
IDEが必要な
重厚な言語のアンチデータといいますか
みたいなところで
そこまでいかない
シンプルなコードで
すごい軽量なテキストエディターだけで書けるぞ
みたいな
だからそのLLには
俺はVimだけで十分だと
コンパイルエラーなんか
目で検査するんだよと
その場で実行すればわかるじゃんみたいな
そんなノリだったんですけど
とある時
2016年ぐらいかな
えらいたくさん
API書かなきゃいけない仕事があって
その時に
めちゃめちゃ辛くて
掛け算して
計算してみたんですよ
僕がこのAPIをテストも含めて
ちゃんと書くのに1日何個書けると
これを
計算していくとどうやら納期を
だいぶオーバーしてしまうと
これは何とかしないといかん
っていうので
特に困ってたのが
USBとかあそこら辺を保管するのが
本当に大変で
Vimとかだと
トライアンドエラーでちょっと
ディレクトリ構成とか変えるじゃないですか
そうした時に
全部自分で書き直すのが
Vimめちゃくちゃきつくて
それで
これに手出したら戻れねえかもしんないけど
PHPストームに手出してみるか
ってやったら戻れなくなりましたね
PHPストーム使ったら勝手に
インポートしてくれますからね
そうなんですよ
Vimの時によくやってた
有数がちょっと間違ってるっていう
くだらねえやつがなくなったので
それだけで爆上がりでしたね
それ以来すいませんでしたって言って
PHPストームに書きにした
21:03
なんで
そういうのがあるなっていう
感じですね
今って
ちょっと放送前にも
話してたんですけど
PHPに最近
携わっている人
新卒の方とか
若いエンジニアの方っていうのが
実はPHPがディスられてた時代を
経ずに
PHPに触っていると
なってくると
影を持たないペチパーが
もうすでに世の中にいる
っていう新鮮な驚きが
最近あって
すごい世の中
そうですね
この人たちは
暗い影がないみたいな
ただ現在で言うと結構
ウェブサービスとしての
主役がリアクトとかビューみたいな
サーバーサイド
クライアントサイドの方に移ってきて
サーバーサイドで複雑なことやらない人は
HTML組み立てないとか
そういうのが主流になってきて
これからどう動いていくか分からない感じですね
そうですよね
そうなってくると
PHPじゃなくていいじゃんっていう論が
どんどん出てきますよね
それはあるな
それこそPHPで
静的な片付けられるのは
それは最初から静的片付けの言語の方が
いいんじゃないかみたいな
話もあったりして
もうごめんなさいって感じですよね
ただ結構
静的解析とかやるようになったのは
結構歴史ある
ウェブサービスで手を付けられない
っていうのは
コード自体が
割とドキュメント化されていない
仕様になっていないけども
コードにこう書いてあるから
動いてるみたいな
コードのあり方そのものが
サービスに影響を及ぼしているっていう
感じになっているかなと思っていて
そういうところ整理できていないと
やっぱ静的片付けの言語に
移植するものなにもあったもんじゃないかな
と思っていて
まあそうですよね
今もう実装による仕様みたいな状態になっちゃってますから
うん
なので僕が始めたときは
そういうのをやっていって
ゆくゆくは
他の静的片付けの言語に
しきねえ線句ができるようになるといいな
みたいな感じで始めていったんですが
結構先が長いですね
いや先長いですよね
特にだってそういうことを
言われるってことは
それなりに大きい規模のサービス
じゃないですか
ちっちゃい規模のサービスだったら
割とどうにでもなるじゃないですか
そうですね
APIも10本か20本しかありません
とかだったら
そう
いいでしょ
24:00
それで多少動作確認すればすぐでしょ
って感じになると思うんで
でも大きい規模ってなってくると
書き換えのコスト
っていうのがやっぱり
ものすごく大きくて
っていうのはありますね
うん
それこそRubyとかRailsで
返してつらかったのが
引数に何を渡せばいいのかわからない
コードを見ないと
実はRubyにもその
ヤードとか
コメントに型とか引数の仕様を書く
みたいな技法あったりはしたんですが
あんまり流行っていなくて
そうですね
結局PHPのほうに戻って
いっちゃったっていうのがありましたね
はい
確かに
RailsでとかでRubyで
Railsでじゃないですね
Rubyでかなり気持ちいい感じの書き方とかして
すごい抽象的な感じに仕上げると
もう分かんないですよね
はい
僕も前ちょっと自分で書いてて
これ後で見たら絶対分かんないなと思って
すごい見た目は綺麗なんだけど
なんか抽象的にブロックとか使って
中身をどんどん入れ替えちゃうみたいな
実際に実行してみないと
分かんないしとか
他のインプリメンテーション
綺麗に見ないと分かんないよなみたいな
そういう気持ちになっちゃう時があって
そうなると割とPHPって
不自由さが
ちょうどよく
人間の脳みその仕様にあって
そうですね
PHPの他の原稿と比べた時の
不自由さってのは結構あって
Rubyとかだとオープンクラスという仕様があって
一回定義したクラスにメソッドを追加できるとか
メソッドを上書きできるとか
それですよね
欲しいなって思う時ありますけど
PHPは全くできないので
実行時に書き換えられてしまう
恐れはないとか
というので
他のいろいろ原稿と比べて
仕様が硬いちゃんとした成績片付けが
あったりとか
さらに詳細な型検査してくれるような
ツールが揃っていたりとか
そういうのがあると思います
ちょっと
とある有名フレームワークの
一部のコアコードに
ちょっとした機能を
追加したいけど
Rubyだったらこれ追加できるんだけどな
って思いながら
ちゃんと継承して
オマライドして
ちゃんとやろうという気持ちになりました
無理やりリフレクションとかで
書いてみたんですよ
これは誰も後で分かんない
そうなっちゃうので
僕はオープンクラス
モンキーパッチはやらない方がいいと思ってます
そうですね
そうなんですよ
PHPは
バランス
とかがやっぱり
いいな
ラルベルも結構
いろいろ言われるんだけど
27:02
いわゆるウェーブサービスが
必要とする機能っていうのが
一応手頃に使えるようになってます
っていう意味でやっぱり尊いは尊いな
っていうのはすごく思ってて
つい最近
あったじゃないですかワクチン予約サイトが
PHPでできてるみたいな
なんであれで作ったんだみたいな
話があったじゃないですか
だけど別にいいんじゃないと
僕の中では思ってて
例えばキューとかもすぐ使えるし
キューワーカーとかの
仕組みが例えばメールだけね
後で出すみたいな形も取れるし
いくらでもこう
負荷が高い処理を逃がす仕組みが
最初から組み込まれてるから
だってこれ
じゃあGoで書いたら早いかって言うとそういうわけにはいかないじゃん
って思っちゃうんで
なんか
ユーザーが満たして欲しいものが満たせないんだったら
意味がないよね
綺麗なソースコードだったとしても
そういう
楽しさみたいなのは
PHPとかラベル界隈にはあるなとは思ってて
それこそ
例図とか出てきた後も
静的片付けの言語でも
Web書けるような
結構揃ってはきましたが
Webサービスの
ボトルネックって結構データベースとか
あったりするので
静的片付けの言語にしたからといって
必ずしも早くなるとは限らないというところもあって
そうですよね
いや
いろいろ変数はあるじゃないですか
例えば開発者が揃わないみたいな話も
当然あるし
熟達してる人が
少ないみたいな話もあると思って
PHPはね一応多分
どうなんだろう
本当にちゃんとしたっていう言い方
あんま好きじゃないんですけど
ちゃんとした言い方ができるベジパーの人がどれぐらいいるのか
わかんないですけど
少なくとも5よりは多いかなという
そうすると
PHPとかを選ばざるを得ない
っていう政治的な
人員リソース的な
話も出てくるなとか
っていうのはありますね
最初の言語選択は本当に
最初始めた人が得意なものでやるのが
いいかなと思っていて
そうですよね
でもどうなんだろう
その得意な人がスカラですって言ったら
リクルート難しくないかな
そういうことはちゃんとしたビジネスとかだったら
あんまり妥協せずに採用
して採用するならば
いい選択肢かなと思っていて
本当真剣に
知り合いの会社とかもスカラで
スタートアップやってる会社とかもあって
スカラ祭りっていうカンファレンスとかに積極的に
アピールしに行ったり
みたいのもあって今結構うまくいってそうですね
そうなんですね
割と
採用が難しそうだなって思って
最初から僕なんか経営者やった
そこはちゃんとうまく
最初からつてとかで
知り合いというか
いい人を揃えられたっていうのもありますし
コミュニティと関わりながらっていうのも
ちゃんとできてるかなと思っていて
そういうことは初期の立ち上げのメンバーが
30:00
昔PHPカンファレンスのスタッフやってたりとか
そういうのもあって
そういう人はプログラマーではないんですが
そういう関わりもあって結構
エンジニアのコミュニティとかの関わりのある会社
あったりしますね
そうですね 最初から採用まで睨んで
動けてたら
選択してもいいかな
って感じがあるな
何にも考えないといけないのは
PHPかRubyでやってると
日本だったらなんとかなりそうな気がしますね
あれ 何の話してたっけ
PHPと
採用の話になっちゃったけど
そうですね
そうですね
とりあえず僕もタドさんも
PHPが好きだということですね
あれなんですね
PHPのソースコードとかのほうにはあんまり行かない
一応コードを読んだりはするんですが
拡張とか
あと
PHP本体にパッチ当てて
プルリクエスト送るってことはやったことないですね
僕のプルリクエスト
までは
多分この先行くとしたら
そっち方向になるとは思うんですけど
コードを書いたりっていう方向ですね
人それぞれだなと思って
日本だと結構
PHP本体のほうに
コントリビュートしてた人が
今あんまり
アクティブじゃなくなっていたりするので
引き継いでいかなきゃいけないなという
気持ちはあったりするんですが
そうですね 別に使命感とかはないんですけど
あんまりソース読んでる人とか
闇の人たちも
最近はそんなにアクティブではなかったりもするから
そういったところに
突っ込んでいく人
っていうのが
ちゃんと育っていかないとはいけないんだろうなとは
思いつつ
あんまりいないですね
なんでなんだろう
物作りたいって言って
PHPのソースコードは読まないですよ
そうですね
あとPHPのソースコードは
C言語で書かれているようで
そっちの知識も必要っていうのがありますね
そうですね 最初はすごい辛かったですもんね
言語処理系の
C言語のコードって
マクロまみれになっていて
これ知ってるC言語じゃないみたいな感じになって
そうなんですよ
C言語の勉強をしたところで
読めないっていうところがミスなんですよね
そうなんですよ
レジェンドファンクションとか
いろいろありまして
このマクロ見たぞみたいなところから
読むんですけど
この間
しんばらさんが
ツイートしてましたけど
IdeaBeam系の
Cのエディターがあるみたいで
それでもステップ実行できたよとか
Cライオンいいですね
そう いいらしいんで
今後ペッシパーの方は
Cライオンも
IdeaBeam全体に課金をしていただいて
入れるとPHPのソースも
読めてお得みたいな
そうですね 僕はJetBrainsの
33:01
オールプロダクトパック買ってるので
Cライオンはインストールできるんですが
あまり使えてない
あのね
VS Code使ってたんですけど
結構ね
ショートカットが違くて
デバッグ実行ので
ショートカットが致命的に違ってたんで
拡張入れるかどうしようかなって
悩んでて
PHP Stormとかだと
あれか
GoするがF8でいくんですけど
VS Codeが
F5かなんかだったんですよね
全然違うじゃんと思って
間違えてF8やると
終わっちゃったりするんで
そういう辛みがありますね
はい
って言って話してると
もう30分くらい経過してしまったんですけど
最後
最後っていうか
PHPの話の最後の方で
TadさんがPHP好きなとこって
どういったとこですか
他の言語の
たぶん経験とかが終わりなのかな
どういう気持ちを
PHPに対して持ってるのかな
他の言語と比べてみたときとか
それこそ
僕がやってきた言語はRubyだったり
リスプ
っていうのが
動的言語が多くて
その後にやったのが
Fシャープっていう静的片付けの言語だったり
っていうところがあって
PHPはバランスの良さ
動的言語ではあるんですが
あまり動的じゃないところ
さっき言ったモンキーパッチ
オープンクラスができないみたいなところとか
引数の型宣言ができるみたいなところ
のバランスの良さですね
なるほど
はい
あまり極端に動的すぎない
それはそうですね
極端に動的すぎない
っていう方向に
今向いてますよね
完全に
僕もともと
Java出身なので
だんだんJavaだなと思って
日々
見てますね
それでいてJavaじゃない書き方ができちゃうんですか
やっぱり配列
またはヌルを替えしたいとか
フォルスを替えしたい
みたいなこともできるから
その辺の
バランス感が
良くて書きやすいんだろうけど
よく自分でも書いてるからっていうのもあるかもしれない
なるほど
じゃあその辺が
PHPの好きなとこ
他の言語から見て
PHPは
でも
大抵のことができますよね
大抵のことができるって本当感じましたね
はい
特にWeb系
あの
Goとかで書いてて
一番つらいのそこで
なんか拡張って
なって
これも組み込み関数ないのか
36:01
これも組み込み関数ないのか
なんか
外の
ライブラリを探しに行かなきゃいけない
みたいなことがないじゃないですか
それが
めちゃくちゃ助かるなと思って
確かにありますね
関数で何でも入ってるか
なければパッケージストレート
コンポーザーでインストールするみたいな
そうそう
コンポーザーも
何年くらいだ
5、6年かな
すごい市民権を得てきたけど
コンポーザーと
組み込み関数使って
ほぼほぼ何でもできて
かつユーザーベースがでかいんで
大体あるっていうところがやっぱ強いな
ありますね
リートコードとか書いてて
アルゴリズムの
解いていったりするときに
5とかだと
そもそもこのデータ構造とか
ないわとか
自分で書かなきゃみたいな
いうときがあるんですけど
PHPだと大体このSPLとかに
あって
これもあるこれもある
リンクドリストもある
これこのまま使えばいいや
って使えるんで
その楽さがあるな
JSONエンコードとか
JSONデコードが
よく言われるけど
あの辺もチート関数なんで
好きですね
チートだとアレイカラムとか
チートだと思いましたね
確かに
アレイ系の関数は
本当に潤沢ですよね
アレイおよび
ハッシュが
使えます
連想配列
連想配列と普通の配列が
セットになってる
アレイコードが使うってところも
PHPの特徴で
最初は割と好きじゃなかったんですが
使ってるうちにこれでいいじゃんと思い始めたところですね
そうかな
分かんないな
その前にやったのが
PythonとかRubyとか
当然分かれてるような言語だったので
そういう意味では
そうですね
アレイっていう名前で
それが全体として
抽象化されてるっていうのは
今ごめんなさいちょっと勘違いしました
キーの中にイントと
文字列を混ぜる話かと思っちゃいました
それは絶対やめたほうがいい
それこそ
今の聞こえ方とかは
PHPの配列を
使いにくくしてるところかなと思って
PHPの
キーを取ってきたらイントかストリングが
分かんないみたいな
例えば39っていうハンドルネームの人がいて
その人が
そのハンドルネームをキーに何か
入れようとか思ったら
数字になっちゃうみたいな
39:00
そうでございますね
分かります
逆にそうじゃなかったらそれはそれでややこしいことになるし
確かにね
そうですね
この間趣味でアレイユニークとか
アレイフリップとかのソースコードを見たときに
やっぱり配列の
アレイフリップなんかは
その時にバリューをキーに変えるんで
その時に
ニュメリックに全部変えられちゃうんですよね
それで型が吹き飛んでくる
いやまあしょうがないんだけど
これはつらいな
と思って
見てました
そうですね
アレイキーっていう便宜上の型に置き換えられていて
イントまたはストリングっていう
なるほど
配列に入れた瞬間
キーはそうなってしまいます
でも
もし興味がある人は
アレイユニークのコードとかを見ると
楽しいですね
キーが文字列か
キーが数字か
イフ文が書いてあるので
なるほどつらいな
分かりますね
PHP 8.1になって
リストっていう概念も生まれてしまい
8.0か
なんか
なんかあったなそれ
なんだったっけ
PHP 7になった時点で
配列の中身が
いわゆる連想配列か
同籍配列か
いわゆる純粋な配列っぽいもの
例えば123っていう連番のものだったら
連想配列として作る必要がなくて
3と連続した領域に入れていけばいいんですけれども
そこに何か
ストリングのキーのものを代入しようとした瞬間に
連想配列に詰め替えるみたいな
感じになっていて
そういう配列かどうかをチェックする
アレイズリストっていう関数が
追加されたはずで
へえ
それはその中身が
内部構造が
純粋な配列か
連想配列かどうかっていうので
返すことができるので
いわゆるO1で返せて早いっていう
今まで012っていう連番の配列かどうか
チェックするには配列で
41で一個一個たどっていって
012っていう順番になってるから
違ったらフォールスを返すっていう風に
しなければいけなくて
そうですね
ソースコードレベルで言うと分かりますもんね
PHPのソース側からは
分かるはずだから
そのメタデータを返してあげればいい
PHP 8.1で
アレイズリスト
すごい
何ですかね
イスコン向きの関数なのかな
イスコンで型チェックしてるうちに
確かに
アレイズリストいつ使うんだろう
ライブラリとかですかね
JSONエンコードする前に
APIで
何かリストを返さなきゃいけないけれども
受け取った配列が
ちゃんと連想配列になっているか
42:01
あるいはリストになっているかっていうのを
チェックするときに使いますね
なるほど
中身を
全部さらうのではなくて
そのメタデータだけで
判断できるという意味で
このアサーションとかは一応使えますね
ほんとだ
これインプリメンテーション
本当だインプリメンテーションになってる
入るんですね
PHPのワークラウドなども書いてありますが
やってることはすごい簡単です
for eachって書いてある
そこでアレイとは別に
リストという概念も生まれてしまって
別にというかアレイの一部としてリストっていうのが
生まれてきてしまって
100回でさっきの山本さんが言っていた
リスト連結リストとか
とはまた別概念という
そうですね
はい
多分普通に生きてるとあんまり
SPLの
コードは書かないと思う
でも確かに
このアレイズリストも出てくる
このリストって
何だろうって言われちゃうと困りますね
このリストっていうのは
01っていう連番のキーのもので
生的解析の通常は
リストっていう型を
使いたいとします
確かに
それとは別にリストっていう関数があるじゃないですか
はい
関数というか式ですね
分割代入するやつ
あれはまた別です
そうですよね
初心者殺しというか
関係ないものが
3種類あるみたいなひどい状態になってますね
そうですよね
リストから見たらこれは別のものだっていう判断ができる
文字だけから
判断しなきゃいけない人とかだと
リスト
これはあのリストと関係あるのかなって思っちゃいそうですね
関係ない上に
使いどころが全く別なんですよ
重ならない
そうですね
確かに
連結代入の方
代入の方どうにかならないかな
そうですね
あそこにリストじゃない方が
いいような気がする
今はもうリストっていうキーワードを使わなくても
配列っぽく
イコールの左辺にカッコつければ
できるので
リストを使わない方がいいと思いますね
あれは7.4かな
いやあれはもう7.1とかじゃないかな
7.1ですね
7.1ですか
じゃあもう今となっては
大半のゲームはリストを使わなくてもいいよ
そうですね
なるほどなるほど
じゃあそれに対してまた新しいリストっていう概念が
8.1からぶち込まれると
みんな注意しよう
そうです
確かにすごいな
これアレーファンクション自動に並ぶのかな
並ぶとは思いません
リストも多分並んでるので
確かにそういえばそうだ
そうあの配列は
45:01
関数リファレンスは
関数じゃないものも並んでいるので
アレーそのものとか
確かにそう言われてみればそうだった
何度となく見ましたね
エチパーになって以来
アレーファンクション
リスト交付
なるほど
そろそろ残り時間が少なくなってきたので
沖縄の話をしましょうか
沖縄行きたかった
沖縄
いやダメですね今は
すいませんごめんなさい諦めてください
応募した時は行こうかなと思ってたんですが
今このご時世だとちょっと難しいし
今日になっても
沖縄
感染者数が増えたみたいなニュースも出てたし
ちょっと無理ですね
昨日かな
昨日だから今日緊急事態宣言を
依頼する依頼しない
みたいな話がありましたね
いやー大変です
5月の29日なので
今皆さん
書かれてるのかなきっと
資料
あれですか
これ時点収録なんですか
いや多分当日
リアルタイムだと思うんですね
なるほどなんか事故の予感がしますね
頑張ります
あーなるほどなるほど
今回は多分あまり詰め込まないで話すので
そんなにいらないかも
そうですね
僕は今回は
応募しなかったんですけど
ただ
タイムテーブルを見ると割と
いつもの
メンツだけではなく
いらない沖縄の人もいらっしゃいますね
そうですね面白そうだな
タドさんは何を話すかというと
あれ何時だろう
何時だっけな
結構後ろなの
あ14時40分ですね
型の話をします
今日からできる
安心片付け入門
あこれリンクになってない
複雑な型じゃなくて
とりあえずプロジェクトに
PHPスタンとか入れ始めないとどうすればいいんだ
みたいな話をすると思うんです
あーなるほど
じゃあそうですね
型がついてると
なんだか安心しますもんね
本当型ついてるって大事だなと思って
関数を使う側からすれば
どういう値を入れればいいのかっていうのが
名前以外の頻度ができるっていうのが
大きい感じ
そうなんですよ本当
そのことを毎回言うんですけどね
PHPドキュメンタリーにはあれって書いてあるんですよね
例えばストリングって片付けされてるからといって
どんな文字列でも受け入れるわけじゃなくて
例えばその
例えば検索するAPIで
ユーザーか
ワークかみたいな文字列をオプションで受け入れる
みたいなところでユーザーとワーク以外が来たら
エラー投げたいわけじゃないですか
48:00
はい
ユーザーかワークどっちか投げろよ
っていう勝ち方ができるので
確かにできますね
あれですね
でも8.1になるとENUMが入るのかな
そうですね
またそうなってくると
話が変わってくるかもしれないけど
ただそういうのって
ユーザーの入力から入れるみたいなことが多いんで
そこでマッピングをどうするかっていうのも
考えなきゃいけなくて
そうですね
文字列とか使った
バー掛けって
結構あるじゃないですか
ライブラリーの
本当に普通のスイッチケースが書いてある
入りますね
そういったところに
どういうことが書かれている
なんか期待されているのか
っていうのがちゃんと
型のドキュメントとして入ってくると
やっぱすごい嬉しいですよね
じゃないとエラーにできないし
はい
あとは選択肢片付けとかだと
定数を使った型みたいなのが書けて
例えば
サーチモードユーザーとサーチモードワーク
っていう形があったとして
どっちかを渡してほしいと
サーチモードユーザーをサーチモードワーク
っていう書き方もできるんですが
サーチモードアスタリスクって書くと
それのどっちか
前方位置で型付けができるんですよ
そんなことできるんですか
はい
ワイルドカード使えるんです
PHPスタンとかは使えます
PHPスタンか
もちろん
PHPの組み込みの型付けではできないです
そうですよ
PHPの組み込みの型付けは定数を使った型とかも
できないので
そうか
PHPドックが必要となりますね
そこにちょっとした悩みがあるかもしれないですね
PHPスタンと真珠するんですかみたいなところ
ちょっとあるから
ただ今
PHPスタンだけとかじゃなくて
サームとか複数のツールがあるし
PHPストームそのものもそうですし
どれか一個と真珠
っていうのもないかなと思いますね
そうですね
結局そうすると
カクテルで大体みんな一緒に
入れましょうみたいな
サームもPHPスタンも入れましょうみたいな
あとはPHPスタンとサームの間は
互換性のあるものはそのまま
どっちかだけ書けばちゃんと評価してくれるので
うん
プロジェクトで主に使ってる方の
プレフィックスつけて
PHPスタン-バーとか
PHPスタン-リターンとか書けばいいかなと思います
あー確かに
あとはでもその教育とかですよね
そうですね
どうやってチームに共有するか
型があるに越したことがない
っていうか
まずは
ドキュメンターでもいいから型を書いてほしくて
できればPHPでちゃんと型を
くっつけてほしくて
じゃあそんな話がきっとされるんですよね
51:00
沖縄で
バーチャル沖縄で
バーチャル沖縄で
PHPカンファレンスは沖縄なんですが
オンラインで開催されるので
東京からでも普通に
見れます
あれこれってチケットって売ってるのかな
これはあれ
参加申し込みがコンパスじゃなかったかな
なので多分当日ZoomかYouTubeか
なんかのURLが共有されるんじゃないかと思います
なるほど
本当だオンライン参加枠
まだいっぱい
空いてますね
一応会場参加枠があると
ありますね
いや行きたかったんですが
ちょっとでも
そうですね今は
このリスクを
いや取らない方がいいですよ
今はやっぱりしょうがないです
家から参加します
悲しいですが
なるほどそうですね
気軽に参加できそうなんで皆さんもこの
コンパス今リンクを流しておこうかな
経由してPHPカンファレンス
沖縄でタトゥーさんと
握手と
ドンと
すごいなこれ無料なんですね
スポンサー代だけでなんとかやりくりして
そうですね
PHPカンファレンス東京形式ですね
心配になっちゃうんですよね
そういうカンファレンス
お金取ってくれないかな
確かに
そうなんかいくらでもいいから
よし
僕チケット買うのかと思ってどこで買えばいいんだろう
無料ですね
今申し込みました
なので
そうですね来週
東京にいても青森を飲めば
沖縄さんが
実質沖縄
実質沖縄
という意見もあります
これは1dayですか
1dayだと思います
土曜日だけ
そうですね
地方カンファレンスで
スポンサーフィー
スポンサーフィーだけで賄って
そうですよね
PHPカンファレンス東京が
8トラックぐらいあるのがおかしいんですもんね
あれはデカすぎですね
よく分かんない
なんでこんなにトラックあるんだろうと思って
もうちょっと
地方カンファレンスって
地方の人が手弁当でやるくらいの
小さい規模でいいかなと思っていて
昔の地方ルビー会議みたいな
そんな雰囲気でよかったですね
そういう意味で言うと
僕とタドさんもよくお会いしていた
PHP勉強会が
もうかれこれ1年以上ないですよ
どうなったんだろう
54:01
毎月水曜日の
リズムが崩れてしまい
あれ崩れちゃいましたね
適当なネタが思いついて
誰かに聞いて欲しい
っていう時に
参加できるのがなくなっちゃったから
話すネタは無限にあるんですけど
そうなんですよ
僕もめちゃめちゃたまりました
なんで
開催していただければすぐに
LTE要員として
もっとオンラインでやっていく
そうなんですよね
PHP勉強会自体が
オンライン化するみたいな話は
特に流れてきてないから
こういうのは誰かがやるって言わないとやらないので
やばいこれはあれですね
手を挙げたもん負けみたいな
あれですね
発砲睨みの
そういうの全部巻き取っていくと
いろいろ破滅していくとか
分かってるんで声出さない状態なんですが
いやタトサンやめた方がいいと思いますね
タトサン今もうつらそう
僕もでも
手挙げたら
ランニングできなくなっちゃうかもしれないな
大丈夫かな
怖いな
ちょっとやりたいな
やりたいこととどれだけ
自分がコミットできるかっていうの
バランスが難しいですね
箇所分時間との関係性ですね
分かります
そういう意味でPSR勉強会とか
申し訳ないことになっているんですが
先月末から
箇所分時間が全くなく
アナウンスもできてない状態で
申し訳ないです
やっぱりでも
一人で回すのは厳しいかもしれないですね
僕も本当あれなんですよ
申し訳なくて
PHP影弁協会っていうの
影PHP勉強会っていうのがあって
開催したいんですけど
どこをどう書き集めても
うまく時間が取れなくて
どうしようかなーってなってます
だから
2,3人でチームとして
みたいな形で
うまく
言い訳とプレッシャーをかけていかないと
そうですね
続かないかもしれないなと
なんかあるじゃないですか
たまに気力も体力も充実して
若干の暇があるときって
できるけど
大抵の時そうじゃないからできない
PSR勉強会いいですよね
PSR勉強会めちゃくちゃいいなと思って
めっちゃやりたいので
式直さなきゃいけないんですが
たぶんPHPカバーすると沖縄終わるまでは無理なので
お疲れ様です
お疲れ様です
僕もあの
ケークペチパイザーっていう
アイコンを青くするツールがあるんですけど
あれを
全部PSR準拠で書き直していこう
思いつきはしたんですけど
それをやる時間がないっていう問題
57:02
当たってて
たまにUQ取ったときとかできるんですけど
UQ取らないとできないな
なので
もし勉強会を開催したいっていう人がいたら
開催してくれたら
そこに参加して
喋ることはできると僕たちは
そうですね
そういうことを考える人がいてもいいかもしれないですけど
その枠だけ作るみたいな
そうですね
場があれば行くって人は
いろいろ考えて
そうなんです
オーガナイズしてくれる人がいると
そうなんですよ
このポッドキャストもそうなんですけど
自分で
調整をして
いろいろやりとりして
何かを始める
ってなるとやっぱ大変なんですよね
それは
一人につき
一つのことぐらいしかできなくって
それ以外にも仕事とかもあるし
ってなってくるんで
もし
もし誰か開催してくれる人がいたら
どんな小さなカンファレンスでも
全力で話しに行くんで
よろしくお願いします
よろしくお願いします
誰かやってくれないかな
PHP勉強会オンライン
という願いを今込めておきました
いや
楽しい時間がほぼほぼ1時間
経ってしまったんですが
確か最初の方に事故をしたので
5分ぐらいロスタイムがあります
確かにいまだあるのか
なんかあるかな
PHP 8.1に向けて何か思いはありますか
ファイバーは大好きですか
ファイバーは割と好きというか
かなり期待はしていますね
ファイバーは結構Rubyとかが
昔から持ってる機能だったりするので
他の言語でも
入ってほしいなって思ったところでもあって
これはでも
あれなんですね
並行処理を執行するもの
並行処理はないんですよね
並行処理できます
できるんですか
コンカレンシー
パラレルとは書いてないな
コンカレンシーと書いてる
並行処理はできるんですが
そもそもPHPの関数自体が
同期を前提に
作られているので
IOとか完全にブロックします
ですよね
コンカレントエクスキューション
ではあるんですね
ファイバーに逃がせるけど
なるほどね
ちょっと分かるよね
今でも
ジェネレーターを使えば無理やり
できるようなことでもあるんですが
それをちゃんと書けるようになります
あれですよね
書きやすくするというか
そういった言語の仕組みとして提供するということですね
じゃあやっぱりイメージとしては
今のジェネレーターに近い感じ
1:00:01
そうですね
他の言語ではコルチュンとか呼ばれている
コルチュンとも近くて
コルチュンというもの自体も結構いろんな意味を持って
複雑なんですけど
そうなんですよ
歴史的にオリジナルのコルチュンに近いのは
ジェネレーターなんですけれども
それ以外に非同期に実行できるものとしての
コルチュンというのもあって
それを実現できる
余地があるのが
この新しく入るファイバーになります
なるほど
じゃあ
ちょっと待ってください
平行じゃなくて
平列じゃない
平行処理
コンカレントなエクスキューションを
指示する
平行非同期処理か
そうです
それで正しいですね
誰ですかね
コンカレンシーとパラレルに同じ平をつけた人
難しいですね
そうなんですよ
何回ちゃんと
学び直しても
平が出てきて
それが
列なのか
項なのか
まずそれをやってから
僕の脳内でパラレル
パラレルは完全に平列だから
処理主体が2つ以上あるから
パラレルが平列だよって
言って
だから僕が話したいのは平行だ
みたいな
解決の仕方をするんで
ものすごくオーバーヘッドが
英語でコミュニケーションしてる人でも
十分混乱したりしてるので
必ずしも
日本語のせいではない気がしますね
でも確かにスタックオーバーフローに
リファレンスビットイン
コンカレンシーのパラレルみたいな
質問が上がってたりするので
万国共通では
かもしれないなと思いますね
日本語だとちょっとややこしいかもしれない
そうですね
やっぱり平が出てくるのはやばいなと
ちょっと思いますね
だって
Cで始まるのとPで始まるので
もう完全に違う感じが
わかんない 僕英語話者じゃないから
そう思うだけかもしれない
平行と平列よりだいぶマシっていうぐらい
なのかもしれない
ですね
じゃあこのファイバーを
使って書いたからといって
夢のように速くなるわけではない
それがシングルスレッドで
動くものなので
そうなんですよ
私たちはやっぱりシングルスレッドなんですよね
ちょっとすいません
別件でマルチスレッドやろうと思ってたことが
それを思い出していました
シングルスレッドだから
簡単に書けるってのはありますよね
そう
全部が直列に動く
関数呼び出したら
帰ってくるっていう
そういうことでございます
その恩恵をもう大量に
今まで受けてきているわけですので
そうですね
平列とかって言われたら
僕どうやってそもそもデバッグすんだろうとか
1:03:00
この処理
このエラーログが
こいつから出て
そのプロセスは一体どれなんだろう
どうやって見分けるんだろうとか
そう
そうですよね
他の平行処理できるような
言語と比べて
シングルスレッドの
PHPだからこそシンプルに書きつけたっていうのは
十分あると思いますね
そうなんですよ
それこそさっきの
PHPの話に戻ってくるかもしれないですけど
やっぱバランスがいいっていうところが
今のPHPの
PHP自体の
スールとか使えば
平列というか
1プロセスで大量に処理する
みたいなこともできるかもしれないですけど
PHP自体は普通に
ワンプロセスで全てを忘却するという
非常に潔い
仕組みになってますから
そのやっぱね
簡単さがありますよね
そうよくも悪くも
PHPはCGIの後継者だと思っていて
リクエストごとに完全に新しい環境になって
リクエストがあったら全てきれいになる
っていう
そういう意味でいうとものすごく良い
後継者ですよね
素晴らしく
楽に立ち上げられて
素晴らしく簡単に使える
そうです
でもなんか僕の中でのPHP像
っていうのがすごく
明確にまた明確になった
という感じがありますね
考えたらまあそうか
純粋にプログラミング
っていう興味を持つ人だと
少し物足りなくなっちゃうかもしれない
っていうのはやっぱありますね
PHPで物足りないってところから他の言語はどうなってるんだろう
って興味があったらしいところがありますね
まあそうですね
それは多分にあるかもしれない
PHPでやってることが当たり前とは限らない
いや
それは全くもってそうですね
むしろ当たり前じゃないようなところも
ちょくちょくあるので
ございますね
他の言語で当たり前で
PHPに来て驚くことも
たくさんありますからね
逆に
PHPの良いところと
他の言語であまり当たり前じゃなかったものが
結構先駆けて入ってるみたいなのがあって
トレイトとかもそうですね
そうなんですね
トレイトPHPってのは割と早い時期になってるので
他の言語であったら
当たり前ではなかったです
そうだったんですね
例えばスカラのトレイトとか
トレイトって名前だけど本当の定義通りの
トレイトとはちょっと違う実装になっていたりして
トレイトはね
いやすいませんトレイトって聞くと
僕はあの色々
昔の暗い過去が思います
気になる
いやあの
あれなんですよトレイトを使って
綺麗に共通化みたいなことをやって
そのユーティリティみたいな
使い方をしちゃったせいで
1:06:00
結局トレイトが
共通の
依存関係になって
おかしくなるみたいなことを
やらかしたことがあって
そのすごい苦い思い出が
トレイトって聞くと
必ず巻き上がってきて
あの時は本当に悪いことをした
使ってみたかった
みたいな
僕はトレイトはいいと思うんですけど
寄せのちょっとした関数だけを
入れておくのがいいと思いますね
いろんなものを寄せ集めにするのは良くない
そうなんですよね
トレイトは使いどころが難しい
便利ボックスみたいにされちゃう
そう
僕も結構時期によって
トレイトをどう活用するかっていう意見がブレブレなので
最近はそういう
ユーティリティ関数入れるのに
ちょっとずつ使うみたいな風にしてますが
難しいですね
分かります
そういう意味で言うと
ララベルとかの何とかラブルみたいな
名前のトレイト
使い方っていうのは割と
面白いというか
トレイトの使い方としては
こういうのはいいな
必要となる関数とか
インターフェースが生えるっていう
面白くはあるんですが
トレイトはマーカーインターフェース代わりに
しちゃってるような感じになってますね
そうですね
何かをユーズすると
そういう挙動が変わるみたいな
全然悩ましいところでありますね
という感じで
話題が尽きなくなってきましたが
1時間経ちましたので
名残惜しいですが
そろそろ終了の
お時間となりました
今週も放送を聞いただきありがとうございます
番組のフィードバックや要望は
ハッシュタグ横浜農政務をつけてツイートしてください
本日の相手はTadさんでした
ありがとうございました
ありがとうございました
01:08:01

コメント

スクロール