Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4:在视图中显示数据的正确方法是什么?_Php_Templates_Laravel_Laravel 4 - Fatal编程技术网

Php Laravel 4:在视图中显示数据的正确方法是什么?

Php Laravel 4:在视图中显示数据的正确方法是什么?,php,templates,laravel,laravel-4,Php,Templates,Laravel,Laravel 4,让我解释清楚 例如,我有一个页面,它只做一件事:它以一个漂亮的大字体显示用户名 什么是正确的方式,我所说的“正确的方式”是指尊重MVC的方式来实现它 我认为直接在模型内调用方法不符合MVC模式,但通过对服务器的新GET/POST请求调用控制器的方法将是一种浪费,因为在更复杂的页面上,我应该进行太多调用 我也读过关于的,但即使在阅读了它的文档之后,我仍然不确定应该如何实现它 如果可能的话,除了我前面的问题,我能举一个简单的例子来帮助我更好地理解吗?基本上,这是您将信息从控制器发送到视图的方式: 假

让我解释清楚

例如,我有一个页面,它只做一件事:它以一个漂亮的大字体显示用户名

什么是正确的方式,我所说的“正确的方式”是指尊重MVC的方式来实现它

我认为直接在模型内调用方法不符合MVC模式,但通过对服务器的新GET/POST请求调用控制器的方法将是一种浪费,因为在更复杂的页面上,我应该进行太多调用

我也读过关于的,但即使在阅读了它的文档之后,我仍然不确定应该如何实现它


如果可能的话,除了我前面的问题,我能举一个简单的例子来帮助我更好地理解吗?

基本上,这是您将信息从控制器发送到视图的方式:

假设您有一个路由,该路由需要通过GET(HTTP请求方法)获得用户id:

它指向控制器(
app/controllers/PagesController.php
)中的一个操作,该操作从存储库(模型?)获取信息并发送到您的视图:

class PagesController extends Controller {

    public function showUserName($id)
    {
        $user = $this->userRepository->getUserById($user_id);

        return View::make('userNamePage')->with('userName', $user->name);
    }

}
而您的视图(
app/views/userNamePage.blade.php
)只显示一个大用户名:

@extends('layouts.main')

@section('content')
    <h1>{{$userName}}</h1>
@stop
这与执行以下操作相同:

$user = User::where('id', $id)->first();


你能再解释一下吗。我不明白为什么调用控制器函数是浪费你已经在使用laravel。。那么,即使假装你“尊重MVC”又有什么意义呢?这并不意味着因为我用的是Laravel,所以我所做的一切都没问题。我不认为在视图中直接调用模型方法尊重MVC模式。谢谢你的回答。现在我对拉威尔和MVC模式有了更清晰的了解:)祝你有一个美好的白天/夜晚!
$user = User::find($id);
$user = User::where('id', $id)->first();
$user = DB::table('users')->where('id', $id)->first();