2016年8月18日 星期四

Laravel 新手等級學習筆記(二) Hello World

編輯routes.php


Laravel 是把程式 資料庫 以及畫面分開來進行

由一個 routes.php 的檔案決定程序該送到何處進行

打開(已經有內建好了)

.\app\Http\routes.php

把原本的程式碼改成

Route::get('/', 'TestController@testview');

有三個參數

第一個  / 為網址 / 代表的是根目錄 本機跑的網址是 127.0.0.1

             若打上 /abc 網址要打上127.0.0.1/abc 就能進入該程序

              所以這個參數在往後是不能重複的一個網址就對應到一個程序

第二個  TestController 是連到哪個檔案 TestController為檔案名稱

              儲存路徑在 .\app\Http\Controllers\目錄裡面 有個TestController.php的檔案

               檔案名稱第一位需大寫 跟Controller的C 也大寫

第三個  testview就是擺放程式的function

所以這整句話的意思是

Route::get('/', 'TestController@testview');

在網址 127.0.0.1 的畫面對應到 TestController.php裡的testview裡的程式碼

編輯程式

規定好 route 後 就在.\app\Http\Controllers\ 新增TestController.php 檔案

打上

namespace App\Http\Controllers;

class TestController extends Controller
{
     public function testview() {
          return view('helloworld');
     }
}


namespace  很像是避免有重複名稱的class 所以特定指定一個路徑 去繼承

                    通常程式裡有extends 就必須設定namespace

class TestController extends Controller

這是固定寫法 TestController檔案名稱

extends Controller 繼承目錄裡的Controller.php

這裡就很清楚  比照Route::get('/', 'TestController@testview'); 的意思

注意的是

view('helloworld');

裡的helloworld不是輸出的文字  而是檔案名稱

輸出樣板

程式寫好 要把結果輸出到頁面上

Laravel是透過樣板的功能呈現頁面

而樣板檔案放置的位置就是在 .\resources\views\

在 .\resources\views\ 裡面已存在welcome.blade.php

把改名成helloworld.blade.php

 打開裡面內容  就是很熟悉的HTML

裡面有一行是

    <body>
        <div class="container">
            <div class="content">
                <div class="title">
Laravel
            </div>
        </div>
    </body>

把Laravel 改成Hello World 重新讀取首頁



helloworld 就是view('helloworld'); 的檔案名稱

後面一定要加.blade 這樣 laravel 就會把裡面的HTML呈現在網頁上



資料來源

沒有留言: