Comments 35
Как раз мне это скоро пригодится :) Спасибо
0
спасибо большое - очень полезно! пока не нужно,но думаю пригодится!
0
По моему тут ошибка:
Должно быть:
$acl->deny('member','login');
$acl->allow('
guest
','welcome');
$acl->allow('
guest
','logout');
Должно быть:
$acl->deny('member','login');
$acl->allow('
member
','welcome');
$acl->allow('
member
','logout');
+1
Здорово. Спасибо. Только вот Zend смущает ;)
0
По авторизации есть альтернатива - Erkana auth от Michael Wales.
Есть также замечательный "starter's pack" от того-же Michael Wales, где авторизация уже включена, и от CI_Controller наследуются три разных контроллера соответствующие разным уровням доступа: Public_Controller, Member_Controller и Admin_Controller.
очень удобная штука для быстрого старта.
Есть также замечательный "starter's pack" от того-же Michael Wales, где авторизация уже включена, и от CI_Controller наследуются три разных контроллера соответствующие разным уровням доступа: Public_Controller, Member_Controller и Admin_Controller.
очень удобная штука для быстрого старта.
0
Библиотек есть много, хороших и разных, но далеко не все они достаточно гибки,
как вы например сами сказали в Еркана три контроллера, для 3 груп пользователей, а что делать если и 8 или 12 ?
А вообще идентификацию созательно не затрагиваю, потому как в этом деле у каждого свои предпочтения, да и далеко не всегда пишешь систему с нуля и бывает что она уже реализованна. От себя могу порекомендовать Zend_Auth ))
как вы например сами сказали в Еркана три контроллера, для 3 груп пользователей, а что делать если и 8 или 12 ?
А вообще идентификацию созательно не затрагиваю, потому как в этом деле у каждого свои предпочтения, да и далеко не всегда пишешь систему с нуля и бывает что она уже реализованна. От себя могу порекомендовать Zend_Auth ))
0
Немного неправильно. Три контроллера - это в стартер паке, т.е. в аналоге того что предложили вы. И главное достоинство ерканы - это то что она лишь костяк авторизации, т.е. набор методов которые помогут вам быстро реализовать именно ваши предпочтения. Это и удобно. Поэтому я в своё время не решился даже смотреть FreakAuth - она черезвычайно перегружена.
Вообще я чувствую надо будет собрать собственный стартер пак, в котором и языки реализованы, и авторизация, и редиректы правильные после авторизации, основанные на сессиях. Должно быть полезно.
Вообще я чувствую надо будет собрать собственный стартер пак, в котором и языки реализованы, и авторизация, и редиректы правильные после авторизации, основанные на сессиях. Должно быть полезно.
0
Подсветите сорцы, пожалуйста.
0
О боже. Я себе мозг сломал, наблюдая как CodeIgniter создаёт объект, инклудит модули и передаёт параметры. Может, конечно, так и надо делать, но у меня другие представления. Хотя, конечно, может стоящая вещь.
0
Поясните пожалуста, что вы имели в виду? Я согласен архитектура у CI не идеальная, но в принципе достаточно понятная, и мозг там ломать особенно не получится(ИМХО)
Супер объект - Один большой синглетон а остальное всё подключается, на мой взгляд подход себя оправдывает.
Супер объект - Один большой синглетон а остальное всё подключается, на мой взгляд подход себя оправдывает.
0
Мнение, которое может не совпадать с общепринятым.
Например. Как может нравиться конструкци вида:
$this->validation->set_message('_check_login','Bad username or password.');
Да, всё понятно.
Однако, моя Zend Studio for Eclipse не может мне сказать какого типа поле validation. Т.е. IDE не знает что это за класс такой и какие у этого класса свойства/методы. Значит я должен помнить все(!) свойства/методы этого класса. Не очень облегчает жизнь программисту, не так ли?
А вот ещё.
$this->load->library('validation');
Тоже всё понятно. И опять же здесь всиле предыдущее замечание. Да плюс ко всему, знаете где он будет искать библиотеку 'validation'? Во многих местах.
А как вам урлы вида
http://my_site.my/subjects/some_class/messages:add
Здорово не правда ли? А потом этот запрос начинает мощно парситься. Из него начинают выделяться "сегменты", части до ":" и после него.
Видимо для работы с данным фреймворком нужно "другое" мышление.
Если у него есть какие-то заметные плюсы, то напишите об этом.
Например. Как может нравиться конструкци вида:
$this->validation->set_message('_check_login','Bad username or password.');
Да, всё понятно.
Однако, моя Zend Studio for Eclipse не может мне сказать какого типа поле validation. Т.е. IDE не знает что это за класс такой и какие у этого класса свойства/методы. Значит я должен помнить все(!) свойства/методы этого класса. Не очень облегчает жизнь программисту, не так ли?
А вот ещё.
$this->load->library('validation');
Тоже всё понятно. И опять же здесь всиле предыдущее замечание. Да плюс ко всему, знаете где он будет искать библиотеку 'validation'? Во многих местах.
А как вам урлы вида
http://my_site.my/subjects/some_class/messages:add
Здорово не правда ли? А потом этот запрос начинает мощно парситься. Из него начинают выделяться "сегменты", части до ":" и после него.
Видимо для работы с данным фреймворком нужно "другое" мышление.
Если у него есть какие-то заметные плюсы, то напишите об этом.
+1
хорошо ответили основательно, попробую ответить.
1.Итак зенд студио и авто-дополнение, проблема не столько в архитектуре, а скорее в отсутствии phpdoc
2. ну опять первый пункт, а насчёт где будет искать посомотрите метод _ci_load_class класса СI_Loader так-ли уж много мест?
3. достаточно давно работаю с CI и ни разу не видел, ни говоря уже о том что бы самому делать такие урлы. вобще посмотрите роутер настраивается на ура на какие урлы хочется.
4. мышление, на мой взгляд любой фреймворк накладывает свой отпечаток на мышление, по этому и выбирать надо то что подходит лично тебе, и не будет тебя сковывать. выбора славо богу предостаточно.
Ну и на последок плюсы:
1. низкий порог вхождения - обучить нового человека можно за 2-3 дня.
2. отличная документация - почти всё по разложенно по полочкам с примерами.
3. сравнительно высокая быстродейтелность - я не говорю что лучшее, но у многих выигрывает.
4. легкая интеграция со сторрониими приложениями
Вот как-то так ))
1.Итак зенд студио и авто-дополнение, проблема не столько в архитектуре, а скорее в отсутствии phpdoc
2. ну опять первый пункт, а насчёт где будет искать посомотрите метод _ci_load_class класса СI_Loader так-ли уж много мест?
3. достаточно давно работаю с CI и ни разу не видел, ни говоря уже о том что бы самому делать такие урлы. вобще посмотрите роутер настраивается на ура на какие урлы хочется.
4. мышление, на мой взгляд любой фреймворк накладывает свой отпечаток на мышление, по этому и выбирать надо то что подходит лично тебе, и не будет тебя сковывать. выбора славо богу предостаточно.
Ну и на последок плюсы:
1. низкий порог вхождения - обучить нового человека можно за 2-3 дня.
2. отличная документация - почти всё по разложенно по полочкам с примерами.
3. сравнительно высокая быстродейтелность - я не говорю что лучшее, но у многих выигрывает.
4. легкая интеграция со сторрониими приложениями
Вот как-то так ))
0
Нифига подобного! Нельзя phpDoc-ом сделать так, чтобы после
$this->load->model('megamodel');
$this->megamodel->[Ctrl+Space]
выпадал автокомплит методов класса megamodel
$this->load->model('megamodel');
$this->megamodel->[Ctrl+Space]
выпадал автокомплит методов класса megamodel
0
А вот и можно.
@property CI_Uri uri
И NetBeans 6.5 прекрасно поёмет, что это такое.
Если знаешь английский, то можешь почитать по подробнее как более меннее удобно организовать автокомплит в NetBeans
www.mybelovedphp.com/2009/01/27/netbeans-revisited-code-completion-for-code-igniter-ii/
Сказать точно, сработает ли это в Eclipse, я не могу, так как им не пользуюсь.
А если ты не веришь, что такой тег существует тогда прошу сюда
manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.property.pkg.html
Никогда не утверждай то, чего не знаешь. Как говорил мне мой преподаватель, если ты не нашел, это не значит, что этого нет. Совершенствуйся, учись, а не демонстаритво утверждай, что «Нельзя», а что «Можно». Надеюсь ты адекватно воспримешь эту критику.
@property CI_Uri uri
И NetBeans 6.5 прекрасно поёмет, что это такое.
Если знаешь английский, то можешь почитать по подробнее как более меннее удобно организовать автокомплит в NetBeans
www.mybelovedphp.com/2009/01/27/netbeans-revisited-code-completion-for-code-igniter-ii/
Сказать точно, сработает ли это в Eclipse, я не могу, так как им не пользуюсь.
А если ты не веришь, что такой тег существует тогда прошу сюда
manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.property.pkg.html
Никогда не утверждай то, чего не знаешь. Как говорил мне мой преподаватель, если ты не нашел, это не значит, что этого нет. Совершенствуйся, учись, а не демонстаритво утверждай, что «Нельзя», а что «Можно». Надеюсь ты адекватно воспримешь эту критику.
0
Ну если на гоночную машину(CI) посадить слона(ZF)
она перестанет быть гоночной машиной.
Базовый контроллер расширяется самописным БЫСТРЫМ кодом.. а не слонами.. :-)
она перестанет быть гоночной машиной.
Базовый контроллер расширяется самописным БЫСТРЫМ кодом.. а не слонами.. :-)
0
гм, а вы не в курсе что, ZF тем и хорош что, себя всего не тянет, а позволяет работать с отдельными классами?В примере видно, что в данном случае подгружаются толькоу те классы которые нужны для списков доступа. Можете замерить сколько времени занимает, загрузка с ним и без и будете приятно удивленны.
Что касается быстрого самописного кода, то я например почти всегда отдам предпочтение хорошо задокументированной, проверенной, библиотеке, а не странным функциям которые местный гуру сваял на коленке. Опять же напишите мне быстрый самописный код который будет без проблем расширяться и позволит реализовать списки доступа с той же гибкостью.
Что касается быстрого самописного кода, то я например почти всегда отдам предпочтение хорошо задокументированной, проверенной, библиотеке, а не странным функциям которые местный гуру сваял на коленке. Опять же напишите мне быстрый самописный код который будет без проблем расширяться и позволит реализовать списки доступа с той же гибкостью.
0
разве функ-я в хелпере init_roles() не должна что-то врернуть? потипу return $acl;
0
Ошибка, надо не /system/application/libraries/My_Controller.php, а /system/application/libraries/MY_Controller.php
Под виндой этомонопенисуально не зависит от регистра, а вот под *nix системами, такую вольность допускать нельзя.
Под виндой это
0
Нормальный код, только как уже высказались Zend тянуть хоть и по отдельности тяжко, да и полно «родных» ACL было на сайте, сам пользуюсь свой правда.
И еще меня коробило одно слово в коде, но встречается часто Priviledge как-то не по английски, словно испанское что-ли, имхо вариант privilege или rights было бы приятнее.
И еще меня коробило одно слово в коде, но встречается часто Priviledge как-то не по английски, словно испанское что-ли, имхо вариант privilege или rights было бы приятнее.
0
Sign up to leave a comment.
Codeigniter — облегчаем себе жизнь (расширяем базовый контроллер)