概要
laradockでIntelliJ+Laravel+Vuejsの環境構築:⑴Laravelを動かしてみよう
⬆︎今ここ
laradockでIntelliJ+Laravel+Vuejsの環境構築:⑵Vuejsを動かしてみよう
laradockでIntelliJ+Laravel+Vuejsの環境構築:⑶
Laravelとは
phpで人気のフレームワーク。
設計方針的に自由度高い。
自由度が高いので汚く書こうと思えば書けちゃう。
2019年8月3日現在
5.5LTSが安定板で最新
公式
https://readouble.com/laravel/
環境
今回気にする環境
OS:mac, Ubuntu
docker, docker-compose
- 動作確認してる環境
mac book
docker:19.03.1
#docker内で動かした各種バージョン
php:7.2.20-2
composer:1.8.4
laravel:v5.5
環境構築の種類
1.ローカル上に環境を構築する
→
osの上にphpenvとか入れてlaravel入れる。今回これ使わない。ってか今後も使わない。つもり
メリット:覚えることが少ない。仮想環境の勉強はしなくて良い。
デメリット:他の人と環境合わせる時に結構めんどくさい。
2.laradock dockerで環境を構築する
→
osの上にdocker入れて、その環境内でlaravel環境を構築する。
今回はこれで。
メリット:docker覚えれば便利。
デメリット:docker覚えないといけない。
3.Homesteadで環境を構築する
→dockerでいいじゃん的な趣味的な理由でここは学習しない。
laradockで環境構築
laradockはlaravel専用docker。
前提としてdockerインストールしておいてね。updateもしておいてね。バージョン古いと動かないとかある。
インストールの仕方は他の資料参照。こことか。
https://qiita.com/teradonburi/items/8c23806e20ec8efc0ef4
mkdir app
cd app
git clone https://github.com/Laradock/laradock.git
cd laradock
#バージョンを固定してもいいと思う
git checkout v7.15
cp env-example .env
APP_CODE_PATH_HOSTはアプリケーションのディレクトリパス。 DATA_PATH_HOSTはプロジェクトのデータ管理場所。 COMPOSE_PROJECT_NAMEはdokcerのコンテナ名。 MYSQL_VERSIONはmysqlのバージョン。
.envの内容を修正。
APP_CODE_PATH_HOST=../src/
DATA_PATH_HOST=../.laradock/data
COMPOSE_PROJECT_NAME=laradock-project_name
MYSQL_VERSION=5.7
コンテナ起動。※ここでお昼に行ってもいい。かなり待つ。
nginxはwebサーバー。mysqlはdb。
docker-compose up -dで必要なdockerコンテナを立ち上げる。必要なコンテナがなければ、コンテナイメージをpullしてきてコンテナ化する。-dのオプションをつけてるのでバックグラウンドで動く。
redisはNoql。beanstalkdはキューイング。
docker-compose up -d nginx mysql phpmyadmin
dockerの中に入ってlaravelプロジェクトを作成する。
composerやnodeなどlaravel開発に必要なものを用意してくれてるコンテナがworkspace。
docker exec -it laradock_workspace_1 /bin/bash
or
docker-compose exec workspace bash
workspaceコンテナ内部でlaravelプロジェクトを作成する。
testappフォルダを作ってその中に5.5バージョンで構築する
composer create-project "laravel/laravel=5.5.*" testapp
testappフォルダを作ってその中に構築する
composer create-project laravel/laravel testapp
srcフォルダを作ってその中に構築する
composer create-project laravel/laravel=5.5 ./
...
<div class="content">
<div class="title m-b-md">
Laravel2! //こんな感じで少し変更する!
</div>
<div class="links">
<a href="https://laravel.com/docs">Documentation</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div>
...
アクセスして
http://localhost/
文言が少し変わってることを確認する。
次はVuejsを動かします。
参考
ここ参考
https://qiita.com/kurkuru/items/6ce0b9c4632b944347b8
サクッと動かす時はここを参考にしました。
https://daiki-sekiguchi.com/2018/08/13/laravel-vue-js-helloworld/
homestead
https://qiita.com/oreo3@github/items/1705b133e00019800ff6
Laravelについて
https://qiita.com/oreo3@github/items/1705b133e00019800ff6
チュートリアル
https://www.hypertextcandy.com/laravel-tutorial-authentication-part-2
AWSの良い記事
https://miyabi-lab.space/blog/14
docker良い記事
https://y-ohgi.com/introduction-docker/
PHPで大事なこと
- まだ呼ばれてない関数は実行できない。
/* ここでは関数foo()はまだ定義されていないので
コールすることはできません。
しかし関数 bar()はコールできます。 */
動かない時
dockerは動いてるか確認
mysqlは動いてるか確認
https://qiita.com/fuwamaki/items/194c2a82bd6865f26045