0

私は Yii を初めて使用し、かなり完成したプロジェクトの保守を引き継ぎます。すべての書籍や Web リソースでは、Gii ツールを使用した新しいモデル/コントローラーなどの追加についてのみ説明しています。このプロジェクトの config/main.php ファイルを調べたところ、Gii モジュールが削除されており、単純に再追加するための index.php ページもありません。プロジェクトはすでにサーバー上で稼働しています。

新しいモデルをサイトに追加するにはどうすればよいですか? 既存のモデルを複製して新しいデータベース テーブルを作成しようとしましたが、アプリ内のどこからでもアクセスできないようです。このモデルへの新しい参照を追加するには、フレームワークのどこかでファイルを編集する必要がありますか?

または、サイトのローカル開発環境のレプリカを作成し、そこで gii を使用してから、新しいファイル (おそらくモデル ファイルだけでなく、違いは何ですか?) をサーバーに追加する必要がありますか?

4

2 に答える 2

3

Giiモデルジェネレーターはフォルダーにファイルを作成Modelするだけなので、そのうちの1つを複製してすべての参照を変更するだけです。

そのフォルダーに他のモデルクラスとは異なるものを作成すると、autoloaderのために機能します。

おそらく、いくつかの情報を変更するのを忘れただけです。ファイル名を確認してください。クラス名と完全に同じである必要があります。たとえば、モデル クラス名がUsersの場合、ファイルはUsers.phpである必要があります。

于 2013-04-30T08:51:41.823 に答える
0

本番環境で本番コードを変更しようとしているようです。サイトを破壊するようなことをするとどうなりますか? そのサイトがオフラインになったり、正常に機能しない状態になったりしても、そのサイトはどのくらいの期間許容できますか? 私の経験では、新しい開発は開発環境で行ってから、本番環境に移行する必要があります。そうしないと、実際の運用環境で変更をテストすることを余儀なくされ、それは実に危険なことです。

あなたが Yii に慣れていないことを考えると、最初からバグのないコードを書くことができない可能性があります。

最善の方法は、本番環境をミラーリングする開発環境を作成し、そこに Gii をインストールすることです。次に、必要なすべてのモデルとコントローラーを Gii で作成し、変更をテストして、最終的に変更を実稼働環境にプロモートできます。これは本当にベスト プラクティスの問題です。テストされていないコードでライブ コードを変更したくありません。

于 2013-04-30T14:57:14.883 に答える