Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

Laravel覚書

Last updated at Posted at 2019-08-26

覚書

復習用。。

ドキュメント:https://readouble.com/laravel/

導入手順

php.iniの中を修正

extension=fileinfo

をコメントアウトする。

Composerを入れる。

cd laravel_project_folder

# Laravelインストーラを使う版()
laravel new
# もしくは↓
# Composerから入れる版(PhpStormからLaravel入れるととこっち。version、オプションは要確認)
composer create-project --prefer-dist laravel/laravel 5.8

# どちらかというと、composerから入れた方が良い?

インストールが終わったら

php artisan serve

やっといた方がいいこと

IDE

PhpStorm推奨。Larvel用のプラグインがあって補完が強力。
でも、EclipseでやったことないからEclipseだとどうなるかは不明。

PhpStormの初期設定初期設定を実行する をやる。
その後、↓を実行すると

  • routes\web.php の中とかでContorllerの補完や、Controllerへのジャンプ等が効くようになる。
  • Facadeになっている場合、Facadeの実装へつないでくれる中間コードを生成してくれる。

※上手く動いてない場合はPhpStorm再起動(Just restart)するといいかも。。?

composer require --dev barryvdh/laravel-ide-helper

php artisan ide-helper:generate
php artisan ide-helper:meta
php artisan ide-helper:models

※modelsの方は、yes/no を聞かれるが、noで。noにすると、_ide_helper_models.php が生成され、yesにすると、Modelのソースに直接修正が入る。

↑の後、config/app.phpproviders に↓を入れる。(多分、5.5以降は不要。元ネタを参照)

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

※元ネタ、https://github.com/barryvdh/laravel-ide-helper#complete-phpdocs-directly-from-the-source

デバッグ

デフォルトのままだとデバッグ(というかブレークして変数の中身をみたりっていうのが)できない。
この記事 参照。
※APIにも対応

debugbar等で画面に表示するタイプのヤツは、IDE上でブレークするのに比べるとどうしてもきつい。

画面にデバッグ情報を表示する場合はこの辺りも参考に
https://note.mu/kurashicom_tech/n/n09b31d151f06

DB接続

php.iniの↓のコメントアウトを解除する必要あり。

;extension=pdo_mysql

ログ

標準出力にログが出せるようにしておく。
ログのフォーマットを決めれるようにしておく。

ミドルウェア(Laravelの)

リクエスト、レスポンスのログを出す。

Nginx、php-fpm

php-fpmの役割、https://hackers-high.com/linux/php-fpm-config/
Nginxからリクエストを転送してもらう必要ある。

セッション管理

redisに切り替えるの推奨。デフォルトだと起動しているサーバに保持する。

やり方

routes

  • APIはapi.phpに書く
  • urlのプレフィックスに/api/がつく
  • ミドルウェアが極小
  • 画面はweb.phpに書く
  • ミドルウェアが最初から沢山

ミドルウェアの詳細は app/Http/Kernel.php

メッセージの取得

"msg_id" => ":msg_id message_string"

↑のメッセージが定義されてるとして、msg('MSG_ID') とかしたら、"MSG_ID message_string" が取得できるようなメソッド作る。

モック

TODO

記憶の片隅

artisan

php artisan serve --host 0.0.0.0 --port 8000

にしないと、ローカルからしか接続できない。

名前付きルート

ルートを設定する時は名前つける。リダイレクトとかする時は名前で指定する。
※URLが変わっても遷移先の指定をしている部分のソースの修正なしで追従できる。

artisan

artisan というコマンドを実行している風に見えるが、artisan をphpとして実行しているだけ。artisan の中身はphp。

サーバ

開発中は php artisan serve で起動したサーバを使用してよいが、リリースする際には nginxやphp-fpmを使用する必要がある。
artisan serve で起動しているサーバはシングルスレッドなので処理能力が超低い、確か。

サーバレス

Laravel使うと、Lambdaでは起動できない。(少なくとも2019の1月頃は)
AWS上で実行する場合、EC2を使うか、ECSを使うか。

Lambdaで動かしている日本語の記事が出てきた(2019/09時点)。

※日本語じゃないリンク

リンク

Laravel関係まとめ

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?