我正在创建一个多域 Laravel 应用程序,因此我的 View 文件位于每个域的单独文件夹中。例如,以下内容:
return view('pages/' . $_SERVER['SERVER_NAME'] . '/public/home', []);
应该在下面加载一个 View
pages/domain.com/public/home.blade.php
但它试图加载
pages/domain/co/public/home.blade.php
因为点符号。
我该如何解决这个问题?
最佳答案
如果名称中有点,您需要添加一个 View 命名空间来为特定文件夹设置提示。
$domain = 'domain.com';
View::addNamespace($domain, config('view.paths')[0]."/{$domain}/");
Route::get('example', function() use ($domain) {
return view("{$domain}::home");
});
您可以使用
base_path('resources/views')
而不是在上面的例子中 config('view.paths')[0]
如果有人重新排序或更改 config('view.paths')
的值,这可能更明智一些。
关于php - laravel 从带有实际点的文件夹名称加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33721328/