Asm*_*ust 1 php laravel laravel-4
在这两个例子中,函数with()和compact()Laravel 之间有什么区别:
例1:
return View::make('books.index')->with('booksList', $booksList);
Run Code Online (Sandbox Code Playgroud)
例2:
return View::make('books.index',compact('booksList'));
Run Code Online (Sandbox Code Playgroud)
Well compact()是一个PHP函数,它将变量列表转换为关联数组,其中键是变量名,值是该变量的实际值.
实际问题应该是:有什么区别
return View::make('books.index')->with('booksList', $booksList);
Run Code Online (Sandbox Code Playgroud)
和
return View::make('books.index', array('booksList' => $booksList));
Run Code Online (Sandbox Code Playgroud)
答案不是真的.它们都向视图数据添加项目.
语法方式,View::make()只接受一个数组,同时with()接受两个字符串:
with('booksList', $booksList);
Run Code Online (Sandbox Code Playgroud)
或者一个可能包含多个变量的数组:
with(array('booksList' => $booksList, 'foo' => $bar));
Run Code Online (Sandbox Code Playgroud)
这也意味着compact()也可以使用with():
return View::make('books.index')->with(compact($booksList));
Run Code Online (Sandbox Code Playgroud)