8月 03, 2017

Laravel course #1

Route::get('/', function(){
  $name = 'Jack';
  $age  = 30;
  //return view('welcome')->with('name', 'Jack'); 傳入變數
  //return view('welcome', ['name' => 'Jack']); 傳入陣列
  return view('welcome', compact('name','age'));
});

compact內接的變數要用引號,並且沒有$字號

常用 DB Migrate 指令
$ php artisan make:migration create_tasks_table ;建立 migration 檔案

$ php artisan migrate          依照 migration 檔案進行 DB 架構異動
$ php artisan migrate:install  Create the migration repository            
$ php artisan migrate:refresh  Reset and re-run all migrations            
$ php artisan migrate:reset    Rollback all database migrations           
$ php artisan migrate:rollback Rollback the last database migration       
$ php artisan migrate:status   Show the status of each migration          
建立 Model 存取資料庫
$ php artisan make:model Task

產生檔案 app/Task.php 繼承 Model 類別、命名空間為 App 如下:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
    ...
}

呼叫語法範例
App\Task::all();  回傳所有資料
App\Task::pluck('body');  回傳所有資料的 body 欄位

建立 Model 時,順便連 Migration檔、Controller 檔都一起建立
$ php artisan make:model Task -m -c

建立三個檔案:app\Task.php 與 
\database\migrations\2017_08_08_060314_create_tasks_table.php 與
\app\Http\Controllers\TasksController.php
Blade 模板使用方式

  1. 骨架(layout)部份 include "nav-bar" 與 "footer" 檔案進來,中間挖個洞用 yield 宣告 "content" 讓其他檔案填充這塊。
  2. 主頁(index)部份 extends 使用 layout 這個骨架,並用 section 宣告 "content" 範圍區間

整合後的 index.blade.php 全貌

有關 Laravel 命名規則
  1. Model:必定使用單數(如Post),系統預設複數型為Table使用(如Posts)
  2. Table:複數,遵循 Model 規則
  3. Controller:複數,如 PostsController
  4. Migration:動詞+表格名,如 create_posts_table;系統產生類別 CreatePostsTable

沒有留言:

張貼留言