laravel file_get_contents 一条路由没有响应
laravel file_get_contents of a route get no response
我有一条路线:
Route::group(array('prefix' => 'playlist'), function()
{
Route::get('raw/{id}', array('as'=>'rawPlaylist', 'uses'=>'PlaylistsController@raw'));
});
当我打开 URL:
http://localhost:8000/playlist/raw/1
一切正常,页面将加载并显示视图。
在控制器中我得到 URL:
$url = URL::route('rawPlaylist', 1);
问题:
我想读取视图并将整个视图存储到一个变量中:
$html = file_get_contents($url);
echo $url是http://localhost:8000/playlist/raw/1这个没错
但这不起作用。我没有收到任何回应,php artisan 发球中断。
为什么?这里有什么问题?
您不能在 laravel 路由上使用 file_get_contents
,因为 laravel 路由不是视图文件的实际路径。
您可以看出,因为您的视图未存储在文件夹 de/playlist/raw
中,它存储在 app/views/pathtoyourrawview
。
我还没有尝试过,但我假设您可以使用以下方法将视图的代码捕获到一个变量中:
$html = View::make('rawPlaylist')->render();
基本上,不是返回 View::make
结果,而是将其写入变量。
我有一条路线:
Route::group(array('prefix' => 'playlist'), function()
{
Route::get('raw/{id}', array('as'=>'rawPlaylist', 'uses'=>'PlaylistsController@raw'));
});
当我打开 URL:
http://localhost:8000/playlist/raw/1
一切正常,页面将加载并显示视图。
在控制器中我得到 URL:
$url = URL::route('rawPlaylist', 1);
问题: 我想读取视图并将整个视图存储到一个变量中:
$html = file_get_contents($url);
echo $url是http://localhost:8000/playlist/raw/1这个没错
但这不起作用。我没有收到任何回应,php artisan 发球中断。 为什么?这里有什么问题?
您不能在 laravel 路由上使用 file_get_contents
,因为 laravel 路由不是视图文件的实际路径。
您可以看出,因为您的视图未存储在文件夹 de/playlist/raw
中,它存储在 app/views/pathtoyourrawview
。
我还没有尝试过,但我假设您可以使用以下方法将视图的代码捕获到一个变量中:
$html = View::make('rawPlaylist')->render();
基本上,不是返回 View::make
结果,而是将其写入变量。