LoginSignup
1
0

More than 1 year has passed since last update.

PHP,Laravelでメモアプリを作った際の忘却録

Last updated at Posted at 2021-10-15

Dockerのインストールとdockerコマンドの使用

私が使用しているMacにdockerをインストールしてdockerコマンドを使えるようにするらしい

この前のrailsを使ったLINE-botもそうだが
何かの外部からのコマンドを使えるようにするには
外部からインストールするというのが方法のようだ

Dockerとは

Dockerとは現在使用しているパソコンにnginx(最も高い稼働率を誇るサイトのうち約65%以上で広範囲に支持されている高信頼のWebサーバシステム)やMySQL(オープンソースのリレーショナルデータベース管理システム)などの開発に必要とされるソフトウェアを簡単にインストールして動かせる技術のこと。

確認

そんなDockerをインストールして実際にターミナルでコマンド入力できるか確認

すると

> docker-compose -v
unknown shorthand flag: 'v' in -v

とでた

docker-compose --version
Docker Compose version v2.0.0-rc.3

このようにコマンド入力したらバージョンが出た。
よかった。

PHPの環境構築の際のエラー

さて、今回はPHPを使用するのだが
Git Hubから環境構築用のファイルを取得し、
docker-composeコマンドを使って環境の立ち上げを行なった

docker-compose -f .docker_memo/docker-compose.yml up -d

このコマンドを使用することで環境構築を自動で行なってくれるらしい

Recreating php_simple_memo_mysql ... done
Recreating php_simple_memo_phpmyadmin ... done
Creating php_simple_memo_php          ... done
Creating php_simple_memo_nginx        ... done

無事完了した

これで、mysql, phpmyadmin, php, nginxが起動している状態になった。

また

docker ps

こちらのコマンドで起動状況の確認ができた

実行されているアプリケーションの環境の停止と起動

停止

docker-compose -f .docker_memo/docker-compose.yml down

起動

docker-compose -f .docker_memo/docker-compose.yml up -d

Laravel

createメソッド→モデルに$fillableまたは$guarded変数を作成して、設定をしないといけません。
$guarded→更新できないカラムを列挙した一覧を設定

$fillable→更新できるカラムを列挙した一覧を設定

dockerコンテナに入ってlaravelのマイグレーションを行なった際に発生したエラー

dockerコンテナに入って

php artisan migrate

を実行したところ

Nothing to migrate

というエラーが発生した
どうやらmigrateするものはないとのこと

php artisan migrate:fresh

で実行したところ

Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (78.65ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (51.53ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (61.13ms)
Migrating: 2021_10_09_122745_create_memos_table
Migrated:  2021_10_09_122745_create_memos_table (30.86ms)

となって成功した。

この:freshを行うことで全てのテーブルをドロップしてから再びマイグレーションできるらしい

PHPとLaravelのファイルやディレクトリの作成の違い

PHP→mkdirやcd,vimを使用してファイルやディレクトリの作成を行う
Laravel→dockerコンテナに入ってコマンドを実行して作成

PHPとLaravelの両方で同じ機能のメモアプリを作った感想

・LaravelではMVCのアーキテクチャにより、どこでどの処理が行われているのかの判断がしやすく、エラー部分に気づきやすかった。
・大規模開発になればなるほど管理の面からLaravelの恩恵を受けやすいと感じた。
・小規模であったり単体の実装であればPHPで行うのが良いのでは?と感じた

1
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
1
0