Laravel应用的 大多数路由都将在 app/Http/routes.php 中定义,大多数基本的 Laravel 路由都只接受一个 URI 和 一个 闭包(Closure)
参数。下面是一个简单的GET路由:
Route::get('/', 'WelcomeController@index');
Route
: 声明一个路由;get
:即定义一个GET路由,除get外,还有post
、put
、delete
路由;/
:即指向网站WelcomeController@index
:前面为控制器,后面是调用控制器中的方法
该路由是用户访问根目录 /
时,执行控制器WelcomeController
中的index
方法。
上面路由调用控制器app/Http/Controllers/WelcomeController.php中的index()
方法:
public function index() { return view('welcome'); }
该方法返回了一个welcome视图,该视图即为resources/views/welcome.blade.php。也可以直接在方法中返回指定的内容,如修改index()
方法:
public function index() { return 'Hello World'; // return view('welcome'); }
刷新浏览器,会看到页面输出内容已经改变。
下面新建一个contact路由,在路由中增加下面的代码:
Route::get('/contact', 'WelcomeController@contact');
contact
前面的 /
可以省略不写。该路由会调用WelcomeController
控制器下面的contact()
方法,因此在WelcomeController
控制器中添加下面的方法:
public function contact() { return 'Contact me'; }
之后访问http://laravel.dev/contact,将得到下面的结果:
方法中除了可以返回字符串,也能返回json数据(API开发)或html视图文件等。Laravel默认的视图文件位于resources/views目录下。如果需要为视图文件指定子目录,则用下面的方法调用:return view('pages/contact');
,也可以更加简单的用这种方法:return view('pages.contact');
。
假如把上面的contact()
方法中的内容改成return view('pages.contact');
,那么我们需要在resources/views下创建一个pages文件夹,之后在pages文件夹中创建contact.blade.php文件,在文件中添加下面的内容,该文件的内容即为contact()
的返回结果。
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>Contact me</h1> </body> </html>
现在再次刷新浏览器查看结果。
该篇属于专题:《Laravel 5 基础视频教程学习笔记》
henson 2015/08/28 09:14
赞一个,比看中文手册易懂
shea 2015/11/03 11:26
Specs 2015/11/03 21:54
@ 我只是看的国外视频写的笔记~
枯草地 2015/11/09 18:11
给钱都行,赞!
Specs 2015/11/11 09:33
@
给呀,我不会介意多给点的
释永富 2015/11/25 15:55
注册一个账号登录之后只能访问home,访问其他测试路由都自动跳转到home了?退出之后才能测试路由
Specs 2015/11/27 09:40
@ 不是啊
tyc 2016/08/16 10:58
太感谢了,多点你几次广告支持你!!!
BossChen 2017/01/08 19:13
以下是我碰到的问题及解决方法添加一个路由contact后无法访问到,404 not found解决方法:使wampserver可以使用.htaccess, 打开httpd.conf中的LoadModule rewrite_module modules/mod_rewrite.so, 即去掉其前面的#