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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Конструктор классов в CodeIgniter?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: новичковый вопрос
Koc
Отправлено: 01 Марта, 2013 - 21:43:22
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Всем добрый вечер,

Прошу обьяснить работу "конструктора классов" в CodeIgniter.

Документацию я почитал и насколько понял, конструктор класов это "функция", тело которой запускается перед любым обращением к другим функциям данного класса?

Например в конструкторе можно вызвать загрузку библиотек, что бы этого не делать во всех остальных функциях этого класса.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class Blog extends CI_Controller {
  3.  
  4.        public function __construct()
  5.        {
  6.             parent::__construct();
  7.             $this->load->library('form_validation');
  8.        }
  9.  
  10.         public function index()
  11.         {
  12.                 echo 'Hello World!';
  13.         }
  14.  
  15.         public function test()
  16.         {
  17.                 echo 'Look at this!';
  18.         }
  19. }
  20. ?>


Получается при обращении к функции "test", в начале загружается тело __construct(), а только потом идет test(). Правильно?

Заранее спасибО!
 
 Top
etoYA
Отправлено: 01 Марта, 2013 - 22:48:32
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Koc пишет:
Прошу обьяснить работу "конструктора классов" в CodeIgniter.


Конструктор везде один. Он вызывается при создании обьекта.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class test{
  4.         public function __construct(){
  5.                 echo '123';
  6.         }
  7.         public function test(){
  8.                 echo '456';
  9.         }
  10. }
  11. // создаем обьект
  12. $t = new test;
  13. $t->test();
  14. //123456
  15. ?>
  16.  

(Отредактировано автором: 01 Марта, 2013 - 22:49:19)

 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Марта, 2013 - 23:57:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Koc пишет:
"конструктора классов" в CodeIgniter
громко сказано. Я уж подумал о кодогенераторе даже Улыбка
Писаки )))
 
 Top
Koc
Отправлено: 02 Марта, 2013 - 04:00:05
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
громко сказано. Я уж подумал о кодогенераторе даже Улыбка
Писаки )))


Ну так в документации написано)

etoYA пишет:
Конструктор везде один. Он вызывается при создании обьекта.


Спасибо, все понял..

P.S. Один из не многих форумов где люди дают нормальные ответы на глупые вопросы, а не отправляют "курить google", за что отдельное спасибо!
 
 Top
digi
Отправлено: 02 Марта, 2013 - 08:19:44
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)





а ник то какой! Улыбка))) на соседних форумах обитает толковый парнь с таким же ником, я уж подумал, что же может человека заставить с КИ связаться? Улыбка))))) но нет, всё хорошо, это не он Улыбка
 
 Top
Koc
Отправлено: 02 Марта, 2013 - 17:01:14
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




digi пишет:
что же может человека заставить с КИ связаться?

А чем CodeIgniter плох?
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Марта, 2013 - 17:50:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Эммм, а давате идти от обратного. Чем же он хорош?
Причем не просто описнием, а в сравнении с другими фреймворками.
Что мол вот у этих нету того что есть у него, а еще он делает это лучше чем те и те.

Так по крайней мере мы в итоге узнаем что он равен или около того к остальным.
 
 Top
etoYA
Отправлено: 02 Марта, 2013 - 17:51:23
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Koc пишет:
А чем CodeIgniter плох?

Просто digi помешан на Smarty Голливудская улыбка
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Марта, 2013 - 17:53:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




etoYA пишет:
на Smarty
Ты попутал, он помешан на симфони. Я даже скажу что это хорошо - человек нашел то, что ему по душе. Правда иногда перегибает своим убеждением. Но это в принципе похвально.
 
 Top
etoYA
Отправлено: 02 Марта, 2013 - 18:55:11
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DeepVarvar, да, смарти же это вообще не cmf ))
 
 Top
Koc
Отправлено: 02 Марта, 2013 - 19:01:17
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
Эммм, а давате идти от обратного. Чем же он хорош?
Причем не просто описнием, а в сравнении с другими фреймворками.


1. Очень прост в освоении для новичков в ООП
2. Хорошая документация, с примерами (не только на англ.языке)
3. По умолчанию загружает только ядро, все остальное (библиотеки, плагины, хелперы) загружаеш сам по необходимости.
4. Мало весят исходники и давольно быстро работает, не делая большую нагрузку на систему.

Это лично мое субьективное мнение, на эти пункты я опирался при выборе первого фреймворка для обучения.
 
 Top
digi
Отправлено: 02 Марта, 2013 - 19:10:18
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




DeepVarvar

да, ладно вам Улыбка) пишу то раз в месяц наверно ;)) какой уж там "перегибаю" ;)


а у КИ есть одно преимущество! Улыбка) системные требования пхп 5.1.6, что соотвестрвует уровню августа 2006 года Улыбка а через месяц в этот список http://php.net/eol.php попадёт и ветка 5.3

следовательно 5 лет назад КИ был очень даже наверно хорош ;) и на тот момент, удивляться тому, что кто-начал его использовать конечно же было бы нерезонно ;)

UPD: ооо! Улыбка) а ребята из ellislab весьма весёлые! выдержка из http://ellislab[dot]com/codeigniter/[dot][dot][dot]e/changelog[dot]html
Цитата:

Version 2.0.0

Release Date: January 28, 2011
Hg Tag: v2.0.0

* General changes
* PHP 4 support is removed. CodeIgniter now requires PHP 5.1.6.


т.е. спустя 2 недели после закрытия ветки 5.2, они только отказались от 4-ой и перешли на 5.1.6, которая не поддерживалась к тому моменту уже почти 5 лет %)) бодряк! Улыбка))

(Отредактировано автором: 02 Марта, 2013 - 19:23:57)

 
 Top
Koc
Отправлено: 02 Марта, 2013 - 19:32:45
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




digi пишет:
следовательно 5 лет назад КИ был очень даже наверно хорош ;) и на тот момент, удивляться тому, что кто-начал его использовать конечно же было бы нерезонно ;)


Я согласен, что КИ уже устарел и его обновления выходят наверно только из-за поддержки интузиастов. Но всетаки его используют и даже написаны очень неплохие CMS на нем.
Можно сказать что он популярен, и опятьже он прост в изучении.
 
 Top
digi
Отправлено: 02 Марта, 2013 - 19:43:46
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




Koc, "популярность" кажется таковой, потому что это нечто очень древнее и весьма примитивное... а вот например по активности комьюнити можно посмотреть кол-во фоловеров и форков:

https://github[dot]com/symfony/symfony
https://github[dot]com/EllisLab/CodeIgniter
https://github[dot]com/zendframework/zf2
https://github[dot]com/yiisoft/yii

а новичкам в ООП, надо найти книжку: PHP. Объекты, шаблоны и методики программирования. 3-е издание, Автор: Метт Зандстра, Год издания: 2011 и очень внимательно читать всё что там написано кроме глав:
15 т.к. сейчас используется Composer и https://packagist[dot]org/
17 сейчас используется Git.
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Марта, 2013 - 19:58:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




digi пишет:
спустя 2 недели после закрытия ветки 5.2, они только отказались от 4-ой и перешли на 5.1.6, которая не поддерживалась к тому моменту уже почти 5 лет
Молодцы же Круто
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB