Laravelを始めたので概要やコマンド等を記録しておきます。
内部でSymfonyを使用している。
見出し
Wiki情報
LaravelLaravelLaravelLogo.png開発元 Taylor Otwell初版 2011年6月(7年前)[1]最新版 5.7.x[2] / 2018年9月4日(3か月前)リポジトリ github.com/laravel/frameworkプログラミング言語 PHP対応OS クロスプラットフォームサポート状況 Active種別 Webアプリケーションフレームワークライセンス MIT License公式サイト laravel.comテンプレートを表示Laravel は、MVCのWebアプリケーション開発用の無料・オープンソースのPHPで書かれたWebアプリケーションフレームワークである。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている[3][4]。マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発した
Laravel環境構築手順
詳細は別ページにまとめています。
Laravelバージョン確認
プロジェクトディレクトリ直下で
1 2 |
php artisan --version php artisan -V |
LaravelはWebサーバ機能が内蔵されている
PHP5.4以降で提供されているビルトインサーバを使用します。
railsみたいにサーバ機能が内蔵されているので、環境を持っていない場合でも始められる事が出来ます。でも個人的には仮想環境やテストサーバ等用意した方が良いと思います。
1 |
php artisan serve |
Laravelのディレクトリ構造について
フレームワークの概要を知る為に、ディレクトリ構造の説明を見るのはわかりやすいと思いました。
https://readouble.com/laravel/5.5/ja/structure.html
Laravelのルーティング
getとpostでそれぞれルーティングを別に書くあたりrailsに近い感じがしました。
view側
view周りでは結構便利な感じがします。
Bladeというテンプレートを使用しています。拡張子はblade.phpでBladeの書き方を覚える必要があります。EC-CUBE3 Symfony2 であった twigのようなものに近い印象です。
いくつかやり方がありますが、テンプレートの階層も持てます。Cakeでもelementとして出来たような事も当然出来ます。
また、ビューコンポーザという仕組みがあり、ビューに出力する為のビジネスロジックなどをまとめられるクラスがあります。自分はCakeの場合はヘルパーを使ったりしていたのですが、正々堂々とコンポーザにまとめられそうです。
view側でLayoutsやComponentsも使えるのですが、デフォルトで定義されておらず、自分で作る感じでした。Cakeに比べてここは不親切に感じたのですが、たぶんAPIのバックエンドとして使う事が多くなってきたからと思います。
DB周り
マイグレーション機能。railsのようにデフォルトで装備されているのはとても助かります。
普通にORMを使用しておりクエリビルダーなどありました。Doctrineのような感じです。
スコープメソッド
クエリビルダー用にメソッドを作れます。
1 2 3 |
function scopeIsActive($query) { return $query->where('active', 1); } |
1 |
$hogemodel->isActive()->get(); // こんな感じでリーダブルに使えます |
その他リンク
この本を買いました。
Laravel5.4対応なので最近の本です。フレームワークで難しいのがルーティングですがサンプル例が多数出ており、とてもわかりやすかったです。今まで買ったフレームワークの本の中で一番わかりやすい本でした。
↓このマニュアルが参考になります。
https://readouble.com/laravel/5.5/
UdemyでもLaravelありました。
https://dotinstall.com/lessons/basic_laravel_v2