はじめに
PHPの情報交換や仲間作りをする集い、YYPHP(わいわいPHP)に参加してきました。
会場
写真を撮り忘れたので当日の様子では無いのですが、会場はこんな感じのスペースです。
参加のきっかけ
私はここ10ヶ月ほどはずっとPythonとDjangoを独学でやってきました。
それが何故PHPかというと、今年に入ってからのWebエンジニアへの転職活動をする中で出会った企業には、PHPやLaravelで開発している企業が数多くあり、入社後にはそのスキルが求められる為、PHPのコミュニティにも参加しておきたいと思ったからです。
このYYPHPは、主催者側にQiitaでContribution4位の@suinさん がいらっしゃることもあり、前々からその存在が気になっており、参加申し込みをしました。
会の流れ
ゆるく雑談をしながらスタートし、各自自己紹介としてPHP歴と今日聞きたい・話したいテーマを挙げます。
全員の自己紹介が終わったら、挙げられたテーマに関して、順次参加者で話し合う、といった流れです。
参加人数は10人ほどと少人数であることと、主催者の一人である@nouphetさんのファシリテーションが素晴らしく、終始活発かつ和やかに意見交換ができました。
また、個人的には、同じく主催者側の@reoringさんがやたらと@nouphetを鋭くイジる?掛け合いが面白くツボでしたw (お二人の仲の良さが窺えましたw)
勉強会メモ
私からのテーマは
- これまでPython/Djangoの経験はあるが、これからPHP/Laravelのスキルを習得するにあたって、どんな学び方が良いか知りたい
というものです。
これに対して様々なアドバイスをいただきました。
1. Webアプリから入らず、まずはPHPの課題を解いてみる
課題とは、例えば以下のようなものです。
- 九九の表を出力する
- 九九ができたら20x20をやってみる
- 桁がずれるので合わせる
- 多次元配列を1次元配列に変換する関数を書く(再帰処理で)
- カレンダーを出力する
- 多次元配列から要素を一撃で取り出す関数を実装する
インフラエンジニアである@nouphetさんがPHPを学ぶにあたって取り組んだことが以下のQiita記事に詳しくまとめられており、これに沿って説明いただきました。
2. 自分の知っている言語の使い慣れたコードをPHPでも書いてみて両者を並べてPHPの特徴を理解する
PHPerである@suinさんがScalaを学んだ際に実践したことを基にしたアドバイスです。
私の場合だと、Pythonでコードを書いて、それをPHPでも書いてみる、ということになりますね。
3. Laravel学習のおすすめコンテンツや勉強法
3.1 Udemy動画
Fullstack Web Development With Laravel and Vue.js - Udemy
参加者のkawasaki-tさんのおすすめです。
Udemyの日本語のLaravelチュートリアル動画は、扱っているLaravelバージョンが5.1と古いらしく、英語の動画がおすすめとのことでした。
定価12,000円ですがセール時にはきっと1,200円くらいになると思うので、その時に購入したいと思います。
3.2 LALACASTS
こちらもLaravel学習では有名な動画チュートリアルサイトだそうです。
3.3 過去にDjangoで作ったWebアプリをLaravelで作り直してみる
こちらは参加者のbun0325さんのアドバイス。
Laravelを学ぶ目的で何かを作ろうとする時に、どんなアプリにするか考えることに時間がかかってしまいがちなので、過去に別フレームワークで作ったWebアプリをLaravelで作り直すことにすれば、設計や実装にすぐに着手できる、というものです。
3.4 技術書「絶対に挫折させないアプリ開発 はじめてのLaravel」
@nouphetさんからのおすすめ。
同じWebアプリを素のPHPと、Laravelそれぞれで作る内容となっているそうで、PHPの基礎とLaravelの中身の理解ができそうです。
4. PythonできるならPHPもできる!
ラストは参加者のたべたつさん(@ttabtt3)からの力強いアドバイス!(会場一同は爆笑)
確かにPHPもPythonと同じく動的型付け言語ですので、あれこれ考えずにまずはやってみるのが大事かもしれません。
最後に
YYPHP(わいわいPHP)の名前にふさわしく、初参加でも本当にわいわいと楽しめ、かつ多くの気付きと刺激を得られる素晴らしい勉強会でした。
参加して本当に良かったです。
いただいた貴重なアドバイスをもとにPHPの学習を継続したいと思います。
主催された株式会社クラフトマンソフトウェアの皆さま、参加者の皆さま、ありがとうございました。