-1

物事を正しくし、読み込まれたビューの後に CodeIgniter が別のビューを読み込まないようにするためにdie()、ビュー (フッター) の最後に追加する必要がありました。これは悪い慣行ですか? また、これにより問題が発生しますか?

ここに掲載するにはコードが少し大きいですが、ビューをロードする if ステートメントがあり、デフォルトで関数が別のビューをロードすると言えます。そのため、if ステートメントが渡されると、定義済みのビューが読み込まれ、関数はその後に既定のビューを読み込みます。コントローラー内で die() を使用できますが、ビューをロードする前に die() が実行されたことを意味する空白のページが表示されます。また、redirect() も使用できません。

4

3 に答える 3

1

それは悪い習慣です。コントローラー レベルでのメソッドの終了は、要求に関連するコードの実行の実際の終了ではありません。Codeignitor には、コントローラーをロードしてからそのメソッドを呼び出し、メソッドの実行が終了した後に他のコードを実行するというセットアップがあります。

CodeIgnitor の内部コードとは別に、フックがあります。

http://ellislab.com/codeigniter/user-guide/general/hooks.html

dieコントローラーメソッドが終了した後に実行される「ポストコントローラー」フックを定義した場合、コードを挿入してもそれらは実行されません。

于 2013-05-08T10:18:26.843 に答える
1

die() を使用している場合は、何らかの理由があるはずです。CI のビューの最後にそれを使用する理由を教えてください。

于 2013-05-08T10:17:28.273 に答える
1

死ぬとコードが実行されないため、これは悪い習慣です。ビューのロード後に実行するコード (フック) があるとします。それは実行されません。

于 2013-05-08T10:13:59.250 に答える