YYPHP#40「Rubyのほうがモダン？、Vue.jsとLaravel、PHPフレームワークの選び方、オブジェクト指向、湊川あいさんの話を聞いて」

これは2018年06月08日に開催したPHPerイベント[YYPHP#40]のイベントレポートです。

[YYPHP]は一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催はほぼ**毎週**、高田馬場にて。

[YYPHP#40]:  https://yyphp.connpass.com/event/90137/
[YYPHP]: https://yyphp.connpass.com/
YouTubeでの配信映像はこちら-> [YYPHP #40【PHPの情報交換・ワイワイ話そう・仲間作り・ゆるめ・にぎやかめ】 - YouTube](https://www.youtube.com/watch?v=irDSIn79mRU)

![](https://qiita-image-store.s3.amazonaws.com/0/889/0051f99f-b555-6064-fcc9-3280e5543a1a.png)


## 参加者11名
*PHP歴の分布
    * 1年未満: 4名
    * 2年未満: 3名
    * 3年: 1名
    * 5年: 1名
    * 10年以上: 2名


# 話したいこと/聞きたいこと
## PHPよりRubyのほうがモダンな開発ができるのでは？
* 経験ある人、教えて！
* Rubyのほうがネットで露出が多い、PHPer少なくないですか？
* 質問の背景
    * SESで開発にはいっている。
    * ネットで見ると、Rubyの人たちのほうがアウトプット盛んな気がする。
    * Rubyやってみて`$`書かなくて良くて楽だと感じた。
    * SIの現場に入っているためそう思うのか、RubyにおとらずPHPでもモダンな書き方があるのか？気になる。
* PHPに限らずフレームワークの話もありですか──？
    * いっしょじゃないですかね？と思っている
    * LaravelもRailsを真似してるようだし、オブジェクト指向で作れるのも同じ。
    * 前にLaravelでなにか作ってみたという話があって、なれてればあんまり変わらないと思う。
    * Laravelのほうがフレームワークが与えてくれる物が多い。
        * 技術選定をしなくてもいいから気楽。
        * Railsだと自分でgemを選定しないといけない。
    * Railsのdeviseはソースコードが読めない。そのかわりドキュメントはあるので調べれば分かる。
* 最新をおっかけている人はモダンになっているが、PHPは古くからやってるひともいるからレガシーなやりかたも残っている
    * モダンな開発をしている人の発言が少ないのかも。
* RailsはRailsチュートリアルがあるので、ある程度形のあるものになるが
    * Laravelは何かをつくるというゴールがないので
* プロゲートにはRailsのコースがあるが、PHPはない。
* 今後はもっとLaravelが伸びていくという見込みがある。
    * Railsは世界中のRubyistの労力が集約されているためエコシステムがでかいが
    * LaravelがPHPのフレームワークの本命になりそうなので、RailsのようなことがPHPでも起きるかも
* 最近はPython、Djangoも増えてきている気がする
* Rubyはできる人が少なくて単価が高いが、PHPは単価が安いと言われたことがある。
* アプリケーションは作れるけどシステムは作れないというRails使いはいる
    * コードジェネレーションだけでできちゃう
    * DBがちゃんと組めないエンジニアと働いたことがある
* データの正規化
    * [理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL：書籍案内｜技術評論社](http://gihyo.jp/book/2015/978-4-7741-7197-5)
    * [達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ | ミック |本 | 通販 | Amazon](http://amzn.asia/eTraPNQ)
    * 達人がつくったDBを真似するのが一番いい
        * 感動することがある
* 一般論的には、複数の言語を知っていたほうがPHPの見る幅も広くなる
    * 僕もRailsやってみて良かった
    * [プログラミング言語図鑑 | 増井 敏克 |本 | 通販 | Amazon](http://amzn.asia/ifOGMp3)

## Vue.jsとLaravelについて話したい
* [基礎から学ぶ Vue.js | mio |本 | 通販 | Amazon](https://www.amazon.co.jp/dp/4863542453/ref=as_li_ss_tl?ie=UTF8&linkCode=sl1&tag=hikawatrpglab-22&linkId=1321ea672d99ee6fbf2a13fd78a7408c)
* Vueがどう良いのか？
* Angularは、SPA(Single Page Application)を前提に作られているらしいので、部分的に使うには向いてないと思う。
* jQueryをごりごりやってたところをVueに置き換えたが、ページごとに置き換えることができて入りやすかった。
* 業務でLaravelのBladeテンプレートの中にVue入れて書いてます。

## PHPのフレームワークを学ぼうとしてる
* 用途によってどう選べが良いか
* 速度を求めるならPhalcon
* 周りに聞ける人がいるかどうか
* 日本語の情報が多いか
* フレームワークの開発が活発かどうか
* CodeIgniterってどう思う？
    * 公式サイトがかっこいい
    * チュートリアルがわかりやすい
    * 世の中はLaravelだからLaravel使ってるけど。
    * Laravelより早い。
        * マイクロフレームワークだから
    * CodeIgniter派の人の意見「あれはライブラリだから」
        * フレームワークというよりライブラリと見たほうがいいかも
    * 今入った会社で使っている
        * 乗り換えようとしている。
* マイクロならLumenはどうなんでしょう
    * 軽量版Laravelって言われてますよね
    * インストールしてみたことはある
        * Laravelとあんまり変わらないなって印象
    * Laravelからいらない機能をはやしたほうが楽だと思う
* [ytake/laravel-skeleton: strict mode laravel (removed facades etc...)](https://github.com/ytake/laravel-skeleton)
    * config/app.phpがすごい
        * ファサードがない
* Laravelのおすすめの参考書はありますか？
    * あんまり書籍が多くない
    * [PHPフレームワーク Laravel入門 | 掌田津耶乃 |本 | 通販 | Amazon](http://amzn.asia/2uOHmYK)
        * 一番新しい
        * MVCの説明
        * Laravelの機能についてはあんまり書いてない
    * [Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク！] (Software Design plus) | 川瀬 裕久, 古川 文生, 松尾 大, 竹澤 有貴, 小山 哲志, 新原 雅司 |本 | 通販 | Amazon](http://amzn.asia/bnGYSFY)
        * Laravelの機能について深く知るならこっち
    * [Laravel入門情報 2018年5月版 - Qiita](https://qiita.com/studio15/items/8519fed2d6d5b1a573c0)
    * [Laravelをこれから勉強しようと思っている人へ - Qiita](https://qiita.com/fagai/items/1d8dc71d3cbe33ba8e11)
    * Laravelの公式ドキュメント
        * 機能を調べるならいいけど、日本語がちょっとおかしいので、読むなら英語がおすすめ
    * localdisk さんがLaravelめっちゃ詳しい

* 僕の同い年くらいでRailsはいるけど、PHPはいないから、Railsのほうがいいか？
    * 同い年くらいの人ばっかりだと伸びないことがあるから、経験者とも知り合ったほうがいい

## PHPのオブジェクト指向について聞きたい

* 基本的なことかも
* べた書きでPHPを書いている。
    * 前Javaを使っていた。
        * Javaではクラス使ってたが、PHPはなくても書ける
            * そのままリクエストを処理して、というコードを
        * JavaだったらJavaBeansだとクラスで処理していた
* 個人で完結する規模の開発だったらべた書き、オブジェクト指向どっちがいい？
    * PHPべた書きからオブジェクト指向いけなかったかんじの立場から
        * フレームワークはオブジェクト指向に基づいて作られているから勉強になる。
        * フレームワークひとつ使うと、その中でPHPでDBを扱うときにどんなふうにしたらいいか分かるようになると思う。
* 自分で書いてるコードが汚い

## 設計されたものを実装しているが
* 実装者がテスト設計もしている、どうなのか？
    * テストのあり方を聞きたい
* テストが全部エクセルで、項目が書かれているだけで、どんなデータが飛んでくるかというのが書いてなくて炎上した。
    * プランナー、デバッガーがといっしょにテストを作っていった
* すかすかのテストケース
* 実装者がテストを書くと、実装に則ったテストになることがあるような気がします。。。（経験談
    * 正常系しかテストをかかないとか、異常系がカバーされないとかありそう
* 仕様を決めるひとがテストを決めるべき

## Rubykaigiに行ってきた、PHPのメモリ管理などについてCでの実装について聞きたい
* Rubykaigi: 仙台で三日間のイベントだった。
* メモリとかJITの話
* Ruby3に型システムが導入される
* clang is dead
* AST(abstract syntax tree)

## 湊川あいさんの話を聞いて、ブログを立ち上げようとしてる
* Hugoでやろうとしてる
    * おぬぬめのものがあったら教えて

## その他
* [プログラミング言語・開発年数・年収の関連性が明らかに | マイナビニュース](https://news.mynavi.jp/article/20180606-639272/)


## YYPHPは毎週やってます

PHPについてワイワイ話したい方は、[YYPHPのイベント情報](https://yyphp.connpass.com/)をチェックしてみて下さい。

以上、YYPHPのレポートでした。次回もワイワイやっていきたいと思います！ では、また来週！