一个Laravel安装中的多个站点?

时间:2014-10-19 13:08:56

标签: laravel laravel-4

我是Laravel的新手,也是我想要完成的事情:

  • 多个站点的一个laravel安装

  • 在我的所有网站之间共享某些功能,例如用户处理,而其他功能对于特定网站而言是唯一的

我想在一次安装下拥有各种不同的网站,因此我可以建立一个管理视图,我可以管理所有网站。

我该怎么做呢?我有一个新的Laravel 4.2安装。

2 个答案:

答案 0 :(得分:1)

您可以查看Github上的包rbewley4/multi-app-laravel。可以在this answer on StackOverflow

找到另一个提示

答案 1 :(得分:1)

1。在app \ Providers文件夹中创建ConfigServiceProvider并设置代码:

namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Request;

class ConfigServiceProvider extends ServiceProvider {
    public function register() {

        $template = $_SERVER["SERVER_NAME"];

        $config = app('config');
        $config->set('template', $template);
    }
}

2。在app \ Providers文件夹中创建TemplateServiceProvider并设置代码:

namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\View\FileViewFinder;
use Illuminate\View\ViewServiceProvider;
class TemplateServiceProvider extends ViewServiceProvider {
    public function registerViewFinder() {
        $this->app->bind('view.finder', function ($app) {
            $template = $app['config']['template'];
                    if(file_Exists(realpath(base_path('themes/'.$template.'/views')))){
        $paths = [realpath(base_path('themes/'.$template.'/views'))];
    }else{
        $paths = $app['config']['view.paths'];
    }
            return new FileViewFinder($app['files'], $paths);
        });
    }
}

3。在config / app.php中设置提供程序:

App\Providers\ConfigServiceProvider::class,
    App\Providers\TemplateServiceProvider::class,

<强> 4。创建模板执行者&gt;主题/ {您的域名} /视图