PHPのフレームワークLaravel
前回の記事で述べたようにPHPの基礎学習を終えたら、フレームワークの学習になります。フレームワークがいまいちよくわからないという人もいると思いますが難しく考えずにwebサービス開発を効率的に行うためのものと考えておけば大丈夫です。「フレームワークとは?」みたいなサイトを見るより自分で実際に使って見たほうが断然理解しやすいです。
しかし中には、僕みたいに仕組みが理解できないと勉強が捗るわけがないという人もいると思うので簡単に説明します。基本的にフレームワークを使わなくてもウェブサービス開発は可能です。その場合PHPだけで開発することになるですが、書くコードの量が半端じゃなく多いです。しかし、フレームワークを使うとそのコードの量が半分以下になります。また、開発を進めていく上で便利な機能(ダミーデータの作成等)も使えます。ただ、その機能をしっかりと理解するのに時間がかかるという難点もありますが。
人生初のフレームワーク学習
とにかくフレームワークが使えれば開発が一気にできるようになると知っていた僕は意気揚々とフレームワークの授業にのぞみました。しかし予想外の出来事がおきました。分からないのです!ほんとに今自分はPHPに関係していることを勉強しているのかもわからなくなるくらいすべてが新しいことでした。
まず最初にプログラミング学習の基本である「Helloworld」を画面に表示させることから始まるのですが、それだけなのにまぁ難しいんです。PHPを勉強しているときだったら、単純に「echo “”」を打つだけで出力できるのにLaravelで同じことをしようと思うと、他にもRouteという機能やControllerという機能を設定してやっと文字を画面に出力できるのです。
正直に言うと授業中にインド人の先生が何をやっているのか分からずに、ただただ画面に映されたコードを移していただけでした。学校の授業ではまず最初にブログ投稿サイトのようなものを作ります。その後に、似たような機能になるのですが、アルバムを作って写真を投稿するサイトを作って授業は終わりです。この2つの種類のサイトを作るのに大体3〜4週間かけます。
僕はフレームワークのしっかりとした仕組みを理解できていなかったので、授業もなあなあで進めてしまっていたので、授業が一通り終わってから自主制作を行うときに大きくつまずいてしまいました。
これからインドでLaravelを勉強する人へ
これからインドでプログラミング留学する人が僕と同じような失敗をしないために、Laravel学習で僕がやっておけば良かったと思うことを紹介していきます。
PHPで何かサービスを開発する
確かにLaravelを使うことで開発の効率は上がりますが、PHPでの開発をやったことがないと、どの部分が効率化されているのか理解できずLaravelの理解に支障が出ると大きく感じたからです。また、Laravelではかなり工数を削減するので、PHPだけでの開発経験が無いと自分が今何をしているのか分からなくなってしまいます。

分からないところは徹底的に先生に聞く
一見当たり前のことを言ってるだけのように聞こえるかもしれませんが、これが日本人の一番苦手としている所だと僕は思っています。インド人の先生は結構パパっと授業を進めていきがちなので遠慮してしまって自分が完全に理解するまで質問を続けるということを敬遠してしまいがちです。プログラミング学習に置いては、わからない所を放置し続けるといつか必ずボロが出てくるので、分からないところは徹底的に潰していきましょう。
CRUDをしっかりと理解する
CRUDとはCreate(登録)、Read(読み込み)、Update(更新)、Delete(削除)の略称でLaravelの核となってくる機能です。プロでは無いので僕からの説明は控えますが、これを完璧に 理解することができればLaravelを使いこなすのに大きく前進できます。僕はここの学習を怠り、闇雲にコードを書いてしまったので学習の効率が悪かったと自負しています。
勉強する前は魔法の道具のように思えていたフレームワークも実際に勉強してみると大変な暴れ馬であることがわかりました。この記事を読んでいるインドでのプログラミング留学を考えているそこのあなた!この記事を参考に勉強頑張ってください。
ツイッターにて記事の更新情報や留学についての情報を毎日つぶやいているのでぜひフォローよろしくお願いします!