Oba*_*bay 5 php routing laravel
我正在创建一个多域 Laravel 应用程序,因此我的视图文件位于每个域的单独文件夹中。例如,以下内容:
return view('pages/' . $_SERVER['SERVER_NAME'] . '/public/home', []);
Run Code Online (Sandbox Code Playgroud)
应该在下面加载一个视图
pages/domain.com/public/home.blade.php
Run Code Online (Sandbox Code Playgroud)
但它试图加载
pages/domain/co/public/home.blade.php
Run Code Online (Sandbox Code Playgroud)
因为点符号。
我该如何解决这个问题?
如果名称中有点,您需要添加一个视图命名空间来为特定文件夹设置提示。
$domain = 'domain.com';
View::addNamespace($domain, config('view.paths')[0]."/{$domain}/");
Route::get('example', function() use ($domain) {
return view("{$domain}::home");
});
Run Code Online (Sandbox Code Playgroud)
您可以base_path('resources/views')在上面的示例中使用而不是,config('view.paths')[0]如果有人重新排序或更改的值,这可能更明智一些config('view.paths')