Noooo. Не делай так. ;) Жесткое кодирование строк для такого рода вещей - почти всегда плохой подход. Ваши взгляды станут беспорядочными, и удачи, когда вы переименуете классы вашего контроллера.
Во-первых, если этот код находится в вашем контроллере, разве вы не знаете, какой это контроллер?
Это заставляет меня предположить, что это унаследованный метод, который используется несколькими контроллерами, верно? В этом случае есть несколько вариантов:
Переопределите его для каждого ребенка , сообщая методу parent::some_action()
, какой div вы хотите отобразить. (Правильное делегирование «власти» здесь избавит вас от головной боли, которая развязывается позже ...)
Вместо использования fetch_class()
, используйте instanceof
(так что ваша IDE сделает за вас тяжелую работу, если вы когда-нибудь переименуете класс).
Рассмотрим разбиение этого материала на подпредставления (т.е. частичные). действительно делает беспорядочным сравнение строк в представлении. Доверять. Me.
Вот что я бы порекомендовал:
<?php
// Overridden core class
class MY_Controller extends CI_Controller {
public function some_action()
{
//...
if ($this instanceof Controller_class_that_uses_div_a)
{
$this->load->view('view_for_div_A');
}
else
{
$this->load->view('view_for_div_B');
}
//...
}
}