以下のように組んだのですが真っ白になりました。
php
1 namespace App\Http\Controllers; 2 use App\Http\Requests; 3 use Illuminate\Http\Request; 4 use Illuminate\Support\Facades\Cache; 5 class IndexController extends Controller 6 { 7 public function index() 8 { 9 if (Cache::has('html')) { 10 return Cache::get('html'); 11 } 12 $ret = view('index', $this->_data); 13 Cache::put('html', $ret, 10); 14 return $ret; 15 } 16 }
以下の$retがそもそも空でした。
php
1$ret = view('index', $this->_data); 2print nl2br(print_r($ret,1));exit;
viewからhtmlを取得できますでしょうか?
追記
自己解決はしてません。
さらに調べたのですが
print_rでなくvar_dumpとしたところ
画面がフリーズしてしまったので、view()の戻り値が膨大なデータと成ってるっぽいです。
view()の戻り値としてhtml文字列を取得する方法がありましたら教えて欲しいです。
追記2
view()は公式の記述にしたがっております。
https://readouble.com/laravel/5/2/ja/controllers.html
laravelではそのように書くのだろうというだけの認識で、多少追ってみたのですが、わからなかったため質問いたしました。
view()の関数はlaravelのフレームワークの以下場所にあるようです。
vi ./vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
php
1if (! function_exists('view')) { 2 /** 3 * Get the evaluated view contents for the given view. 4 * 5 * @param string $view 6 * @param array $data 7 * @param array $mergeData 8 * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory 9 */ 10 function view($view = null, $data = [], $mergeData = []) 11 { 12 $factory = app(ViewFactory::class); 13 14 if (func_num_args() === 0) { 15 return $factory; 16 } 17 18 return $factory->make($view, $data, $mergeData); 19 } 20}
追記3
composer.jsonは特にいじってません。
php
1{ 2 "name": "laravel/laravel", 3 "description": "The Laravel Framework.", 4 "keywords": ["framework", "laravel"], 5 "license": "MIT", 6 "type": "project", 7 "require": { 8 "php": ">=5.5.9", 9 "laravel/framework": "5.2.*", 10 "laravel/socialite": "^2.0" 11 }, 12 "require-dev": { 13 "fzaninotto/faker": "~1.4", 14 "mockery/mockery": "0.9.*", 15 "phpunit/phpunit": "~4.0", 16 "symfony/css-selector": "2.8.*|3.0.*", 17 "symfony/dom-crawler": "2.8.*|3.0.*" 18 }, 19 "autoload": { 20 "classmap": [ 21 "database" 22 ], 23 "psr-4": { 24 "App\\": "app/" 25 } 26 }, 27 "autoload-dev": { 28 "classmap": [ 29 "tests/TestCase.php" 30 ] 31 }, 32 "scripts": { 33 "post-root-package-install": [ 34 "php -r \"copy('.env.example', '.env');\"" 35 ], 36 "post-create-project-cmd": [ 37 "php artisan key:generate" 38 ], 39 "post-install-cmd": [ 40 "Illuminate\\Foundation\\ComposerScripts::postInstall", 41 "php artisan optimize" 42 ], 43 "post-update-cmd": [ 44 "Illuminate\\Foundation\\ComposerScripts::postUpdate", 45 "php artisan optimize" 46 ] 47 }, 48 "config": { 49 "preferred-install": "dist" 50 } 51}
vi ./vendor/laravel/framework/src/Illuminate/Foundation/helpers.php
のview()関数内にデバッグコードを記述しました。
問題なくここにきてるようです。
view()の戻り値として$retが膨大と書いておりましたが、
ブラウザで30秒ほどまっているとデータが出てきました。
回答1件
あなたの回答
tips
プレビュー