Pull to refresh

Comments 17

а я просто перевел yii на composer и заменил cwebapplication на свою реализацию с плюшками (symfony/httpfoundation, symfony/routing, pimple).
Хочу отметить немаловажную особенность использования пакета symfony/httpfoundation в составе yii1. Довелось мне делать такую связку, так вот Yii у вас не увидит REST параметры в PUT запросе, если у вас где-то есть вызов Request::createFromGlobals(). Оно читает php://input и когда yii хочет сделать тоже самое, то там уже пусто.
увы у меня только один проект в такой связке (и по сути только один живой проект на yii), и там отсутствует rest-api. Проверю на днях. Хотя по идее особо проблем быть не должно… У меня весь костяк фреймворка заменен, я только от activerecord не могу избавиться, ибо слишком много изменений в систему нужно вносить, и изменений подходящих пока не запланировано.
Большая часть системных объектов работать не будет из-за того что их экземпляры создаются через внутренние статические методы глобального класса Yii, в которых проверка существования классов/интерфейсов происходит без вызова методов автозагрузки. Особенно же печально что заставить работать пространства имен типа com\example (которое соответствует директории application или пространству имен app из статьи) вообще невозможно без извращений (сам решил добавлением соотвествующих алиасов при инициализации приложения и из собственного автолодера)
Отчего же? Я не говорил что полностью убрал автозагрузку yii, она все еще используется системными компонентами самого фреймворка, а так же сторонними расширениями. Но весь мой код грузит composer. Если компонент не найден в yii, он запрашивается у pimple, так же pimple имеет доступ к системным компонентам для их инъекции в мой код).

Словом, что тут обсуждать… Если кому-то интересно я могу на днях собрать пример приложения с такой структурой и выложить его на github.
Было бы интересно посмотреть.
но, когда я увидел как стал выглядеть метод relations, я решил это исправить

Есть же вариант получше: ClassName::class.
Вроде ж не приняли в php эту фичу.
Как не приняли? В версии 5.5 есть
В статье весь код под 5.4
Статья интересная, но заголовок странный — разоблачения, интриги.
Ну в статье я описываю как известные проблемы, так и их решения, мог и по другому назвать, но так хоть понятно что проблемы в статье тоже описываются.
За виджеты однозначно +1. На своих проектах сделал ровно то же, только в методе runWidget() оставил параметр $return.
У себя определил алиас modules. Сам фаил модуля может называться как угодно, если он явно указывается в class.
array(
  'class' => 'modules\rest\Module'
);


сам модуль

<?php
namespace modules\rest;

class Module extends \CWebModule 
{
}

Sign up to leave a comment.

Articles