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::$filterInputOptions is 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\Composer which setup is available via yii\mail\BaseMailer::$composer
  • Renamed yii\base\InvalidParamException to yii\base\InvalidArgumentException
  • Updated the fallback date formats used when no intl extension 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 match label()
  • 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 accept yii\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 of mt_rand() to generate cryptographically secure pseudo-random integers
  • objects yii\helpers\ReplaceArrayValueyii\helpers\UnsetArrayValue now support restoring after being exported with var_export() function
  • Added yii\web\AssetConverter::$isOutdatedCallback allowing 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\AccessController on processing access rules
  • Add $checkAjax parameter to method yii\web\Controller::redirect() which controls redirection in AJAX and PJAX requests
  • Mail view rendering encapsulated into yii\mail\Template class allowing rendering in isolation and access to yii\mail\MessageInterface instance via $this->context->message inside the view
  • CAPTCHA rendering logic extracted into yii\captcha\DriverInterface, which instance is available via yii\captcha\CaptchaAction::$driver field
  • 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\UploadedFile to yii\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.

Leave A Comment