正如上一篇Ruby 程序員學習 laravel 框架筆記 (2)-跑 laravel 的 hello world所說的那樣,已經把項目的hello world跑起來了,如今咱們要改它的首頁內容。php
很簡單,它的內容在項目文件中resources/views/welcome.blade.php
。laravel
你打開這個文件,就能夠修改它的內容了。程序員
有一個地方定義了這個首頁的路由,是這個文件:routes/web.php
web
內容以下:數據庫
Route::get('/', function () { return view('welcome'); });
這是個定義路由的文件。瀏覽器
當執行view('welcome')
爲何就會去找resources/views/welcome.blade.php
呢?ruby
原來有個文件定義了,是這個文件:config/view.php
。bash
return [ ... 'paths' => [ resource_path('views'), ], ... ]
把resource_path('views')
的內容輸出來就是resources/views/welcome.blade.php
的絕對路徑了。app
找到routes/web.php
文件,添加以下內容:框架
Route::get('/users', function () { $users = [ '0' => [ 'first_name' => 'Renato', 'last_name' => 'Hysa' ], '1' => [ 'first_name' => 'Jessica', 'last_name' => 'Alba' ] ]; return $users; });
在瀏覽器中已輸出了$users
變量的內容。
通常來講,咱們不會在路由中放太多邏輯,咱們應該把這些邏輯放到controller中。
像rails那樣的,咱們能夠用命令來生成一個controller,而這個命令就是php artisan
。
你在終端上輸入php artisan
並回車,能夠看到它有不少子命令。
如今咱們要使用make:controller
這個子命令。
php artisan make:controller UsersController
終端上會提示:
Controller created successfully.
表示成功建立了users這個controller,文件位於app/Http/Controllers/UsersController.php
。
它的內容以下:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UsersController extends Controller { // }
我把它的內容修改以下:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UsersController extends Controller { public function index() { $users = [ '0' => [ 'first_name' => 'Renato', 'last_name' => 'Hysa' ], '1' => [ 'first_name' => 'Jessica', 'last_name' => 'Alba' ] ]; return $users; } }
就是添加了一個index
action。
最後,路由也要跟着變一下:
# routes/web.php Route::get('/users', 'UsersController@index');
瀏覽器仍是會輸出跟原來同樣的內容。
在實際開發中,controller應該放一些業務邏輯的內容,好比查找數據庫,要呈現給用戶的數據應該放在view中。
咱們把$users
這個變量的內容放到view中。
以前的index
方法裏的return $users;
改爲return view('admin.users.index', compact('users'));
。
以下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UsersController extends Controller { public function index() { $users = [ '0' => [ 'first_name' => 'Renato', 'last_name' => 'Hysa' ], '1' => [ 'first_name' => 'Jessica', 'last_name' => 'Alba' ] ]; return view('admin.users.index', compact('users')); } }
而後找到resources/views
目錄,再新建一個admin
目錄,再在admin
目錄下新建users
目錄。
最後新建一個index.blade.php
文件,位於resources/views/admin/users/index.blade.php
,內容以下:
<ul> @foreach($users as $user) <li>{{ $user['first_name'] }} {{ $user['last_name'] }}</li> @endforeach </ul>
瀏覽器輸出以下:
完結。