分类
互联网

Laravel 5.0入门笔记(2):路由, 控制器与视图

作为初学者, 我需要理解三者之间的关系.

路由

路由说白了可以理解为网站入口, 例如我们访问网站根目录http://localhost, 其实对应的路由就由下列默认的路由指定, 回忆, 上节我们定义了快捷方式, vimroutes 编辑路由:

Route::get('/', 'KindlePusherController@index');

这里, 我修改了根目录/的控制器为KindlePusherController. 因此, 我们需要创建该控制器并设置控制器的返回值.

创建控制器

Laravel提供了artisan命令来实现很多模板的创建, 我们可以使用php artisan php artisan make:controller -h 查看用法:

php artisan make:controller KindlePusherController
cdcontrol
vim KindlePusherController.php

我们看到有个public函数index(), 作为测试, 我们可以将其返回一个字符串:

public function index()
 {
 return 'Display the books';
 }

下一步, 我们将为它创建一个具体的视图.

创建视图

首先切换到视图文件夹cdviews, 创建一个新的文件夹kindle, 然后添加新文件index.blade.php.
我们希望使用模板来写网站的公共部分, 因为我们将来还有upload.php, download.php等页面, 而它们实际上都是公用一个叫做app.blade.php的公共模板.

cdviews
mkdir kindle
cd kindle
vim index.blade.php

文件内容为:

@extends('app');
@section('content')

{{ $title }}

@stop

它表示, 我们的公共模板是app.blade.php, 在公共模板的@yield('content')处插入标题$title, 该参数可以由KindlePusherController传递. 因而, 我们还需要修改下该控制器

cdcontrol
vim KindlePusherController.php
#the content
public function index()
 {
 $basic_info = [
 'title'=>'Kindle Pusher',
 ];
 return view('kindle.index')->with($basic_info);
 }

至此, 我们已经了解了路由, 控制器, 视图这三者之间的基本的关系. 下一次我们将来学习如何设计公共模板.

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据