Хроники Yii3
625 subscribers
43 photos
1.7K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://yangx.top/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
#yiisoftYiiRunner #yiisoftYiiRunnerConsole #yiisoftYiiRunnerWeb #yiisoftYiiRunnerRoadrunner

Создан новый пакет Yii Runner, в который вынесен общий код, необходимый для запуска любого приложения:

- класс BootstrapRunner, для запуска bootstrap-кода;

- фабрика ConfigFactory для создания экземпляра класса Yiisoft\Config\Config;

- класс ThrowableHandler, реализующий RequestHandlerInterface, это обёртка исключения для его выброса в мидлвари обработчика ошибок;

- интерфейс RunnerInterface для скрытия деталей запуска приложения.

Также созданы три новых пакета с реализациями интерфейса RunnerInterface для запуска приложений соответствующего типа:

- Yii Console Runner,
- Yii Web Runner,
- Yii RoadRunner Runner.
#yiisoftYiiWeb #yiisoftHttp #МинорныйРелиз #yiisoftErrorHandler #МажорныйРелиз #Релиз

🎁 Yii HTTP 1.2.0
🎁
Yii Error Handler 2.0.0

Хелперы для работы преобразования строки с заголовками в более удобные для работы массивы перенесены из пакетов Yii Web (PR) и Yii Error Handler (PR) в пакет Yii HTTP (PR).

Примеры использования:

use Yiisoft\Http\HeaderValueHelper;

// Result: ['a' => '1', 'b' => '2']
HeaderValueHelper::getParameters('a=1;b=2');

// Result: ['value', 'a' => '1', 'b' => '2']
HeaderValueHelper::getValueAndParameters('value;a=1;b=2'));

// Result: [['value2', 'q' => 1.0], ['value1', 'q' => 0.2]]
HeaderValueHelper::getSortedValueAndParameters('value1;q=0.2,value2'));

// Result: ['text/xml', 'text/html']
HeaderValueHelper::getSortedAcceptTypes('text/html;q=0.2,text/xml;q=0.4'));

⚡️
#yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi #yiisoftAuth #yiisoftRequestBodyParser #yiisoftDataResponse #yiisoftCsrf #yiisoftRateLimiter #yiisoftCookies #yiisoftYiiRunnerWeb

Соответствующие изменения внесены в пакеты и приложения:

Шаблон веб-приложения (PR),
Шаблон API-приложения (PR),
Демо веб-приложения (PR),
Демо API-приложения (PR),
Yii Auth (PR),
Yii Request Body Parser (PR),
Yii Data Response (PR),
Yii CSRF Protection Library (PR),
Yii Rate Limiter Middleware (PR),
Yii Cookies (PR),
Yii Web Runner (PR).
⚡️ #yiisoftYiiRunnerWeb #yiisoftYiiRunnerRoadrunner

В раннерах Yii Web Runner (PR) и Yii RoadRunner Runner (PR) добавлена возможность задать свой обработчик ошибок с помощью методов WebApplicationRunner::withTemporaryErrorHandler() и RoadRunnerApplicationRunner::withTemporaryErrorHandler() соответственно.
Начали перераспределение классов из Yii Web.

#yiisoftYiiHttp

Создан новый пакет Yii HTTP Application, в который перенесены из пакета Yii Web классы (PR):

- Application,
- NotFoundHandler,
- Event\AfterEmit,
- Event\AfterRequest,
- Event\ApplicationShutdown,
- Event\ApplicationStartup,
- Event\BeforeRequest.

⚡️ #yiisoftYiiRunnerWeb #yiisoftYiiRunnerHttp

Пакет Yii Web Runner переименован в Yii HTTP Runner (yiisoft/yii-runner-http) и в него из пакета Yii Web перенесены классы (PR):

- SapiEmitter,
- ServerRequestFactory,
- Exception\HeadersHaveBeenSentException.

⚡️ #yiisoftYiiRunnerRoadrunner

В пакете Yii RoadRunner Runner зависимость от yiisoft/yii-web заменена на yiisoft/yii-http (PR).