Yii2 projects alternative organization

How does one create a Yii2 project currently? I choose a template project: either basic or advanced, fork it, then edit and commit it, right there. Wham! I've copied and pasted it into my fork.

My project and the template I notice develop separately now. I do not get fixes to the template automatically into my project. And conversely or similarly my improvements that are specifically generated from my tasks will not be accepted into the yii2-app-basic template. This certainly poses the first problem with the current situation.

Currently, how does a Yii2 project evolve? Choose suitable extensions and plug them in with composer. Then I find the example config for the extension in it's README and copy this example into my application config. Oops... I notice I am copying and pasting again! This method causes problems, e.g. in a big project many extensions can be used — the application config becomes huge and unreadable. This is the second problem.

Both these problems are covered together here because they are closely related. The first one can be solved by separating the reusable code and turning it into an extension. But then you've got a second problem — this extension needs configuring.

These problems become more acute for repeated projects when you have to deploy many/several similar projects with big/small changes. But removing the copying and pasting of code will not hurt anyone.

I want to share my solution to these outlined problems.

Full article | Russian version

Created yii2-yandex-metrika

Provides really easy adding Yandex.Metrika counter to site. Even easier then adding a widget into layout.

Works by adding Behavior to the Application View. Behavior listens to EVENT_END_BODY and echos the counter script.

Released Composer Config Plugin 0.2.2


  • Improved README (@hiqsol)
  • Added support for .env, JSON and YAML (@hiqsol)

Released Composer Config Plugin 0.2.0


  • Added initializaion of composer autoloading for project classes become usable in configs (@hiqsol)
  • Added work with $config_name paths for use of already built config (@hiqsol)
  • Renamed pathes -> paths everywhere (@hiqsol)
  • Added collecting dev aliases for root package (@hiqsol)

Redone our site with Yii2

Completely redone our site with Yii2.

It's made with HiSite, Pages module and Hyde theme.

Why? I must admit Jekyll is very good for creating simple sites. I just wanted my own Jekyll more extendable and created with tools I'm used to: PHP and Yii.

Released Asset Packagist 0.1.0


Composer + Bower + NPM = friends forever!

Asset Packagist is the composer compatible repository that allows installation of Bower and NPM packages as native Composer packages.

NO plugins and NO Node.js are required.



Released HiDev 0.4.0


  • Changed: redone to composer-config-plugin
  • Changed: greatly improved functional tests
  • Fixed minor issues
  • Added sudo modifier
  • Added @root instead of @prjdir
  • Added hidev help
  • Added copying in FileController
  • Changed require: option to plugins:
  • Added CommandController
  • Added dump/internals action
  • Changed to use hiqdev/composer-extension-plugin instead of PluginManager
  • Added github/create and github/exists actions
  • Changed back to yii2 <- minii, used asset-packagist.hiqdev.com repository
  • Added loading of project's own bootstrap and config
  • Added better defaults when package name is domain
  • Changed github name -> full_name to correspond github api
  • Fixed scrutinizer issues
  • Added smart vendor require in hidev/init
  • Fixed bump and bump/release
  • Added easy creation of templated dirs and files with DirectoryController
  • Fixed JsonHandler to parse empty JSON to empty array (died before)

rEPPy became hEPPy

I had to turn rEPPy to hEPPy to register it to PyPI.
Reppy was already taken. And hEPPy is nice and happy :)

hEPPy is EPP client and library in Python.

EPP is Extensible Provisioning Protocol used for registrar-registry communication to register and manage domains.

hEPPy is gradually approaching state when it's going to be usable.

Created our site with Dr. Jekyll and Mr. Hyde

It was strange case of Dr. Jekyll and Mr. Hyde...

Initially this site was created with Jekyll.
But then I thought it was strange :-/
And we've redone the site with Yii2.

I've kept old version here: