2016年10月5日 星期三

[Laravel 5 教程学习笔记] 三、路由、控制器及视图简介

Laravel应用的 大多数路由都将在 app/Http/routes.php 中定义,大多数基本的 Laravel 路由都只接受一个 URI 和 一个 闭包(Closure) 参数。下面是一个简单的GET路由:
  1. Route::get('/', 'WelcomeController@index');
  • Route: 声明一个路由;
  • get:即定义一个GET路由,除get外,还有postputdelete路由;
  • /:即指向网站
  • WelcomeController@index:前面为控制器,后面是调用控制器中的方法
该路由是用户访问根目录 时,执行控制器WelcomeController中的index方法。
上面路由调用控制器app/Http/Controllers/WelcomeController.php中的index()方法:
  1. public function index()
  2. {
  3. return view('welcome');
  4. }
该方法返回了一个welcome视图,该视图即为resources/views/welcome.blade.php。也可以直接在方法中返回指定的内容,如修改index()方法:
  1. public function index()
  2. {
  3. return 'Hello World';
  4. // return view('welcome');
  5. }
刷新浏览器,会看到页面输出内容已经改变。
laravel-route-1
下面新建一个contact路由,在路由中增加下面的代码:
  1. Route::get('/contact', 'WelcomeController@contact');
contact前面的 / 可以省略不写。该路由会调用WelcomeController控制器下面的contact()方法,因此在WelcomeController控制器中添加下面的方法:
  1. public function contact() {
  2. return 'Contact me';
  3. }
之后访问http://laravel.dev/contact,将得到下面的结果:
laravel-route-2
方法中除了可以返回字符串,也能返回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()的返回结果。
  1. lang="en">
  2. charset="UTF-8">
  3. </span><span class="pln" style="box-sizing: border-box; color: rgb(255, 255, 255);">Document</span><span class="tag" style="box-sizing: border-box; color: rgb(137, 189, 255);">
  • Contact me
  • 现在再次刷新浏览器查看结果。


    from : http://9iphp.com/web/laravel/laravel-5-routing-controller-and-views.html

    沒有留言:

    wibiya widget