0

サブドメインでホストされる cms を含む Laravel4 を使用したサイトの開発を開始しようとしています。メインの Laravel インストールを 2 つのアプリ間で共有する方法があるかどうか知りたいのですが?

次の例を使用したテストでさまざまな成功を収めました: Laravel フル URL ルーティング、ただし、アプリ フォルダーの機能を分離したままにして、それぞれに関連するモデル、ビュー、およびコントローラーを保持する app_main、app_cms のようなものを用意したいと考えています。そこのサイト。

このような要件に合わせて Laravel をセットアップする方法について、私が見つけることができる助けはあまりないように思われるので、これに関する助けは素晴らしいでしょう。

4

3 に答える 3

0

これにはルーターを使用します。

例えば

Route::group(array('domain'=>'example.com'), function(){
//Define the routes for example.com
});

Route::group(array('domain'=>'cms.example.com'), function(){
//Define the routes for cms.example.com
});

メンテナンスを容易にするために、コントローラーに名前空間を使用できます。

たとえば、コントローラーフォルダーは次のようになります

App
|
|---Controllers
    |-- site
        |
        |-----HomeController.php

    |-- subdomain
        |
        |-----HomeController.php

今、サイトコントローラーの場合、次のような名前空間を使用します<?php namespace site;?>

サブドメイン コントローラーの場合は、次のような名前空間を使用します<?php namespace subdomain;?>

ルートファイルで、ルートを次のように定義します。

Route::group(array('domain'=>'example.com'), function(){
    Route::get('/', array(
       'as' => 'index',
       'uses' => '\site\HomeController@index'
    ))
});

サブドメインの場合、

Route::group(array('domain'=>'cms.example.com'), function(){
    Route::get('/', array(
       'as' => 'cms.index',
       'uses' => '\subdomain\HomeController@index'
    ))
});

単純明快な方法。

于 2013-10-04T17:07:34.170 に答える
0

bootstrap/paths.php主なフォルダ定義を保持します。インスタンスごとに、アプリ フォルダー、パブリック フォルダー、ベース フォルダー、ストレージ フォルダーなどをファイルから変更できます。

Cookie/セッションを設定したり、メインドメインとサブドメインのドメインなどを確認して、次のように変更したりできます。

'app' => Session::has('subdomain')?'../../app':__DIR__.'/../app',
于 2013-10-04T12:33:09.460 に答える