CodeIgniter → Yii

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Ответить
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

CodeIgniter → Yii

Сообщение samdark »

Нужен ли рецепт по переходу CodeIgniter → Yii, описывающий основные отличия?
ATI
Сообщения: 69
Зарегистрирован: 2009.09.27, 12:35

Re: CodeIgniter → Yii

Сообщение ATI »

С удовольствием бы ознакомился, сам недавно перешёл с CI на yii.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: CodeIgniter → Yii

Сообщение slavcodev »

Александр, думаю такие вопросы не очень правильны.
Любой рецепт найдет своего читателя.
Пусть и не большое количество. :)

Главное чтоб время у Вас было на рецепты, и не жалко было его потратить на пользу ближнего.
Жду Yii 3!
Аватара пользователя
kosenka
Сообщения: 677
Зарегистрирован: 2009.09.26, 12:41
Откуда: москва
Контактная информация:

Re: CodeIgniter → Yii

Сообщение kosenka »

Sam Dark писал(а):Нужен ли рецепт по переходу CodeIgniter → Yii, описывающий основные отличия?
Да, очень нужен. Сам сейчас в процессе перехода...
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: CodeIgniter → Yii

Сообщение samdark »

Ок, начну тогда к вечеру описывать прямо тут в теме. Потом оформлю.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: CodeIgniter → Yii

Сообщение samdark »

Так… всё-таки сходу написать не удаётся. У кого будут вопросы вроде «на CI это делалось вот так, как с этим в Yii», пишите тут.
4php
Сообщения: 37
Зарегистрирован: 2011.02.20, 11:38

Re: CodeIgniter → Yii

Сообщение 4php »

Было бы интересно почитать, сейчас сам пытаюсь перейти с kohana. Никак не могу въехать в Yii тут всё совсем по-другому. Документация оставляет желать лучшего...
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: CodeIgniter → Yii

Сообщение Ekstazi »

Документация отличная. Зря вы так. Есть и практические примеры, есть и справочник и руководство. Правда есть и определенные пробелы. Но, при желании разобраться можно.
4php
Сообщения: 37
Зарегистрирован: 2011.02.20, 11:38

Re: CodeIgniter → Yii

Сообщение 4php »

Ещё не могу понять структуру папки framework, где мне найти CController, CModel, CWidget ... ? Что за папки cli, zii, gii и т.д.
Аватара пользователя
pls-kick-me
Сообщения: 42
Зарегистрирован: 2011.02.05, 22:39
Откуда: Украина, Донецк

Re: CodeIgniter → Yii

Сообщение pls-kick-me »

начни с создания блога http://yiiframework.ru/doc/blog/ru/start.overview
параллельно смотри сюда http://yiiframework.ru/doc/guide/ru/index
всё, что пока не понимаешь, оставь )
где мне найти CController, CModel, CWidget ... ?
в папке framework. стандартными средствами ОС.
Yes I'm Insistent
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: CodeIgniter → Yii

Сообщение Ekstazi »

В справочнике по api вводите имя класса и он вам показывает где лежит этот файл.
Аватара пользователя
Shaleny
Сообщения: 28
Зарегистрирован: 2011.02.24, 18:50

Re: CodeIgniter → Yii

Сообщение Shaleny »

Вот потихоньку разбираюсь с yii, хотелось бы знать следующее:
1. Библиотека(Library) ci == Компонент или Расширение yii ?
2. Хелперы в yii есть, но в виде методов класса, а не функций, так?
3. Можно ли добавлять свои хелперы?
4. Модули. Эта тема как-то слабо документирована, потому несколько вопросов по ним:
4.1 Можно ли передавать данные в метод модуля напрямую, а не через строку вызова? Как в ci hmvc: modules::run('module/controller/method', $param1, $param2, ... paramN).
4.2 Буферизируется ли вызов модуля?
5 Поведения, трудно представить пока, есть хоть примерный аналог в ci?

Спасибо :)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: CodeIgniter → Yii

Сообщение samdark »

1. Примерно да.
2. Да.
3. Да, просто создать класс с методами и закинуть в components или в любую папочку, из которой подгружаются классы.
4.1. Нет, но можно запихать значения в $_GET или $_POST.
4.2. ???
5. Нет.
Аватара пользователя
Shaleny
Сообщения: 28
Зарегистрирован: 2011.02.24, 18:50

Re: CodeIgniter → Yii

Сообщение Shaleny »

Спасибо! (Раньше не отвечал, т.к. не хотел засорять ветку)
Вообще после CI все достаточно занимательно. Объекты! Везде объекты! Пока вот назрело еще пару вопросов:
1. Поведения, как я понял, просто наращивают функционал контроллера, подмешивая свои методы. Непонятно только почему поведения, а не примеси. Про примеси, кстати хорошо описано тут:http://rmcreative.ru/blog/post/mixin-v-php.
2. В модели помимо save есть beforeSave и afterSave, точно так-же, как и для find и delete. Хотя прямого вызова beforeSave и afterSave в методе save нет. И они не являются событиями. Назначение их понятно, но как происходит их вызов? И почему это не реализовано событиями?
3. В примере блога в описание прав доступа выполняет след.метод:

Код: Выделить всё

    public function accessRules()
    {
        return array(
            array('allow',  // allow all users to perform 'list' and 'show' actions
                'actions'=>array('index', 'view'),
                'users'=>array('*'),
            ),
            array('allow', // allow authenticated users to perform any action
                'users'=>array('@'),
            ),
            array('deny',  // deny all users
                'users'=>array('*'),
            ),
        );
    } 
Как я понял, правила читаются сверху вниз. Непонятно назначение последнего правила, ведь до него никогда не дойдет, т.к. мы разрешаем все залогинившимся пользователям. Или по умолчанию разрешено все, и мы должны явно указать, что дальше дороги нет? Или это правило хорошего тона, как в mysql cтавить limit = 1 при выборке по уникальному полю? :)
4. Про модуль глупый вопрос. Я имел ввиду, если его вызывать из кода, результат выведется на экран(если, конечно модуль это делает) или вернет весь результат return'ом. Разобрался, как захотим в модуле так и будет :)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: CodeIgniter → Yii

Сообщение samdark »

1. Да, но не обязательно контроллера. По большей части, как раз, используется это для моделей. Поведения Yii — это и есть примеси, о чём я в посте на RMCreative упомянул. mixin в Yii работает для всего, что наследуется от CComponent.
2. Можно порыться в реализации CActiveRecord и посмотреть, как именно они вызываются. События тоже цеплять можно. Это просто более лёгкий альтернативный вариант.
3. Да, это для того, чтобы не было мучительно больно: сначала последним правилом запрещаем всё, а потом уже разбираемся.
Аватара пользователя
Shaleny
Сообщения: 28
Зарегистрирован: 2011.02.24, 18:50

Re: CodeIgniter → Yii

Сообщение Shaleny »

Вот кое что из моих наблюдений:

1. ActiveRecord в CI равно Построитель запросов в Yii. В Yii ActiveRecord "настоящий"- мощный инструмент для работы с бд.
2. Модели в Yii другие. Каждый экземпляр модели представляет строку таблицы, класс модели - таблицу. Так же есть модели для обработки форм.

Еще, показалось, что отображения рендерятся в 2 этапа, благодаря этому в дочерних отображениях можно управлять родительскими. Возможно я ошибаюсь.
Ответить