Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Code Igniter вопрос новичка
Форумы портала PHP.SU » » Вопросы новичков » Code Igniter вопрос новичка

Страниц (1): [1]
 

1. nordghost - 04 Января, 2013 - 15:39:28 - перейти к сообщению
Вопрос такой прописываю я функцию index() в контроллере admin и перехожу к ней:
PHP:
скопировать код в буфер обмена
  1.  
  2.     function index(){
  3.             $this->load->helper(array("form","url"));
  4.             $this->load->view("header");
  5.             $this->load->view("admin/admin_page", $content);
  6.             $this->load->view("footer");
  7.         }
  8.  

В которой подгрузил все хелперы нужные мне, после чего кликаю по ссылке в view:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.     <div id="menu">
  3.         <a href="<?php echo site_url() ?>/admin/users">Users</a>
  4.     </div>
  5.  

Чем вызываю метод users()
PHP:
скопировать код в буфер обмена
  1.  
  2.  $this->load->view("header");
  3.  $this->load->view("admin/admin_page", $content);
  4.  $this->load->view("footer");              
  5.  


В итоге вылетает ошибка связанная с тем что хелпер url не был подключён. Вопрос следующий:
В каждом методе необходимо вызывать нужные хелперы или как то можно их вызвать для всего контроллера?
2. DeepVarvar - 04 Января, 2013 - 15:44:05 - перейти к сообщению
nordghost пишет:
В каждом методе необходимо вызывать нужные хелперы или как то можно их вызвать для всего контроллера?
Во! Нормальный такой вопрос! Да, могу утверждать что есть метод вида runBefore(); который и выполнится, в котором и нужно будет дернуть всех нужных хелперов. НО! Правильнее всетаки дергать нужных хелперов только в нужных экшнах. Естессно обойдя копипаст выносом повторяющихся фрагментов в отдельный protected или private метод контроллера.
3. nordghost - 04 Января, 2013 - 15:52:19 - перейти к сообщению
Огромное спасибо благодаря Вам обнаружил что такой метод есть уже внутри CI всего навсего нужно прописать те хелперы, библиотеки, модели, в файл config/autoload.php и они автоматически будут подгружатся вот такая красота Радость
4. DeepVarvar - 04 Января, 2013 - 15:54:02 - перейти к сообщению
nordghost пишет:
обнаружил что такой метод есть уже внутри CI
Я вот ни разу с ним не работал, но смело предположил что так я бы сам назвал метод )))

Но имеейте виду, я показал что такой подход чаще вреден, чем полезен.
5. nordghost - 04 Января, 2013 - 16:43:05 - перейти к сообщению
Ну почему же вреден если например URL я использую везде так как очень удобно и легко переносится!
6. DeepVarvar - 04 Января, 2013 - 18:40:05 - перейти к сообщению
nordghost пишет:
URL я использую везде
Я на всякий случай вам сказал, если вы кроме URL будете использовать еще с десяток хелперов, где 2 используются в одном экшне, 3 в другом, 1 в третьем, и еще 4 в четвертом, но нигде не используются все 10 в одном месте... Ну вы поняли уже да? Закатив глазки

 

Powered by ExBB FM 1.0 RC1