Laravel 基礎知識

1. Laravel と

Laravel は PHP で書かれたオープンソースの Web アプリケーションフレームワークです。2011 年に Taylor Otwell によって作られ、現在では PHP フレームワークの中で最も人気のあるものの一つとなっています。MVC(Model-View-Controller)アーキテクチャを採用しており、ビジネスロジック・データ・表示を分離して開発できます。

1.1 主要な機能

機能説明
Eloquent ORMデータベース操作をオブジェクト指向で直感的に扱える。SQLをほとんど書かずにDB操作が可能
Blade テンプレートシンプルかつ強力なテンプレート構文。HTMLとPHPを綺麗に分離
Artisanコマンドラインツール。コードの自動生成・マイグレーション・キャッシュクリアを効率化
ルーティングRoute::get(‘/users’, …) のような直感的な記述でURLとコントローラーを結びつける
認証(Auth)ログイン・登録・パスワードリセットなどの認証機能を標準装備
マイグレーションデータベース構造のバージョン管理
キューと スケジューラ非同期処理・タスクの定期実行

Composer による依存管理

2.1 Composer とは

Composer は PHP の依存管理ツールです。JavaScript の npm、Python の pip に相当します。Laravel 自体も Composer を使ってインストール・管理されます。「アプリの部品調達係」と考えると理解しやすいです

2.2 Composer の3つの役割

  • 買い物リストの管理: composer.json = 「このアプリに必要な部品リスト」
  • 部品の調達と配置: Packagist からライブラリを取得して vendor/ に配置
  • 部品同士の互換性チェック: バージョン矛盾がないか自動確認

2.3 ライブラリの所在

場所役割
Packagist (packagist.org)PHPライブラリのカタログ(Amazonのサイトに相当)
GitHub実際のソースコードの置き場所(Amazonの倉庫に相当)
vendor/ フォルダあなたのPCに取ってきた完成品(自宅に届いた荷物)
ローカルキャッシュ一度落としたものの控え(物置に置いてある予備)

2.4 よく使うコマンド

composer install              # composer.lock通りにインストール

composer update               # 制約内で更新

composer require guzzlehttp/guzzle  # 新規パッケージ追加

composer remove vendor/package      # パッケージ削除

composer dump-autoload         # オートローダーの再生成