Comments 19
Давно уже не было постов о Codeigniter
Есть небольшая опечатка:
Создадим два дочерних класса:
application/libraries/Connect/drivers/Connect_twitter.php
application/libraries/Connect/drivers/Connect_twitter.php
Второй файл должен называться Connect_facebook.php
На будущее — даешь примеры посложнее ;)
Создадим два дочерних класса:
application/libraries/Connect/drivers/Connect_twitter.php
application/libraries/Connect/drivers/Connect_twitter.php
Второй файл должен называться Connect_facebook.php
На будущее — даешь примеры посложнее ;)
Еще очень удачный пример встроенного драйвера кэширования.
Можно еще и его почитать.
ЗЫ. жаль кармы мало, так бы статейку написал в Блог CodeIgniter`a
Можно еще и его почитать.
ЗЫ. жаль кармы мало, так бы статейку написал в Блог CodeIgniter`a
Жив еще старичок, помнят! :)
В целом простая реализация и хороший пример для новичков.
В целом простая реализация и хороший пример для новичков.
А что с ним должно случиться-то?
Его могут забыть и прийти стагнация, тем более с такими вялыми релизами от Reactor группы.
Кое-какая документация есть в ночном гайде, там же планы на CodeIgniter 3.0
http://codeigniter.com/nightly_user_guide/changelog.html
http://codeigniter.com/nightly_user_guide/changelog.html
Ну не знаю, лично я даже если прикинуть худший сценарий, что он начнет загибаться из-за быстроразвивающейся коханы или еще чего нибуть, могу спокойно продолжать его использовать в проектах ближайшие 2-3 года спокойно. К тому же если уходить с php то понятно дело что на рЭльсы. Но это отдельная тема для флейма)
Ну в целом-то просто прогресс и отставание фрэймворка не радует совсем. Посмотрите на Yii если не брать во внимание уродливое именование и конфиги массивом, то какая прелесть во всем остальном. А Symfony2 какой шикарный пласт работы сделали, прям получился такой enterprise framework на php и лучший пример как юзать нэймспэйс.
Да тех же Ниндзя, что параллельно ведут FuelPHP всё грамотно заморочив с простотой CI, но новыми возможностями PHP.
Ну а уходить куда-то, это от востребованности, я не ушел, пишу на CI до сих пор, но это не радует, скорее по инерции держу старые проекты, да и знаю его досконально как и что сделать. Так же понимаю, как он морально отстал и требует лишних движений.
Но уже все новые проекты пишу на Yii и таки ушел на Ruby on Rails :) потому как это приятно
Да тех же Ниндзя, что параллельно ведут FuelPHP всё грамотно заморочив с простотой CI, но новыми возможностями PHP.
Ну а уходить куда-то, это от востребованности, я не ушел, пишу на CI до сих пор, но это не радует, скорее по инерции держу старые проекты, да и знаю его досконально как и что сделать. Так же понимаю, как он морально отстал и требует лишних движений.
Но уже все новые проекты пишу на Yii и таки ушел на Ruby on Rails :) потому как это приятно
Продолжим оффтоп)))
Лично мне YII не понравился, я попробовал им воспользоваться, 2 дня плевался, снес и за 3 сделал на CI. Вот как-то так получилось…
Про моральное отставание если честно я лично не заметил, хотя может потребности не было. Какбэ вроде все есть что нужно, остальное дописывается ручками…
Лично мне YII не понравился, я попробовал им воспользоваться, 2 дня плевался, снес и за 3 сделал на CI. Вот как-то так получилось…
Про моральное отставание если честно я лично не заметил, хотя может потребности не было. Какбэ вроде все есть что нужно, остальное дописывается ручками…
С Yii по ряду вещей тоже плююсь (как именование классов с CController и т.п. ну и верблюжий синтаксис со времён MFC меня не прёт), но это что-то новенькое, свеженькое и даёт большой прирост к производительности моего труда :)
Ну чисто технически чего не хватает для удобства, это например:
— консоль для генерации контроллеров и т.п. вещей
— системы тестов не только для моделей
— хорошей системы автозагрузки
— модели ведут себя как singleton классы, а хочется как в RoR — $article = Article::find(); и потом итератором лениво подгружать foreach( $article->all as $a ){… }
по моральности, жить можно, но это по старому:
— не хватает namespace и на этой базе модульности, HMVC всё в глобальном ns
— из этого именованность надо контроллер News а модель News_model а я бы хотел News\Controller\News и News\Model\News например иметь в будущем.
Ну и так еще есть что не вспомнил.
Понятно, что часть вещей решается сторонними модулями, это конечно здорово, но почему бы хотя бы архитектурные вещи не изменить
Ну чисто технически чего не хватает для удобства, это например:
— консоль для генерации контроллеров и т.п. вещей
— системы тестов не только для моделей
— хорошей системы автозагрузки
— модели ведут себя как singleton классы, а хочется как в RoR — $article = Article::find(); и потом итератором лениво подгружать foreach( $article->all as $a ){… }
по моральности, жить можно, но это по старому:
— не хватает namespace и на этой базе модульности, HMVC всё в глобальном ns
— из этого именованность надо контроллер News а модель News_model а я бы хотел News\Controller\News и News\Model\News например иметь в будущем.
Ну и так еще есть что не вспомнил.
Понятно, что часть вещей решается сторонними модулями, это конечно здорово, но почему бы хотя бы архитектурные вещи не изменить
Спасибо стало яснее, обычно пропускал этот раздел документации.
Тут один вопрос:
Допустим, два раза используем
$this->connect->twitter->get_friends()
$this->connect->twitter->get_twitts();
В данном случае создаётся экземпляр класса Connect_twitter и в дальнейшем всегда хранится и используется, или при каждом $this->connect->twitter запросе вызывается new Connect_twitter?
Если первое, то как создать новый независимый экземпляр, если второе, то как хранить переменные класса?
Допустим, два раза используем
$this->connect->twitter->get_friends()
$this->connect->twitter->get_twitts();
В данном случае создаётся экземпляр класса Connect_twitter и в дальнейшем всегда хранится и используется, или при каждом $this->connect->twitter запросе вызывается new Connect_twitter?
Если первое, то как создать новый независимый экземпляр, если второе, то как хранить переменные класса?
В CodeIgniter модели, контроллеры, библиотеки и т.д. реализуют паттерн Singleton, поэтому экземпляр будет один и создание второго противоречит архитектуре фреймворка.
Чтобы создать новый экземпляр, нужно загрузить библиотеку в другой объект, указав его имя в третьем параметре метода load (вторым параметром указывается массив параметров инициализации, а имя по умолчанию совпадает с именем класса)
Создать отдельно экземпляр Connect_twitter не получится, потому как он описывает дополнительное поведения основного и сам по себе существовать не может.
Чтобы создать новый экземпляр, нужно загрузить библиотеку в другой объект, указав его имя в третьем параметре метода load (вторым параметром указывается массив параметров инициализации, а имя по умолчанию совпадает с именем класса)
$this->load->driver('connect');
$this->connect->twitter->get_twitts();
$this->load->driver('connect', '', 'connect2');
$this->connect2->twitter->get_twitts();
Создать отдельно экземпляр Connect_twitter не получится, потому как он описывает дополнительное поведения основного и сам по себе существовать не может.
Элегантненько, спасибо.
Стоп, если модель — синглтон, то могу ли я молучить два списка новостей одновременно, 1-й список 10 первых, 2-й список 10 последнийх, ведь при накладывании Order BY на второй список изменится первый, да и where-команды будут переходить.
Sign up to leave a comment.
Использование драйверов в CodeIgniter