20190209のlaravelに関する記事は2件です。

Laravelコマンド一覧

Laravelの開発では不可欠なartisanコマンド。
開発のレベルにもよりますが、個人的に使う頻度が高いものを中心に書いていきます。
基本、初心者向けに書いていきます。

artisan

artisan : 職人という意味。LaravelのテーマがThe PHP Framework For Web Artisansだからですかね。

基本的なコマンド

コマンド一覧参照

php artisan list
php artisan -l

artisanコマンドの一覧を表示してくれます。
きちんとlistと打たなくても、 -l でも返してくれます。

コンソール起動

php artisan tinker

コンソールを起動してくれます。
対話的にプログラムを扱いながら、動作のテストなども行えます。
データベースに入っているレコードの取得や追加作業が可能です。

モデル作成

php artisan make:model モデル名

モデルを作成します。ちなみにモデル名の最初は大文字にしましょう。

例)

php artisan make:model Article

これでArticle.phpというファイルが作成されます。

ついでに覚えておいたほうがいいのが、-mです。

php artisan make:model モデル名 -m

これでモデルと一緒にマイグレーションファイルも作成してくれます。
マイグレーションファイルはDBを操作するためのファイルです。詳しくは下に↓。

コントローラ作成

php artisan make:controller コントローラ名

コントローラが作成できます。コントローラ名はキャメルケースにしましょう。
例えば"ArticleController"みたいな感じです。
キャメルケースが分からない人はググってください。スネークケースとパスカルケースも。

モデルとコントローラはコマンドを打って作成しますが、View(bladeファイル)はLaravel上で自分で作成します。resources/views配下に新しいファイルを作ってファイル名を〇〇.blade.phpにすればOKです。プロジェクトが大きくなりそうならbladeもディレクトリで分けて作成しましょう。

マイグレーション系コマンド

マイグレーションファイルはデータベースを操作するためのファイル。テーブルやカラムを追加したり、削除したり。Laravel初心者の方はエラーを起こしがちな箇所でもあります。特にrollbackとrefreshとresetの使い方は覚えておいて損はないです!

マイグレーションファイル作成

php artisan make:migration create_article_table

上記のコマンドは新しくテーブルを作成するときの例です。
カラムを追加するならadd_column_to_articles_table --table=articlesとか??

マイグレーションファイル実行

php artisan migrate

マイグレーションファイルに追記した後に実行し、DBの変更を行います。
テーブルを作ったり、カラムを追加したり。。
段階ごとにまとめてロールバックしたいときは --stepを使います。
例えば --step=3 とつければ最後の3マイグレーションをロールバックしてくれます。

ロールバック

php artisan migrate:rollback

ロールバックは最後に行なったマイグレーションを元に戻します。

リフレッシュ

php artisan migrate:refresh

リフレッシュは全部のデータベースマイグレーションをまずロールバックし、migrateコマンドを実行します。データベースの作り直しの時に使います。

リセット

php artisan migrate:reset

アプリケーション全部のマイグレーションをロールバックします。

マイグレーションステータス

php artisan migrate:status

マイグレーション状況を教えてくれます。

その他もろもろ

ルーティングの確認

php artisan route:list

routes.phpで設定したルーティングを確認できます。
逐次確認しながらコーディングしていけばエラーは起こりにくくなると思います。

サーバー起動

php artisan serve

その名の通りサーバーを起動します。実際の動作をブラウザで確認できます。
サーバーを停止するにはCtrl+cです。

コマンド作成

今まではLaravelにあらかじめ設定されているコマンドを紹介してきましたが、実は自分でコマンドを作ることもできます。

php artisan make:console コマンド名 (~5.2)
php artisan make:command コマンド名 (5.3~)

例えばあるページの情報をスクレイピングするコマンドを作成したり。。
結構便利なので、慣れてきたら使ってみてください。
*Laravel5.2までの人はmake:console , 5.3以降の人はmake:commandです。

おまけ

php artisan inspire

Laravelで設定されている名言を返してくれます。全部英語です。
1回試したら2度と使わないと思います。。
laravel/vendor/laravel/framework/src/Illuminate/Foundation/Inspiring.phpに設定されているので、自分で追加することもできます:stuck_out_tongue_winking_eye:

最後に

色々書きましたが、分からなくなったら最初のphp artisan -lでリストを確認してください:robot:
最初は何かを参照しながらでも、慣れてきたら何も見なくても操作できるようになります。
頑張りましょう!!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel Forgeを使ってAWSのサーバー構築を15分で終わらせる

業務でAWSに本番サーバーを立てる必要があり、サクッと環境構築+デプロイできる都合の良いツールはないかなぁと探していたら、ありました。
ありましたと言っても、公式で紹介されているんですけどねw(※有料です)

Forgeによるデプロイ
https://readouble.com/laravel/5.7/ja/deployment.html

環境構築に時間をかけるのはやめよう!

AWSでのサーバー構築に慣れていない場合、VPC作成〜EC2インスタンス作成〜必要なモジュールのインストール、等々で1時間以上かかってしまうこともあります。ところが、Forgeだと最低限の設定であれば15分程度で済ませることができてしまうんですよね。インフラ初心者でもAWSのややこしいコンソールはほとんど見る必要がなくなります。(とはいえ、業務レベルになるとAWSの知識や設定方法の理解は必要になりますが。。)

設定手順

AWSのアカウントを取得していることを前提で話を進めます。

事前準備

IAMの設定

AWSのIAMから「ユーザーを追加」から、「AmazonEC2FullAccess」にチェック✓を入れ、IAMユーザーを作成します。
アクセスキーIDとシークレットアクセスキーは、Forgeで使います!

スクリーンショット 2019-02-05 12.49.16.png
スクリーンショット 2019-02-05 12.50.33.png

Forgeの設定

サインアップ

https://forge.laravel.com/
必要な項目を記入し、登録します。
スクリーンショット 2019-02-09 12.02.37.png

APIキーの登録

Forgeにログインすると、画面の下の方にサービスを選択する箇所があるので、AWSを選択します。先程確認したIAMのアクセスキーIDとシークレットアクセスキーを入力し、Connectをクリックしましょう。
画面上部に Great! Now let's connect to a source control and server provider so we can create servers! と表示されれば成功です!
(うまくいかない場合は、IAMの設定もしくはキーの入力間違いがないかを確認してみてください)
スクリーンショット 2019-02-05 12.50.58.png

Service Providersの登録

Forgeの右上のメニューから、MyAccountを選択し管理画面へ移動します。
Service ProviderからAmazonを選択し、Profile NameとIAMのアクセスキーIDとシークレットアクセスキーを入力しましょう。
(Profile Nameは自分が分かれば何でも構いません。後からでも変更は可能です!)
スクリーンショット 2019-02-05 12.59.39.png

EC2インスタンスの作成

さて、Forgeの初期設定が終わったら、いよいよサーバーを立てていきます!
Forge画面トップのCreate ServerからAWSを選択しましょう。
(Connectが完了しているのにCreate Serverが表示されない場合は、画面上部にお知らせが表示されていると思うので「Skip For Now」を選択)

Credentials: Server Providersで登録したProfile Name
Name: サーバー名(EC2のインスタンス名)
Region: リージョンを選択(分からなければTokyoを選択)
Server Size: お財布と相談してください。
VPC: 新規に作成する場合は、Create New。既存のVPCに作成したい場合は、それを選択してください。
   (VPC作成済なのに表示されない場合は、Regionが間違っている可能性があります)
VPC Name: 作成するVPC名(既存のVPCに作成する場合は、サブネットが選択できるようになります)
PHP Version: インストールするPHPのバージョン
Post-Provision Recipe: インストール後に起動するスクリプト(今回は作成していません)
Database: 作成するデータベース(作成しない場合はNoneを選択)
Database Name: データベース名
Provision As Load Balancer: ロードバランサーとして作成する場合はチェック✓。今回はしない。

入力できたら、Create Serverをクリックします。
すると、インスタンスが作成されPHPやNginx等Laravelに必要なものがサーバーにインストールされます。
インスタンスの作成には10分程かかるので、のんびり待ちましょう!
インスタンスの作成が完了したら、サーバーのSudoパスワードとデータベースのパスワードが記載されたメールが届きます。

スクリーンショット 2019-02-05 14.03.32.png

構築完了!

Connectionの矢印をクリックし、接続できていればSuccessfulが表示されます。
スクリーンショット 2019-02-05 14.20.11.png

デプロイ

今回は、Githubを使います。
上部メニューのSitesからdefaultをクリックすると、Git Repositoryが選択できます。
スクリーンショット 2019-02-05 14.35.33.png

リポジトリのインストール

記載されているサーバーの公開鍵を、Githubの指定のリポジトリに設定します。
リポジトリのアドレスとブランチを設定すれば、Install Repositoryをクリックし、インストールが終わるのを待ちましょう!
スクリーンショット 2019-02-05 14.37.02.png

デプロイする

インストールが完了すれば、右上のDeploy Nowをクリックするのみです!
スクリーンショット 2019-02-09 14.10.46.png

以上で最低限の設定は完了です!
これでアプリケーションの開発に集中できますね!

参考

php開発環境の管理に超便利なLaravel Forgeの始め方 (上)
https://qiita.com/MasaGon/items/ab75001477192ecd51b5
Laracasts - EPISODE 3 Your First Project
https://laracasts.com/series/learn-laravel-forge/episodes/3

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む