2013-05-08 1 views
-1

Для того, чтобы все было в порядке и не позволяло CodeIgniter загружать другие представления после загруженного представления, мне нужно было добавить die() в конце представлений (нижний колонтитул). Это плохая практика и не вызовет ли это каких-либо проблем?Неужели это плохая практика, чтобы добавить die() в конце «Просмотры» в CodeIgniter?

Код немного большой, чтобы его можно было разместить здесь, но я могу сказать, что есть инструкция if, которая загружает представление, и по умолчанию функция загружает другое представление. Поэтому, когда оператор if передается, он загружает определенное представление, а затем функция загружает представление по умолчанию после него. Я могу использовать die() внутри моего контроллера, но он дает мне чистую страницу, означающую, что die() был выполнен до загрузки представления. и я не могу ни использовать redirect().

+0

Похоже, что вы делаете что-то неправильно, будут загружены только те, которые вы просите. – RMcLeod

+0

Не могли бы вы высказать какой-то код –

+0

Здесь немного больше, но я могу сказать, что есть инструкция 'if, которая загружает представление, и по умолчанию функция загружает другое представление. Поэтому, когда 'if statement' передается, он загружает определенное представление, а затем функция загружает представление по умолчанию после него. Я могу использовать 'die()' в моем контроллере, но он дает мне чистую страницу, означающую, что 'die()' выполнялся перед загрузкой представления. и я не могу ни использовать redirect(). – Zim3r

ответ

1

Плохая практика. Конец метода на уровне контроллера не является фактическим завершением выполнения кода, связанного с запросом. У Codeignitor есть настройка загрузки контроллера, а затем вызов его метода, а затем выполнение другого кода после завершения выполнения метода.

Помимо внутреннего кода CodeIgnitor, есть крючки

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

если вы определили «пост контроллера» крючки, которые получают выполняются после того, как метод управления закончил, те, которые не будут выполняться, если вам положите die в свой код.

1

Его плохая практика, потому что после смерти не будет выполняться код. Предположим, что у вас есть код (крючки), который будет выполнен после загрузки представления, который он не выполнит.

1

Если вы используете die(), значит, для этого должна быть какая-то причина. Не могли бы вы рассказать мне, почему вы хотите использовать это в конце представлений в CI?