Directory structure for complex Yii project

I started to plan one complex project soon(off course it will be Yii based), so I would like to discuss about structure I should use.

Qiang suggested this structure for medium/large projects, and he said that he used it in successfully, but I want to hear experience from other Yii-ers.

Thanks in advance!

The yiiframework.com site is made with this structure…

I like it… used it in 2 projects until now…

It’s usefull if in a future there will be the possibility/need to move the administration to a different server…

In this structure I don’t see test folder anywhere, or index-test.php. Where you placed tests(We will probably use only unit tests) folders in your projects where you used this structure?

I don’t use tests :(

But you can look at this structure like 3 projects in one… common, frontent and backend… where common is just common components for the frontend and backend (redundancy)… so test would be separated in frontend and backend…

As I wrote above… it’s used on the yiiframework.com site… other 2 projects where I used it are on my company intranet (frontend and backend on different servers), so not possible to see it from outside, sorry… and currently I’m developing a new project again using this structure, but this project is still a baby and at the very beginning…

Thanks for reply.

But, are you manually(copy/paste) creating skeleton for this kind of applications, or you are uing yiic, to create two different applications, and then modify paths, add new files…

The end result is same, and time doesn’t matter, as this is one time job per application, but want to know how do you do :)

And are you able too use gii tool without too much modifications?

I created manually the skeleton the first time with some default configs… now it’s just matter of copy/paste the skeleton for a new project

For using Gii no problem, no modification… just enable it in config… if you enable it in common/config it’s enabled in frontend and backend… otherwise you can enable it just in frontend/config or backend/config…

all the configuration are made so that they first included the common/config files… and then merge with the local one (frontent/backend)