Laravelの入門について
はじめに、当記事はLaravelの入門ではなく入門の入門みたいな立ち位置の記事ですので コーディング等は一切ありませんのであしからず。
最近だらだらと頭に浮かんだことを記事にして書いてたのでたまにはすっと読める記事にします。
それでは今回は人気PHPアプリケーションフレームワークのLaravelについてみていきましょう。
Laravelを覚えたい人に向けて
なぜLaravelを覚えたいのでしょうか?
もし以下が理由であればLaravelを覚える前に一度立ち止まってみましょう。
- 人気だから
- なんか回りがLaravelやってるから
- 某インフルエンサーが使ってたから
- メンターになんか覚えるように言われたから
上記の理由でLaravelを習得しようとするダメな理由を簡単に説明します。
人気だから
人気だからといって現場で必ずしも使うわけではないため。
古い企業等の場合安定性を考慮して実績の高いフレームワークを使ってたりする(CakePHP等) ため、新しい技術だけ覚えても仕方ない。
なんか回りがLaravelやってるから
回りがその技術やっているから私もやろう。 この行為自体は技術自体が盛り上がるので良いことではありますが そもそもこういう人はLaravelが何かわかってない気がします。
某インフルエンサーが使ってたから
そろそろインフルエンサーに振り回されるのはやめましょう。 そのインフルエンサーは本当にITエンジニアでしょうか?
メンターになんか覚えるように言われたから
ちゃんと基礎を教えてもらった後でLaravelを覚えろと言われた場合は大丈夫です。 そのまま学習してください。
そのメンターがポンコツの場合、脳死でLaravelを進めてくる可能性があります。 その場合しっかりと理由を聞いて、自分の目指してるものが作ることができるのかどうかを自分の頭で考えてみてください。
ちゃんと目的をもってLaravelを覚えよう
おそらくなんかしら作りたいものがあってLaravelを覚えようと思った人もいれば インフルエンサーが進めてたからLaravelを覚えたらエンジニアになれると勘違いしてる人も多いです。
前者の場合はおそらく頑張ればLaravelで作りたいものが実現できます。
後者の場合はそもそもエンジニアに向いてないので別の職業を探してください。
PHPを覚えてなくても扱えるってマジ?
8割ぐらいはYESといえます。
LaravelはPHPというサーバーサイドで動くプログラミング言語のアプリケーションフレームワークです。
こう見ると一見PHPを覚えないとLaravelを使うにはPHPを覚えないとだめなんじゃないかと思われます。
確かに新しい機能や気に入らない機能の改造をしなければ さほどPHPを意識なくてもアプリケーションを作成できる仕組みになっています。
実際問題、私はPHPの学習レベルでいうと最大が10の場合3~5程度の知識しか持っていません。
それでも実際の案件でなおかつ初めてLaravelを使って一人で納品するところまでやりました。
というのもその他の言語でプログラミングそのものに慣れているから扱えるのであって PHPのレベルはさほど関係ありません。
PHPは読めるだけでも大丈夫
ネタバレしてしまうと基本的に誰かが組んでくれているPHPのコードコピペするだけでも アプリケーションが作れてしまいます。
プログラミングそのものの基礎(変数や繰り返しの概念)さえ理解していれば PHP独特の書き方をしているだけなので読めるようになっていればOKです。
それぐらい親切で精密に組まれているフレームワークということです。
脳死で誰かに覚えさせようとする気持ちもわからなくもないですね。
私も実際他のPHPで作られたフレームワークはほとんど触ってないのですが Laravelに関しては直観で触りやすく新鮮さもありますし将来性も高く感じました。
突っ込んだことをするには
気を付けてほしいのはコピペだけで乗り越えようとすると、必ず壁にぶち当たります。
わけもわからずコピペを繰り返してるとバグや機能改善をする必要がでてくるわけですね。
コピペだけしているとどうコードを書けばいいのかわからないで、立往生することになってしまうので注意です。
最初のうちはコピペ&Google検索で難関を乗り越えていくだけで 意外とLaravel自体の操作はなんとかなります。
一度に全部覚える必要はないので、詰まったときは詰まった個所のメモと なぜ詰まってしまったのか自分で理解することが大切です。
言語自体の関数の意味とかはその都度ググればすぐに答えが出てきます。
Laravelを覚える前にやっておくべきこと
Laravelを扱う上で切っても切り離せないのが「JavaScript」ですね。
JavaScriptはPHPがサーバーサイドの言語なのに対してフロントエンドの言語になります。
簡単に言うと見た目を整えるためのプログラミング言語(JavaScriptは正確にはスクリプト言語)です。
LaravelはPHPで土台を作ってJavaScriptでインタラクティブに動かすのを1つにまとめたものだと思ってもらえるといいでしょう。
なので必然的にJavaScriptの知識が必要になってきます。
JavaScriptも結局コピペでおk
JavaScriptは通称キメラ言語(私が勝手に言ってるだけ(笑))です。
インターネットが普及したころからすでにあったのですが今ほど機能は多くなく 時代が進むにつれ機能を付け足してここまで成長してきました。
古い書き方や新しい書き方という概念が存在しているため、 環境によっては新しい書き方が動かなかったりすることもあります。
なのでネットやりたいこと(例えば画像をフェードアウトさせたい等)を調べて そこに書かれていることをコピペしてくるだけで使えます。
そういうものは大抵オプションが用意されていてフェードの速度を変えたりとか 任意の設定もできてしまうため自分でJavaScriptの言語を1から新しく組む必要はほとんどないです。
そしてコピペとオプションの設定を何度も繰り返していると、 JavaScriptの共通点やらが結構見えてきます。
あ、またこの書き方してるなっていうのはプログラミングにおいて結構出てきます。
そうなったら成長してる証でもあるのです。
難しいことをするのはその成長を実感してからでも遅くはありません。
中には〇〇ができないやつはダメ
みたいなレッテルを張ってくる頑固な本職エンジニアさんもいますが、 そういう人たちはツンデレなので「なんか言ってらぁ!」ぐらいの気持ちで流してあげてください。