laravel 5.2 レイアウトの管理

laravel 5.2 レイアウトの管理

 

確認環境:

laravel 5.2

Windows 10

XAMPP 5.6.30(php 5.6.30)

 

laravel 5.2 でレイアウトの管理方法についてメモしておきます。

 

\resources\views に layout.blade.php ファイルを作成する。

デフォルトで生成されている、welcome.blade.php ファイルをコピーして編集します。

 

\app\Http の routes.php を編集する。

phpMyAdminでデータベースを作る。照合順序は utf8mb4_unicode_ci (多分これでいいはず)

 

ルート にある

.env

ファイルを以下のとおり編集する

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead → 作成したデータベース名
DB_USERNAME=homestead → root
DB_PASSWORD=secret → 空欄

 

追加したら、以下のコマンドを実行して、マイグレートする。

php artisan migrate

 

以下のコマンドを実行して、Post モデルの作成とマイグレートを行う。

php artisan make:model Post -m

 

\app に Post.php

ファイルが生成されていることを確認する。

 

以下のコマンドを実行して、PostsController の作成とマイグレートを行う。

php artisan  make:controller PostsController -m

 

\app\Http\Controllers にPostController.php

が生成されていることを確認する。

\database\migrations に yyyy_mm_dd_xxxxxx_create_posts_table.php

ファイルが生成されていることを確認する。

 

\database\migrations の yyyy_mm_dd_xxxxxx_create_posts_table.php

にフィールドを2つ追加する。

 

\app\Http\Controllers の PostsController.php を編集する。

 

\resources\views\layouts に master.blade.php ファイルを作成する。

 

bootstrap の以下のページからサンプルレイアウトを拝借

https://v4-alpha.getbootstrap.com/examples/

今回は、bootstrap のAlbum テンプレートを使用します。

このページのソースを表示して、まるごとコピーして、

\resources\views に master.blade.php ファイルに貼り付りつけ、以下のように編集します。

ポイントは、

<!– Bootstrap core CSS –>

の箇所を以下のリンク先のコードに差し替えます。

Bootstrap CDN

以下のリンク先のコードをコピーして、
album.css

ローカルの\public にalbum.css ファイルを作成する。

 

\resources\views\layouts に nav.blade.php を新規作成し編集する。

 

\resources\views\layouts に footer.blade.php を新規作成し編集する。

 

\resources\views\posts に index.blade.php を新規作成し編集する。

 

ここで、ブラウザでルートパスにアクセスして表示を確認する。

 

\resources\views\posts に show.blade.php を新規作成し編集する。

 

ここで、ブラウザで/public/posts/1 パスにアクセスして表示を確認する。

 

 

laravel 5.4 コントローラ Controller の追加

laravel 5.4 コントローラ Controller の追加

 

確認環境:

laravel 5.4

Windows 10

XAMPP 5.6.30(php 5.6.30)

laravel 5.4 でコントローラの追加方法についてメモしておきます。

 

これまでは、C:\xampp\htdocs\laraveltest01\routes の web.php から

viewの呼び出し処理を行っていましたが、コントローラを作成してそこからviewの呼び出し処理を行うようにします。

 

今回は、Task モデルの管理を行うコントローラを作成するので、

TasksController という名前を付けます。

一般的にコントローラの名前はs付きで複数形、

モデル名はsなしの単数形で、テーブル名はモデル名にsが付いた複数形となるようです。

 

以下のコマンドを実行します。

php artisan make:controller TasksController

実行すると、

C:\xampp\htdocs\laraveltest01\app\Http\Controllers に

TasksController.php が作成されます。

TasksController.phpを以下のように編集します。

 

C:\xampp\htdocs\laraveltest01\routes の

web.php を以下のように編集します。


http://localhost/laraveltest01/public/tasks

にアクセスして、Task モデルが表示されていることを確認します。

クリックすると、

http://localhost/laraveltest01/public/tasks/[id値] のページが表示され、

選択した id値のbody フィールドの値が表示されます。

 

参考資料:

LARACASTS Laravel 5.4 From Scratch (英語の動画)

 

laravel 5.4 Eloquent モデル

laravel 5.4 Eloquent モデル

 

確認環境:

laravel 5.4

Windows 10

XAMPP 5.6.30(php 5.6.30)

 

laravel 5.4 でEloquent モデルについてメモしておきます。

 

laravel 5.4 データベースの追加

laravel 5.4 データベースとViewの連携
で、データベースを作成したので、その続きで、Eloquent モデルと連携させていきます。

データベース名:laratest01db01

テーブル:

・migrations

・password_resets

・users

・tasks ← このテーブルをいじります。

テーブル tasks は4つのフィールドがあります。

・id
・body
・created_at ← 自動で生成される
・updated_at ← 自動で生成される

 

以下のコマンドを実行します。

php artisan make:model Task

Task Eloquent モデルがされます。

 

C:\xampp\htdocs\laraveltest01\app に

Task.php

が作成されていることを確認。

 

以下のコマンドを実行します。

php artisan tinker

>>> App\Task::all()

実行すると、前回までに作成した tasks テーブルの全ての内容が表示されます。

今回、「Task」モデルを作成したので、他の名前を明示的に指定しない限り、クラス名を複数形(スネークケースにしたもの)「Tasks」が、テーブル名として使用されます。

モデルのtableプロパティを定義し、カスタムテーブル名を指定することもできます。

参考資料:

公式ドキュメンテーション Laravel 5.3 Eloquent:利用の開始

>>> App\Task::where(‘id’, ‘>’, 2)->get();

を実行すると、前回までに作成した tasks テーブルのidが2より大きいレコードが表示されます。

>>> App\Task::pluck(‘body’);

を実行すると、前回までに作成した tasks テーブルのすべてのレコードのbodyフィールドのが表示されます。

 

C:\xampp\htdocs\laraveltest01\routes の web.php を編集します。

web.php


http://localhost/laraveltest01/public/tasks

にアクセスして、Task モデルが表示されていることを確認します。

http://localhost/laraveltest01/public/tasks/[id値]

にアクセスして、選択した id値のbody フィールドの値が表示されていることを確認します。

 

ここで、テーブルに1つフィールドを追加したいので、

テーブルとモデルを削除して、再度作り直します。

php artisan migrate:reset

その後、

C:\xampp\htdocs\laraveltest01\database\migrations の

yyyy_mm_dd_xxxxxx_create_tasks_table.php

C:\xampp\htdocs\laraveltest01\app に

Task.php

を削除し、

composer dump-autoload

して、

php artisan make:model Task -m を実行します。

 

C:\xampp\htdocs\laraveltest01\database\migrations に

yyyy_mm_dd_xxxxxx_create_tasks_table.php

C:\xampp\htdocs\laraveltest01\app に

Task.php

が再度、生成されていることを確認します。

 

C:\xampp\htdocs\laraveltest01\database\migrations の

yyyy_mm_dd_xxxxxx_create_tasks_table.php

を開き、フィールドを1つ追加します。

 

追加したら、データベースをmigrateします。

php artisan migrate

なお、この時、テーブルが存在していると怒られるので、phpMyAdminで tasks テーブルを削除しておきます。

(php artisan migrate:refresh でもいいかも?)

 

tinkerを起動し、以下のコマンドを実行します。

php artisan tinker

>>> $tast = new App\Task;

>>> $tast->body = ‘xxxx’;

>>>$tast->completed = false;

>>> $tast->save(); ← ここでエラーになる場合は、phpMyAdminで手動でテーブルを追加する

 

http://localhost/laraveltest01/public/tasks

にアクセスして、Task モデルが表示されていることを確認します。

 

C:\xampp\htdocs\laraveltest01\app \Task.php を編集します

Task.php


tinkerを起動し、以下のコマンドを実行し動作確認します。

php artisan tinker

>> App\Task::incomplete()->get();

completed フィールドが0のレコードのみが表示されることを確認します。

 

参考資料:

LARACASTS Laravel 5.4 From Scratch(英語の動画)
公式ドキュメンテーション Eloquent:はじめに(英語)
公式ドキュメンテーション Eloquent:Relationships(英語)
公式ドキュメンテーション Eloquent: Collections(英語)
公式ドキュメンテーション Laravel 5.3 Eloquent:利用の開始

 

laravel 5.4 データベースとViewの連携

laravel 5.4 データベースとViewの連携

 

確認環境:

laravel 5.4

Windows 10

XAMPP 5.6.30(php 5.6.30)

 

laravel 5.4 でデータベースとViewの連携の方法についてメモしておきます。

 

laravel 5.4 データベースの追加
で、データベースを作成したので、その続きで、Viewと連携させていきます。

 

データベース名:laratest01db01

テーブル:

・migrations

・password_resets

・users

・tasks ← このテーブルをいじります。

 

テーブル tasks は4つのフィールドがあります。

・id
・body
・created_at ← 自動で生成される
・updated_at ← 自動で生成される

 

phpMyAdmin で テーブル tasks にレコードを追加します。

 

C:\xampp\htdocs\laraveltest01\routes\web.php を編集する

web.php


この状態で http://localhost/laraveltest01/public/test にアクセスすると、

テーブル tasks の生値が確認できます。

 

再び、C:\xampp\htdocs\laraveltest01\routes\web.php を編集する

今度はこんな感じにします。

web.php

 

C:\xampp\htdocs\laraveltest01\resources\views\test.blade.php を編集する
test.blade.php

http://localhost/laraveltest01/public/test にアクセスし、

テーブル tasks のbody フィールドの値が表示されていることを確認します。

 

再び、C:\xampp\htdocs\laraveltest01\routes\web.php を編集する

今度はこんな感じにします。

web.php


C:\xampp\htdocs\laraveltest01\resources\views\tasks

にshow.blade.php とindex.blade.php を新規作成します。

show.blade.php


index.blade.php

http://localhost/laraveltest01/public/tasks にアクセスします。
テーブル tasks の body フィールドの一覧が表示されます。

クリックすると、

http://localhost/laraveltest01/public/tasks/[id値] のページが表示され、

選択した id値のbody フィールドの値が表示されます。

 

参考資料:

LARACASTS Laravel 5.4 From Scratch (英語の動画)

 

laravel 5.4 データベースの追加

laravel 5.4 データベースの追加

確認環境:

laravel 5.4

Windows 10

XAMPP 5.6.30(php 5.6.30)

 

laravel 5.4 でデータベース(mysql)の追加方法についてメモしておきます。

 

laravel 5.4でデータベース(mysql)を作成する方法

1.XAMPPの phpMyAdmin でデータベースを新規作成

データベース名:laratest01db01

照合順序:utf8mb4_unicode_ci (多分これでいいはず)

 

2. C:\xampp\htdocs\laraveltest01 にある

.env

ファイルを以下のとおり編集する

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead → laratest01db01
DB_USERNAME=homestead → root
DB_PASSWORD=secret → 空欄

 

3. 以下のコマンドを実行

php artisan migrate

成功したら、

Migration table created successfully.

と表示される。

 

xampp  5.6.30 だと、php artisan migrate でエラーがでるようなので、

C:\xampp\htdocs\laraveltest01\app\Providers\AppServiceProvider.php

を以下のように(6行目と18行目の箇所)修正する

AppServiceProvider.php

参考資料:[5.4] SQL error when migrating tables #17508

 

4. phpMyAdmin でデータベース laratest01db01 のテーブルを確認

・migrations
・password_resets
・users

の3つのテーブルが作成されていることを確認する。

 

5. 以下のコマンドを実行して、tasks テーブルを追加する。

php artisan make:migration create_tasks_table –create=tasks

 

6.  C:\xampp\htdocs\laraveltest01\database\migrations に

yyyy_mm_dd_xxxxx_create_tasks_table.php

ファイルが作成されていることを確認する

 

7. create_tasks_table.php テーブルを編集する

 

8. 以下のコマンドを実行して、データベースを更新

php artisan migrate

 

9. phpMyAdmin でデータベース laratest01db01 にtasksテーブルが追加され

・id
・body
・created_at
・updated_at

4つフィールドができていることを確認する

 

参考資料:

LARACASTS Laravel 5.4 From Scratch(英語の動画)

 

laravel 5.4 Viewの追加

laravel 5.4 Viewの追加

確認環境:

laravel 5.4

Windows 10

XAMPP 5.6.30(php 5.6.30)

 

laravel 5.4 Viewの追加方法についてメモしておきます。

Laravelを表示してみる

C:\XAMPP\HTDOCS\laraveltest01にLaravel 5.4をインストールしたので、

http://localhost/laraveltest01/public/

にアクセスすると、サイトのトップページが表示されます。

 

 

Viewを追加してみる

1. C:\xampp\htdocs\laraveltest01\routes\web.php を編集

web.php

18-21g行目のコードを追加します。

 

2. C:\xampp\htdocs\laraveltest01\resources\views\welcome.blade.php をコピー

3. C:\xampp\htdocs\laraveltest01\resources\views\about.blade.php を新規作成

2.の welcome.blade.php をコピーして、ファイル名を about.blade.php として、新規作成します。

 

4. C:\xampp\htdocs\laraveltest01\resources\views\about.blade.php を編集

適当に編集します。

 

5. http://localhost/laraveltest01/public/about へアクセス

4.で編集したページが表示されます。

 

なお、

C:\XAMPP\HTDOCS\laraveltest01にLaravel 5.4をインストールしたので、

http://localhost/laraveltest01/public/

にアクセスすると、サイトのトップページが表示されます。

ここに、index.php がありますが、この中身は以下の通りですが、

・Composerで生成されたオートローダー定義をロード

スクリプトからLaravelアプリケーションのインスタンスを取得

をしているだけです。

 

index.php

 

参考資料:

LARACASTS Laravel 5.4 From Scratch(英語の動画)

公式ドキュメンテーション ライフサイクルのリクエスト
公式ドキュメンテーション サービスコンテナ
公式ドキュメンテーション サービスプロバイダ

 

laravel 5.4 を使ってみる

laravel 5.4 を使ってみる

 

確認環境:

laravel 5.4

Windows 10

XAMPP 5.6.30(php 5.6.30)

 

laravel 5.4 を使ってみて、わかったことをメモしておきます。

 

laravel 5.4を使うには

  • PHP> = 5.6.4
  • Composerがインストールされていること

が必要です。

 

localhostにインストールしてみる

laravelのインストール方法は、

コマンドプロンプトでイントールしたいディレクトリに移動して、

以下のコマンドを実行します。

php composer.phar create-project laravel/laravel [プロジェクト名] –prefer-dist

 

バージョンを指定してインストールする場合は、

php composer.phar create-project “laravel/laravel=[バージョン 例)5.2.*]” [プロジェクト名]

 

laravel のバージョンを確認するには、

php artisan –version

 

なお、composerがインストールされている必要があるので、

未インストールの場合は先にインストールしておきます。

インストールは、以下のコマンドを実行します。

php -r “readfile(‘https://getcomposer.org/installer’);” | php

 

実行すると、composer.phar ファイルができます。

php composer.phar -v でcomposer のバージョンが確認できます。

 

C:\XAMPP\HTDOCS\LARAVELTEST01にLaravel 5.4をインストールしました。

フォルダ、ファイル構成は以下の通りです。

(コマンドプロンプトで tree /f [ツリー出力したいパス] > xxx.txt でツリーをテキストに落とせます。)

 

C:\XAMPP\HTDOCS\laraveltest01
│ .env
│ .env.example
│ .gitattributes
│ .gitignore
│ artisan
│ composer.json
│ composer.lock
│ laraveltree.txt
│ package.json
│ phpunit.xml
│ readme.md
│ server.php
│ webpack.mix.js

├─app
│ │ User.php
│ │
│ ├─Console
│ │ Kernel.php
│ │
│ ├─Exceptions
│ │ Handler.php
│ │
│ ├─Http
│ │ │ Kernel.php
│ │ │
│ │ ├─Controllers
│ │ │ │ Controller.php
│ │ │ │
│ │ │ └─Auth
│ │ │ ForgotPasswordController.php
│ │ │ LoginController.php
│ │ │ RegisterController.php
│ │ │ ResetPasswordController.php
│ │ │
│ │ └─Middleware
│ │ EncryptCookies.php
│ │ RedirectIfAuthenticated.php
│ │ TrimStrings.php
│ │ VerifyCsrfToken.php
│ │
│ └─Providers
│ AppServiceProvider.php
│ AuthServiceProvider.php
│ BroadcastServiceProvider.php
│ EventServiceProvider.php
│ RouteServiceProvider.php

├─bootstrap
│ │ app.php
│ │ autoload.php
│ │
│ └─cache
│ .gitignore
│ services.php

├─config
│ app.php
│ auth.php
│ broadcasting.php
│ cache.php
│ database.php
│ filesystems.php
│ mail.php
│ queue.php
│ services.php
│ session.php
│ view.php

├─database
│ │ .gitignore
│ │
│ ├─factories
│ │ ModelFactory.php
│ │
│ ├─migrations
│ │ 2014_10_12_000000_create_users_table.php
│ │ 2014_10_12_100000_create_password_resets_table.php
│ │
│ └─seeds
│ DatabaseSeeder.php

├─public
│ │ .htaccess
│ │ favicon.ico
│ │ index.php
│ │ robots.txt
│ │ web.config
│ │
│ ├─css
│ │ app.css
│ │
│ └─js
│ app.js

├─resources
│ ├─assets
│ │ ├─js
│ │ │ │ app.js
│ │ │ │ bootstrap.js
│ │ │ │
│ │ │ └─components
│ │ │ Example.vue
│ │ │
│ │ └─sass
│ │ app.scss
│ │ _variables.scss
│ │
│ ├─lang
│ │ └─en
│ │ auth.php
│ │ pagination.php
│ │ passwords.php
│ │ validation.php
│ │
│ └─views
│ welcome.blade.php

├─routes
│ api.php
│ channels.php
│ console.php
│ web.php

├─storage
│ ├─app
│ │ │ .gitignore
│ │ │
│ │ └─public
│ │ .gitignore
│ │
│ ├─framework
│ │ │ .gitignore
│ │ │
│ │ ├─cache
│ │ │ .gitignore
│ │ │
│ │ ├─sessions
│ │ │ .gitignore
│ │ │ 8SfGt2P1PL1jhbDMLcmcoAQVb8Q6YxMMqo691FfV
│ │ │ RIsyLDtbLqwlHi9cljIz0Unk0yaUiAZ89XmtO8MO
│ │ │
│ │ ├─testing
│ │ │ .gitignore
│ │ │
│ │ └─views
│ │ .gitignore
│ │ 2c37ceba00ba14f0254de15943fb3681d6469a1f.php
│ │
│ └─logs
│ .gitignore

├─tests
│ │ CreatesApplication.php
│ │ TestCase.php
│ │
│ ├─Feature
│ │ ExampleTest.php
│ │
│ └─Unit
│ ExampleTest.php

└─vendor (comporserのファイル)

 

Laravelを表示してみる

C:\XAMPP\HTDOCS\laraveltest01にLaravel 5.4をインストールしたので、

Laravelを表示するには、

http://localhost/laraveltest01/public/

にアクセスします。

すると、こんな画面が表示されます。

DOCUMENTATION の箇所をクリックすると、公式ドキュメントサイト(英語)にアクセスします。

GITHUB の箇所をクリックすると、GITHUBで公開されている公式ソースを見ることができます。