• 技术文章 >后端开发 >php教程

    Laravel 5框架的模型和控制器以及视图基础流程的学习

    不言不言2018-06-13 09:57:08原创841
    本文给大家介绍的是Laravel5框架中模型、控制器、视图的基础流程,其实MVC体系结构模式将一个交互式系统分为三个组件。模型包含核心功能和数据。视图向用户显示信息。控制器处理用户输入。视图和控制器共同构成了用户接口。

    添加路由

    Route::get('artiles', 'ArticlesController@index');

    创建控制器

    php artisan make:controller ArticlesController --plain

    修改控制器

    <?php namespace App\Http\Controllers;
    
    use App\Article;
    use App\Http\Requests;
    use App\Http\Controllers\Controller;
    
    use Illuminate\Http\Request;
    
    class ArticlesController extends Controller {
    
     public function index() {
        $articles = Article::all();
    
        return $articles;
      }
    
    }

    可以在浏览器中看到返回的 JSON 结果,cool!

    修改控制器,返回视图

     public function index() {
        $articles = Article::all();
    
        return view('articles.index', compact('articles'));
      }

    创建视图

    @extends('layout')
    
    @section('content')
      <h1>Articles</h1>
    
      @foreach($articles as $article)
        <article>
          <h2>{{$article->title}}</h2>
    
          <p class="body">{{$article->body}}</p>
        </article>
      @endforeach
    @stop

    浏览结果,COOL!!!!

    显示单个文章

    添加显示详细信息的路由

    Route::get('articles/{id}', 'ArticlesController@show');

    其中,{id} 是参数,表示要显示的文章的 id,修改控制器:

      public function show($id) {
        $article = Article::find($id);
    
        //若果找不到文章
        if (is_null($article))
        {
          //生产环境 APP_DEBUG=false
          abort(404);
        }
        return view('articles.show', compact('article'));
      }

    laravel 提供了更加方便的功能,修改控制器:

      public function show($id) {
        $article = Article::findOrFail($id);
    
        return view('articles.show', compact('article'));
      }

    It's cool.

    新建视图

    @extends('layout')
    
    @section('content')
      <h1>{{$article->title}}</h1>
    
      <article>
        {{$article->body}}
      </article>
    @stop

    在浏览器中尝试访问:/articles/1 /articles/2

    修改index视图

    @extends('layout')
    
    @section('content')
      <h1>Articles</h1>
      <hr/>
      @foreach($articles as $article)
        <article>
          <h2>
            {{--这种方式可以--}}
            <a href="/articles/{{$article->id}}">{{$article->title}}</a>
            {{--这种方式更加灵活,不限制路径--}}<br>
            <a href="{{action('ArticlesController@show', [$article->id])}}">{{$article->title}}</a>
            {{--还可以使用--}}<br>
            <a href="{{url('/articles', $article->id)}}">{{$article->title}}</a>
          </h2>
    
          <p class="body">{{$article->body}}</p>
        </article>
      @endforeach
    @stop

    以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

    相关推荐:

    关于Laravel框架路由和控制器的绑定操作

    以上就是Laravel 5框架的模型和控制器以及视图基础流程的学习的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php基于字符串转换短址的方法 下一篇:php如何禁止某ip或ip地址段访问
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• php桌面中心(二) 数据库写入_php实例• function.inc.php超越php_php实例• mysql 线程有关问题,请问大侠们,顶者有分• php在apache中的3种工作模式解决思路• sql+mysql 随机数据读取-进阶有关问题
    1/1

    PHP中文网