• Laravel 5 基础(八)- 模型、控制器、视图基础流程


    • 添加路由
    Route::get('artiles', 'ArticlesController@index');
    
    • 创建控制器
     php artisan make:controller ArticlesController --plain
    
    • 修改控制器
    <?php namespace AppHttpControllers;
    
    use AppArticle;
    use AppHttpRequests;
    use AppHttpControllersController;
    
    use IlluminateHttpRequest;
    
    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>
    
                <div class="body">{{$article->body}}</div>
            </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>
    
                <div class="body">{{$article->body}}</div>
            </article>
        @endforeach
    @stop
    
  • 相关阅读:
    负载均衡算法
    .NET Core 如何上传文件及处理大文件上传
    ado.net 批量添加 更新 删除
    asp.net mvc session锁问题
    C# Cache 设定过期时间的方法
    C# 开源项目
    Linux上 发布.Net Core
    Roslyn
    .net core 基础知识
    神经网络基础
  • 原文地址:https://www.cnblogs.com/ZhangJinglin/p/4383766.html
Copyright © 2020-2023  润新知