Apr 18, 2017


How to Handle Errors & Exceptions in the Yii Framework

Jeff Reifman at tuts+ on Yii error handler: using it and customizing it.

Apr 18, 2017


Yii Q&A 1

Common questions about Yii answered. Feel free to ask more in post comments.

Apr 17, 2017


Yii development notes 4, 5

Yii development notes from @samdark, Alexander Makarov:

Apr 11, 2017


LUYA Yii 2 CMS RC3 Release

We decided to make another Release Candidate before the upcoming first stable release. As we have changed large amounts of code and upgraded to the latest Angular version, we need the important feedback from the young and growing LUYA community.

This release brings a lot of API breaking changes, so make sure to check the Changelog and the Upgrading Guide before upgrading to RC3.

What are the most important improvements?

The new LUYA Content Proxy in action:


  • LUYA CONTENT PROXY: Hola! This is an awesome feature, believe us! It allows you to sync a production environment with your local environment just with one command: ./vendor/bin/luya admin/proxy. Database tables and files/images will be synchronised according to your local migration status. There is a new guide section where you can read more about this feature (Work in Progress):
  • The Crawler module now has a more sophisticated search and sort algorithm including word stemming.
  • The admin interface got some new file manager colors, the top main navigation is more polished and consistent than before.
  • File and link selection directives got updated to improve usability.
  • The 404 error page can now be specified inside the administration view: create the page that should serve as a 404 error page, go to CMS settings an select this page.
  • The main layout file can now be changed for a page.
  • It is now possible to specify block variations in the config file in order to override and hide fields. This will reduce the number of blocks needed to cover different design situations (e.g. text styles in the text block).
  • The Toggle Status ngRest plugin can now be directly toggled inside the list view.
  • Added a hook component which is similiar to Yii events but easier to implement. Very useful for projects using only the luya core module.
  • The administration interface now displays which user is editing which element on the current page and locks edited records in order to prevent concurrent editing and data overwriting.

New languages are available for all LUYA core modules:

  • Greek
  • Uktrainian
  • Italian
  • Vietnamese
  • Portuguese

A big Thank You to all the great developers taking time to translate LUYA!

The following are some of the "under the hood" changes:

  • Refactored core files, renamed core files to have consistent naming.
  • Dropped the TWIG templating as it requires more RAM, adds an additional complexity level and makes the LUYA experience inconsistent.
  • Upgraded to the latest Materialize and Angular versions.
  • ngrest configs are no longer stored in the session, so we can now use closure functions.
  • Added Arrayable implementation for Menu, File, Image and Filter objects.
  • Styleguide module can now populate function arguments to generate a more accurate styleguide.

Over 600 commits and 100 issues!

We are looking for people who like to translate the administration area to other languages – please drop us a message on Twitter, Gitter or create an issue on github!

Attention: If you want to upgrade to the third release candidate, there are a few breaking changes you have to take care of. With these changes done, we now have a stable and reliable foundation for the upcoming final release.

Please check the full Changelog and the Upgrading Guide where you can see all breaking changes.

If you have any problems or questions regarding the upgrade process, don't hesitate to contact us on Gitter or to create an issue on GitHub.

11 April 2017
LUYA developer team

Apr 7, 2017


YiiConf 2017, Moscow, Russia

This summer, June 16 at 11 am, the YiiConf conference will happen in Moscow, Izmaylovo Vega hotel.

This year preferred topics are:

  • Best practices using Yii.
  • Best practices overall.
  • Using Yii under hight traffic projects.
  • Most talks are going to be in Russian.

Check conference website for more details.

If you want similar conference in your country and ready to organize it, contact Alexander (@samdark) via

Apr 6, 2017


Programming With Yii 2: Building a RESTful API

In this tuts+ tutorial Jeff Reifman shows how to build and explore a very basic ActiveRecord based REST API using Yii 2.0.

Apr 5, 2017


Redis extension 2.0.6 released

Redis extension version 2.0.6 was released. This release contains important fixes for composite keys and executing two-word commands. There are enhancements and new features as well:

  • Better code completion in IDEs
  • It is now possible to avoid sending a SELECT command after connection by setting Connection::$database to null
  • \yii\db\QueryInterface::emulateExecution() was introduced to allow creating an empty query without the need to connect to a database
  • Redis-based Mutex implementation was added

Apr 1, 2017



If you are displaying ActiveRecord on its own route, you can use this extension to make it easier creating URLs. You won't write code like below anymore:

    $user->name, [
        'id' => $user->id,
        'class' => 'text-success'

Instead, it would be $model->hotlink or

$model->getHotlink('view', ['class' => 'text-success']);

Whenever you have to change the route adjust behavior configuration in your ActiveRecord instead of going through your view files updating routes one by one. You can also link to other components or ActiveRecords that use the LinkableBehavior via getHotlinkTo().

Mar 29, 2017


Yii 2.0 Webpack2 integration

This extension allows the use of Webpack2 system to manage assets in Yii 2.

Please check a README and a sample app to understand how to use it.

Mar 28, 2017


Migration extension 2.0 released

Migration v2.0 extension has been released with the ability to generate updating migration based on the current database table structure and table migration history.

Previously Migration was able to generate only creating migrations based on the current database table structure - now it can scan migration history and generate virtual table schema based on it and then compare it with current table structure to generate updating migration.