このセクションでは,コメントが書き込める掲示板を作成する.このページではプロジェクトの作成と初期設定を行う.なおここで作成したプロジェクトは Github で公開している.
ディレクトリを移動する.
[GakuinHana@rin06 ~]$ cd Documents/ ⏎ [GakuinHana@rin06 Documents]$ cd laravel/ ⏎ [GakuinHana@rin06 laravel]$ pwd ⏎ /home/students/GakuinHana/Documents/laravel [GakuinHana@rin06 laravel]$ ls ⏎ composer.phar
myapp
という名前のプロジェクトを作成しよう.php composer.phar create-project --prefer-dist laravel/laravel=5.8 myapp
コマンドを実行しプロジェクトを作成する.これには数分の時間がかかります.最後に,Application key (毎回異なる) が生成されれば,プロジェクトの作成が完了です.なお,Laravelのバージョンを変更するにはphp composer.phar create-project --prefer-dist laravel/laravel=5.5 myapp
とすればよい.また,バージョン名を省略して php composer.phar create-project --prefer-dist laravel/laravel myapp
とすると現在の最新バージョンでプロジェクトが作成される.
[GakuinHana@rin06 laravel]$ php composer.phar create-project --prefer-dist laravel/laravel=5.8 myapp ⏎ Installing laravel/laravel (v5.8.0) - Installing laravel/laravel (v5.8.0): Loading from cache Created project in myapp ... (省略) ... phpunit/phpunit suggests installing ext-soap (*) Writing lock file Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: beyondcode/laravel-dump-server Discovered Package: fideloper/proxy Discovered Package: laravel/tinker Discovered Package: nesbot/carbon Discovered Package: nunomaduro/collision Package manifest generated successfully. > @php artisan key:generate --ansi Application key set successfully. [GakuinHana@rin06 laravel]$
作成したプロジェクトに手を加える前に,まずは Git でコミットしておく.
[GakuinHana@rin06 laravel]$ ls ⏎ composer.phar myapp [GakuinHana@rin06 laravel]$ cd myapp/ ⏎ [GakuinHana@rin06 myapp]$ ls ⏎ app bootstrap composer.lock database phpunit.xml readme.md routes storage vendor artisan composer.json config package.json public resources server.php tests webpack.mix.js [GakuinHana@rin06 myapp]$ git init ⏎ Initialized empty Git repository in /home/students/GakuinHana/Documents/laravel/myapp/.git/ [GakuinHana@rin06 myapp]$ git add . ⏎ [GakuinHana@rin06 myapp]$ git commit -m'initial commit' ⏎ [master (root-commit) 4d1cb75] initial commit 88 files changed, 8060 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 app/Console/Kernel.php ... (省略) ... create mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 webpack.mix.js [GakuinHana@rin06 myapp]$ git log ⏎ commit 4d1cb7596716fbeb516b5b29653f200f87f9d466 Author: Gakuin Hanako <gakuin.hanako@dummy.kobegakuin.ac.jp> Date: Wed Sep 25 17:05:31 2019 +0900 initial commit [GakuinHana@rin06 myapp]$
myapp
のディレクトリが作成され,その中に作成されたプロジェクトのディレクトリ構造を確認する.
[GakuinHana@rin06 myapp]$ pwd ⏎ /home/students/GakuinHana/Documents/laravel/myapp [GakuinHana@rin06 myapp]$ ls -a ⏎ . .gitattributes composer.lock readme.md vendor .. .gitignore config resources webpack.mix.js .editorconfig app database routes .env artisan package.json server.php .env.example bootstrap phpunit.xml storage .git composer.json public tests [GakuinHana@rin06 myapp]$
Sqlite用に空のデータベースファイル database/database.sqlite を作成する.
[GakuinHana@rin06 myapp]$ ls ⏎ app composer.json database public routes tests artisan composer.lock package.json readme.md server.php vendor bootstrap config phpunit.xml resources storage webpack.mix.js [GakuinHana@rin06 myapp]$ cd database ⏎ [GakuinHana@rin06 database]$ ls ⏎ factories migrations seeds [GakuinHana@rin06 database]$ touch database.sqlite ⏎ [GakuinHana@rin06 database]$ ls ⏎ database.sqlite factories migrations seeds [GakuinHana@rin06 database]$ cd .. ⏎ [GakuinHana@rin06 myapp]$
.env ファイルはデータベースの接続情報などの環境設定を保存するファイルである.ファイル名の先頭が . のファイルは隠しファイルであるため,Linux の ls
では見えず,隠しファイルも表示する -a
オプションを付けて,ls -a
を使わなければならない.標準設定の Windows でもエクスプローラから見えないようになっている.
大学 PC の Windows 8 では「表示」タブで「隠しファイル」にチェックを入れると,.env ファイルが見えるようになる.
.env ファイルを修正する.DB_CONNECTION
をsqlite
に変更し,DB_HOST
, DB_PORT
, DB_DATABASE
, DB_USERNAME
, DB_PASSWORD
の行を削除するか,先頭に #
を付けてコメントアウトする.
.env (抜粋)
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=homestead
# DB_USERNAME=homestead
# DB_PASSWORD=secret
プロジェクトの設定ファイル config/app.php を編集し,タイムゾーンをAsia/Tokyo
に,言語をja
に変更する.
config/app.php (抜粋)
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'Asia/Tokyo',
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'ja',
Webサーバを起動して,Webブラウザからプロジェクトのトップページにアクセスする.このとき,ポート番号は他の学生と重複しないように8000から8400の番号を指定する.例えば,8000番台の下3桁に自分の学籍番号の下3桁を指定すると良い.
[GakuinHana@rin06 myapp]$ php artisan serve --host=rin06.ba.kobegakuin.ac.jp --port 8385 ⏎ Laravel development server started: <http://rin06.ba.kobegakuin.ac.jp:8385>
Webブラウザのアドレスバーにhttp://rin06.ba.kobegakuin.ac.jp:8385
を入力すれば,次のような画面が出るはず.
Webサーバを停止するには Ctrl + C を押す.
[GakuinHana@rin06 myapp]$ php artisan serve --host=rin06.ba.kobegakuin.ac.jp --port 8385 ⏎ Laravel development server started: <http://rin06.ba.kobegakuin.ac.jp:8385> [Wed Sep 25 17:16:18 2019] 10.106.134.125:51100 [200]: /favicon.ico [Wed Sep 25 17:17:12 2019] 10.106.134.125:51105 [200]: /favicon.ico ^C [GakuinHana@rin06 myapp]$
作成したプロジェクトがうまく動作すれば Git でコミットしてこう.
[GakuinHana@rin06 myapp]$ git status ⏎ # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: config/app.php # no changes added to commit (use "git add" and/or "git commit -a") [GakuinHana@rin06 myapp]$ git add . ⏎ [GakuinHana@rin06 myapp]$ git commit -m'config' ⏎ [master fc5fea3] config 1 file changed, 2 insertions(+), 2 deletions(-) [GakuinHana@rin06 myapp]$ git log --oneline ⏎ fc5fea3 config 4d1cb75 initial commit [GakuinHana@rin06 myapp]$