2

私はyiiの初心者です

フロントエンドとバックエンドのファイルを処理するための1つの構造を作成しました。これにより、共通のファイルを両方に使用でき、フォルダーから異なるファイルを作成できます。


フレームワーク/(このフォルダーにはすべてのyiiフレームワークコアフォルダーとファイルが含まれます)assets / js /

フロントエンド/

一般/

バックエンド/

api

画像/ストレージ/

保護された/コンポーネント/構成

main.php(DB、メールなど...)

コントローラー/

フロントエンド/

バックエンド/

ビュー/

フロントエンド/

バックエンド/

モデル/拡張機能/モジュール/

runtime / index.php .htaccess


この構造は、予約アプリケーション用に作成されています。いくつかの共通ファイルはそれらの間で共有され、controller/とviews/にあり、differentファイルはcontroller /frontend/とcontroller/backend/にあります。

例以下のように両方のフォルダにファイルがあります

controller / SiteController.php

フロントエンド/SiteController.php

Backend / SiteController.php

ビュー/レイアウト/

フロントエンド/レイアウト

バックエンド/レイアウト

ここで問題となるのは、.htaccessを設定して、http://myapp.com/index.php- >を記述したときに、フロントエンドと http://myapp.com/backend/inex.phpのすべてのファイルにアクセスできるようにする方法です。 ->バックエンドファイル(ベックエンドビューとコントローラー)にアクセスします

4

1 に答える 1

0

.htaccessindex.phpを [ /backend/ ] フォルダーにコピーします。次に、新しいindex.phpで、メインのものとは異なる構成へのパスを変更します。例えば

$config=dirname(__FILE__).'/../../'.YII_PROTECTED.'/config/admin.production.php';

バックエンド用に独自の構成を個別に作成します。

そのため、一般的なビュー、コントローラー、またはモデルを使用できますが、最も重要なのは UrlManager で制御することです。これは私の個人サイト の例です (URL ロジックを外部でテストできます)

フロントエンド:

    'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName'=>false,
        'urlSuffix' => '/',
        'rules'=>array(
            '<controller:profile>/' => '<controller>/index/',
            '<controller:profile>/<action:cv>/<project:\w+>' => '<controller>/portfolio/',
            '<controller:profile>/<action>' => '<controller>/<action>/',
            '<controller:blog>/' => '<controller>/index/',
            '<controller:blog>/<postID:[0-9]+>.html' => '<controller>/post/',
        ),
    ),

バックエンド:

    'rules'=>array(
        '/' => 'autoadmin/default/index',
        '<controller:\w+>' => 'autoadmin/<controller>/index',
        '<controller:\w+>/<action:\w+>' => 'autoadmin/<controller>/<action>',
    ),

バックエンドは、モジュールとして実行されるAutoAdmin CMSを調べます。

どちらも同じファイル構造を使用しますが、どちらも共通のものを使用できます (ほとんどの場合、モデルになります)。

于 2012-08-21T18:35:23.143 に答える