0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravel基礎

Last updated at Posted at 2025-03-16

前提

  • 筆者はPHPすら触ったことがない
  • pythonの野良コードしか書いたことがなく、システムを組んだことはない。

本を読んで新しく学んだこと

1. Laravel、というかMVCアーキテクチャ

2. ルーティング:特定のアドレスにアクセスしたとき、どの処理を呼び出して実行するか

  • routesフォルダのweb.phpにどんどん書いていく
  • ルートパラメータにて処理に引数を渡す

3. コントローラ:具体的に実行すべき処理を担う

  • 名前空間:クラスを階層的に整理するための仕組み

4. ビュー:テンプレートをレンダリングして表示する

  • PHPのソースコードをそのままテンプレートする
    • resourcesフォルダ内のviewsというフォルダに適当な名前のフォルダを切って、phpファイルを配置
    • クエリー文字列(url/tekitou?id=watashi)やルートパラメータで引数を渡す
  • Bladeと呼ばれるテンプレートエンジンを使用する
    • ~~.blade.phpファイルで保存する
    • formをPOSTにて作れる
      -@if, @forなどで"ディレクティブ"を作れる
    • resources/views\layoutsにベースレイアウトを作成し、それを継承(@section, @extends)した継承レイアウトを作成する
  • サービスプロバイダ(ビューコンポーザ):ビューのビジネスロジックを入れるためのオブジェクト
    • artisan make:provider 名前にてServiceProviderを継承してApp\Providers\名前を作成
    • config\app.phpにパスを記述

5. モデル

  • DBクラスをそのまま使用
    • パラメータ結合等を利用して、SQLっぽく記述
  • Eloquent(ORM)を使用し、オブジェクト指向っぽく操作
    • スコープ:その条件下のレコードを集めているクラスを作成
  • マイグレーション:データベースの履歴管理機能。これを使って違う環境でも同じデータベースを構築する
  • シーディング:初期テーブルの作成インサート文を記述

6. リクエスト・レスポンスを補完

  1. ミドルウェア:Model・Controller・Viewの間でリクエスト・レスポンスの補完を行うもの
    • artisan make:middleware 名前にてApp\Http\Middlewareに作成
    • App\HTTP\Kernel.phpにパスを記述
    • ルーティングの時にmiddleware()で呼び出して、処理を補完する
  2. バリデーション:にて型間違え等を補完
    1. controllerのvalidateメソッド
    2. artisan make:request 名前にてApp\HTTP\Requests内に作成。フォームリクエスト。
    3. validatorクラスのメソッドを使用
    4. オリジナルのValidatorをApp\Http_Validatorに作成

5. ユニットテスト

  • PHPUnitを利用
    • php artisan make:test HelloTestにて、tests\Feature\HelloTestを作成
      • test~関数を作成し内容をassertで記述
      • test~という関数名のモノは自動的にテストされる
  • テスト用データベースを作成したほうがいい。

参考文献

  • PHPフレームワーク Laravel入門 掌田 津耶乃 著 URL
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?