I bow to all the good work being done on the next version of yii and I leave you with my opinion on how I think the structure would be improved:
All code in the Yii framework should be in a special external folder common to all vendors, not inside the vendor folder. I personally do not like the term vendor, I would call it library, and inside it should have a folder called modules and another called extensions. Each module or extention should only have a distinct name to it folder, not the name of the vendor just the module name or extension, and without version or other mentions. some rules or convention to this should be applied.
I imagine a cleaner code declaration like this:
<?php Use Core [ helpers\hmtl, widgets\gridView, translate\i18n ]; Use Extentions [ 'someExtention1\extentX\Part1', 'someExtention2' ]; Use Module [ 'someModule1\SomeThing', 'some_extention2' ]; Use Translation [ 'Yii', 'admin', 'some_extention2' ]; Use Variables [ $this->title = translate::text('backend', 'Title'); $example1 = someThing; ]; Use Parameters [ 'AppRoot'=> '@Web', 'view'=>this->view, 'form'=>'modules->Something', 'breadcrumbs' => $this->title; ] ?>
All vendor extensions and modules should contain only their own code, when using yii or another vendor code, it should read the yii folder or the third-party vendor folder. We should not repeat, code from other vendors or code yii. I’ve seen some extensions and modules with vendor folders with yiisoft folders and code from other vendors, we have a confusion of one framework within another, wasted kb and structure code repetitions.
Messages should be at root and be a common folder to both framework and vendors to install their translations folders, if you build a very complex application with many modules and extensions, try to work on its translations… and if you want to control it with a database, you have to search and tweak code that can be changed with updates, Big work and Big mess.
I like Yii framework because it is easy to learn and very fast to develop with, but most of all because it is OOP MVC, that’s in my opinion what points my choice in using yii from other frameworks. So, we should go more this way to make the real difference.
Well, for now I just give some opinions for, at least, make you think.
I really dream with a bigger Yii.
Maybe later I will keep give you some more opinions, maybe they are good or not, but I thought I should share. Someday who knows, if I have time, I could help the core team.
I thank all the programmers, thinkers and doers and the patrons and all the community that support this beautiful framework.
Special Thanks to the Yii team, keep the good work and may the force be with you.