On June 10th, 2018 was released the first alfa version of the new major update to the Yii framework 3.0.0
New in Yii 3.0
- Package “ezyang/htmlpurifier” has been made optional and is not installed by default
- Yii autoloader is removed in favor of Composer’s PSR-4 implementation
- Removed HHVM-specific code
- Removed APC support in ApcCache, APCu works as before
- The behavior of
yii\grid\DataColumn::$filterInputOptionsis changed when the default value is overwritten - Moved masked input field widget into separate extension https://github.com/yiisoft/yii2-maskedinput
- Mail message composition extracted into the separate class,
yii\mail\Composerwhich setup is available viayii\mail\BaseMailer::$composer - Renamed
yii\base\InvalidParamExceptiontoyii\base\InvalidArgumentException - Updated the fallback date formats used when no
intlextension is installed to match the defaults of the latest ICU version - Removed XCache and Zend data cache support as caching backends
- Updated
yii\widgets\ActiveField::hint()method signature to matchlabel() - Removed
yii\base\Object::className()in favor of native PHP syntax::class, which does not trigger autoloading - Minimum required version of PHP is 7.1 now
- Consistent behavior of
run()method in all framework widgets. All return the result now for better extensibility - Signature of
yii\web\RequestParserInterface::parse()changed to acceptyii\web\Requestinstance as a sole argument - CUBRID database support removed
- PJAX support removed
- Packages ‘captcha’, ‘jquery’, ‘rest’, ‘mssql’ and ‘oracle’ have been extracted into extensions
- Removed methods marked as deprecated in 2.0.x
Enhancements in Yii 3.0
- Use
random_int()instead ofmt_rand()to generate cryptographically secure pseudo-random integers - objects
yii\helpers\ReplaceArrayValue,yii\helpers\UnsetArrayValuenow support restoring after being exported withvar_export()function - Added
yii\web\AssetConverter::$isOutdatedCallbackallowing a custom check for outdated asset conversion result - Added serialization abstraction layer under
yii\serialize\*namespace - Added support for PSR-3 ‘Logger’
- optimized
yii\filters\AccessControlleron processing access rules - Add
$checkAjaxparameter to methodyii\web\Controller::redirect()which controls redirection in AJAX and PJAX requests - Mail view rendering encapsulated into
yii\mail\Templateclass allowing rendering in isolation and access toyii\mail\MessageInterfaceinstance via$this->context->messageinside the view - CAPTCHA rendering logic extracted into
yii\captcha\DriverInterface, which instance is available viayii\captcha\CaptchaAction::$driverfield -
yii\web\Request::getBodyParams()now generates 415 ‘Unsupported Media Type’ error on invalid or missing ‘Content-Type’ header - The result of
yii\web\Request::getBodyParams()now includes uploaded files - Uploaded file retrieve methods have been moved from
yii\http\UploadedFiletoyii\web\Request - Added support for PSR-7 ‘HTTP Message’
- Caching implementation refactored according to PSR-16 ‘Simple Cache’ specification
You can download and test the latest release here
We will keep you updated with all latest changes in the Yii framework.
Join our newsletter
Volutpat vel turpis nulla lorem sed semper. Aliquam sagittis sem libero viverra vehicula nullam ut nisl.