php - laravel 从带有实际点的文件夹名称加载 View

标签 php laravel routing

我正在创建一个多域 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/

相关文章:

ASP.NET MVC 2 - 如何使用 IgnoreRoute 忽略整个目录?

php - 使用导入的数据刷新数据库

Php 打印单个 id 问题

php - 重新排列 PHP 数组并返回 3 个最低值

php - http中的嵌套参数是什么?

php - 在 laravel 分页中添加一些数据

php - 尝试在 Laravel Blade 上显示值时出现 undefined variable X 问题

ruby-on-rails - 多个资源中的相同路由

php - 文件上传为 Base64 编码字符串时出错

asp.net-mvc - 将路线注册到 global.asax 的替代位置