0

Cake on PHP を初めて使用するので、URL があるかどうかを調べようとしています。URL のコントローラー コードを見つける最も簡単な方法は何でしょうか?

私のローカル マシンの URL は次のようなものです: http://foofoofoo.local/protected/admin/org/edit/1

このファイルのビューの場所は、私のマシンの次の場所にあることがわかりました: /var/www/MyApp/protected/app/views/org/admin_edit.ctp

admin_edit.ctp を参照するものをコードベース全体で検索することを考えました。2 つのエントリを見つけ、それらを変更して、ビューが呼び出されるポイントを見つけたかどうかを確認しましたが、これらのエントリのファイル名を変更したにもかかわらず、URL: http://foofoofoo.local/にアクセスしてもアプリは引き続き動作します。保護された/管理者/組織/編集/1

サイト内で admin_edit.ctp ファイルが呼び出されている場所を確認したいだけです。

4

2 に答える 2

1

URL: http://foofoofoo.local/protected/admin/org/edit/1

これは、 にルートが追加されていると想定できることを意味します/app/Config/routes.php。このファイルにアクセスできないため、これがどこを指しているのかはわかりません。

これをルートに追加したと推測できるのはなぜですか? 投稿された URL は、コントローラーを複数形で定義する必要があることを明確に述べているCakePHP の規則と一致していないためです。URL はコントローラーを介してコントローラーに直接アクセスするため、ルートが指定されていない限り、OrgController存在しないことがわかります。なんで?

試してみてくださいInflector::pluralize('Org')。「Orgs」が返されます。つまり、コントローラーを呼び出す必要がOrgsControllerあり、次の URL を介してこのコントローラーにアクセスする必要があります。

http://foofoofoo.local/protected/admin/orgs/edit/1

これには、接頭辞である Adminを先頭に追加したため、OrgsControllerというアクション (関数) が必要です。admin_edit()org

/protectedその部分が URL の一部である可能性もありますが、メイン/Appがどこにあり、URL のどの部分がファイルを指しているかはわかりません/app/webroot/index.php

ビューは にあります/app/View/Orgs/*.ctp

それでもファイルが見つからない場合。Cake コミュニティによって書かれたブログ チュートリアルから始めてください。このチュートリアルでは、組み込みの巧妙なトリックをすべて説明し、最初のアプリをすぐに実行できるようにします。最初にそれを読んでください!

それでも問題が解決しない場合は、質問を更新して/app/Config/routes.phpファイルを追加してください。

于 2013-01-29T08:28:56.687 に答える
0

Cake 1.3では、アプリケーションにAppControllerがある場合(ファイルが存在するかどうかを確認)、次のコードをメソッドapp/app_controller.phpに配置できます。beforeFilter

 debug($this->params);

デバッグモードの場合、コントローラーの名前と使用されたアクションを含む配列がアプリページに出力されます。

Array
(
  ...
  [controller] => controller_name
  [action] => action_name
  ...
)

AppControllerにbeforeFilterメソッドが含まれていない場合は、次のように作成できます。

function beforeFilter()
{
    debug($this->params);
}
于 2013-01-29T08:58:14.320 に答える