バージョン

Laravel 10

Laravel 9

Laravel 8

基本事項

artisan

Eloquent

Queue

  • Queueはある決まった処理を非同期で実行するための仕組み
  • QueueにJobを登録していき、その処理を実行していく

Job

  • Jobとは処理を実行する本体
  • QueueにJobが登録され、queueにあるJobが実行されます

Worker

  • Workerは常駐していて、Queueを監視
  • Queueがあれば、Jobにデータを渡して処理を実行

デザインパターン

アプリケーション構造

Http

Controllers

  • フロントと、ビジネスロジックで取得したデータの橋渡しの役割を担う

Middleware

  • ミドルウェアを使うためには、app/Http/Kernel.php に新しく作ったミドルウェアを登録する必要がある
  • ミドルウェアを登録する形式は以下の2つがある
    • グローバルミドルウェア ... アプリケーション全体に作用させたい場合
    • ルートミドルウェア ... 特定のルートに対してのみ作用させたい場合
      • ルートミドルウェアを登録するときには、ミドルウェアを呼び出すためのエイリアスも登録する
  • 基本の処理順
    • ①グローバルミドルウェア(前処理)
    • ②ルートミドルウェア(前処理)
    • ③コンストラクタ内ミドルウェア(前処理)
    • ④コントローラーの処理
    • ⑤コンストラクタ内ミドルウェア(後処理)
    • ⑥ルートミドルウェア(前処理)
    • ⑦グローバルミドルウェア(前処理)
  • LaravelではMiddlewareの優先度を指定することができる
  • app/Http/Kernel.phpに書いておく

Requests

Kernel.php

Logics

Models

Providers

Repositories

  • Repository(リポジトリ)パターンは、ドメイン駆動型設計の一つとして導入されたもので、データソースへのアクセスの抽象化を提供するもの
  • データの永続化に関わるビジネスロジック(データの保存などの操作)を書く

Services

  • 「Request→Controller→Service→Model or Repository」のようにビジネスロジックの処理箇所としてServiceクラスを作成
  • データの永続化に関わらないビジネスロジックを書く
    • json整形のような取得したデータを加工してControllerに値を返す処理など

config

database.php

database

factories

migrations

routes

api.php

web.php

tests

Feature

  • 機能テスト

Unit

  • ユニットテスト

パッケージ

開発環境

Laravel Valet

認証

Laravel Breeze

  • Laravelを使ったユーザ登録、ログイン、パスワードの再設定などの認証に関わる基本的な機能を提供

Laravel Fortify

Laravel Sanctum

  • モバイルアプリや SPA 作成時に使用されるライブラリ
  • トークン認証(主にモバイルアプリ用)、クッキー認証(主に SPA 用)ができる

Laravel Passport

Laravel Jetstream

エラー検知

Flare

テスト

Laravel Dusk

  • アプリケーションのブラウザテストを行うためのツール

負荷テスト

Git

.gitignore

トップ

空フォルダを管理対象に

  • 以下のフォルダに下記の内容の .gitignore を配置
    • storage/framework/cache/data/
    • storage/framework/app/cache
    • storage/framework/sessions
    • storage/framework/views
*
!.gitignore
  • こうすることで、GitHub ActionsでPHPUnitテストを行った際にエラーが出ないようにできる

開発

WebAPI

GraphQL

デバッグ

tinker

トラブルシューティング

Target class [***Controller] does not exist.

Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Please provide a valid cache path.

Unable to locate Mix file

  • npm run dev でエラー
     % npm run dev
    
    > dev
    > npm run development
    
    > development
    > mix
    
    ✖ Mix
      Compiled with some errors in 356.92ms
    
    ERROR in ./resources/css/app.css
    Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
    ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
    TypeError: Cannot read properties of undefined (reading 'config')
        at getTailwindConfig (/Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/lib/setupTrackingContext.js:131:62)
        at /Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/lib/setupTrackingContext.js:22:92
        at /Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/processTailwindFeatures.js:38:11
        at plugins (/Users/mr/Projects/sample_actions/node_modules/tailwindcss/lib/index.js:30:63)
        at LazyResult.runOnRoot (/Users/mr/Projects/sample_actions/node_modules/postcss/lib/lazy-result.js:339:16)
        at LazyResult.runAsync (/Users/mr/Projects/sample_actions/node_modules/postcss/lib/lazy-result.js:393:26)
        at async Object.loader (/Users/mr/Projects/sample_actions/node_modules/postcss-loader/dist/index.js:97:14)
        at processResult (/Users/mr/Projects/sample_actions/node_modules/webpack/lib/NormalModule.js:753:19)
        at /Users/mr/Projects/sample_actions/node_modules/webpack/lib/NormalModule.js:855:5
        at /Users/mr/Projects/sample_actions/node_modules/loader-runner/lib/LoaderRunner.js:399:11
        at /Users/mr/Projects/sample_actions/node_modules/loader-runner/lib/LoaderRunner.js:251:18
        at context.callback (/Users/mr/Projects/sample_actions/node_modules/loader-runner/lib/LoaderRunner.js:124:13)
        at Object.loader (/Users/mr/Projects/sample_actions/node_modules/postcss-loader/dist/index.js:142:7)
    
    1 ERROR in child compilations (Use 'stats.children: true' resp. '--stats-children' for more details)
    webpack compiled with 2 errors

file_put_contents ...

file_put_contents(/var/www/html/sample/storage/framework/sessions/...

file_put_contents : failed to open stream:

npm


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-02-28 (火) 14:12:46 (436d)