Laravel 5.0入门笔记(2):路由, 控制器与视图
作为初学者, 我需要理解三者之间的关系.
路由
路由说白了可以理解为网站入口, 例如我们访问网站根目录http://localhost
, 其实对应的路由就由下列默认的路由指定, 回忆, 上节我们定义了快捷方式, vimroutes
编辑路由:
1 |
Route::get('/', 'KindlePusherController@index'); |
这里, 我修改了根目录/
的控制器为KindlePusherController
. 因此, 我们需要创建该控制器并设置控制器的返回值.
创建控制器
Laravel提供了artisan
命令来实现很多模板的创建, 我们可以使用php artisan
php artisan make:controller -h
查看用法:
1 2 3 |
php artisan make:controller KindlePusherController cdcontrol vim KindlePusherController.php |
我们看到有个public函数index()
, 作为测试, 我们可以将其返回一个字符串:
1 2 3 4 |
public function index() { return 'Display the books'; } |
下一步, 我们将为它创建一个具体的视图.
创建视图
首先切换到视图文件夹cdviews
, 创建一个新的文件夹kindle
, 然后添加新文件index.blade.php
.
我们希望使用模板来写网站的公共部分, 因为我们将来还有upload.php
, download.php
等页面, 而它们实际上都是公用一个叫做app.blade.php
的公共模板.
1 2 3 4 |
cdviews mkdir kindle cd kindle vim index.blade.php |
文件内容为:
1 2 3 4 |
@extends('app'); @section('content') <h3>{{ $title }}</h3> @stop |
它表示, 我们的公共模板是app.blade.php
, 在公共模板的@yield('content')
处插入标题$title
, 该参数可以由KindlePusherController
传递. 因而, 我们还需要修改下该控制器
1 2 3 4 5 6 7 8 9 10 |
cdcontrol vim KindlePusherController.php #the content public function index() { $basic_info = [ 'title'=>'Kindle Pusher', ]; return view('kindle.index')->with($basic_info); } |
至此, 我们已经了解了路由, 控制器, 视图这三者之间的基本的关系. 下一次我们将来学习如何设计公共模板.
发表回复