πŸ“œ ⬆️ ⬇️

Great guide to Yiinitializr

The guys from Yii Software are preparing a bomb. So far I am only watching the new version of the framework from around the corner, but I am already seeing improvements in everything - from using new language features to conveniently creating my own structures for large projects.

However, now things are in such a way that the train only gets on the rails (do not look for analogies, although they are there) and you will have to wait for a stable version, and new projects have to be done today. For a happy development, there’s just not enough, namely, the convenient structure of the application, deployment without unnecessary problems, and of different buns at will. At the moment, the most pleasant solution is Yiinitializr.


')
Yiinitializr is a library that helps simplify and speed up the development cycle of an application based on the Yii framework. Out of the box there are 3 options for structural patterns:

Why it is worth reading this article? The lack of intelligible documentation introduces even inexperienced developers into a stupor (checked on themselves), and a bunch of different surprises (for example, in the form of bugs) remarkably complement this feeling. I tried to disassemble the process of working with Yiinitializr cogs to protect you from most of the troubles in the way of its development.

On this, I think, descriptive words are enough. If you are reading this article, it means that you most likely already know what Yiinitializr is, and want to get answers to specific questions about its use. And if you still do not know, the main point, I hope, you have caught, so do not be afraid to read further.

Attention! Since Yiinitializr continues to develop (albeit extremely slowly), any bug or any behavior described in this article can be corrected / changed at the time of reading. Even the emergence of a new, more advanced tool (for example, the built-in capabilities of the second version of the framework) is not excluded.

Installation


Step 1. Downloading Yiinitializr


First of all, Yiinitializr must be downloaded. This can be done in two ways - from the official site , or from the repository on GitHub ( Basic , Intermediate , Advanced ). Using the first method, we are able to add various extensions for Yii to the package, but for some reason the Intermediate-template build is based on the old version of Yiinitializr, which contains an incorrect initialization script ( Warning! This only applies to the Intermediate-template). At the same time, the source code from the main repository branch offers us another unpleasant surprise, namely, an extra dependency in the Composer configuration file, due to which an error occurs during the installation. But do not despair, together we can definitely solve these problems.

So, depending on which method you choose, open the corresponding spoiler.

I downloaded the archive from the official site
Now we have to run a little ahead. But in order not to lose the thread of the story, we will only correct the initializing script, and leave all the explanations for later.
Unpack the archive and change the contents of the two files. Content ./frontend/www/index.php to:

 require('./../../common/lib/vendor/autoload.php'); Yiinitializr\Helpers\Initializer::create('./../', 'frontend', array( __DIR__ . '/../../common/config/main.php', __DIR__ . '/../../common/config/env.php', __DIR__ . '/../../common/config/local.php' ))->run(); 

Content ./backend/www/index.php to:

 require('./../../common/lib/vendor/autoload.php'); Yiinitializr\Helpers\Initializer::create('./../', 'backend', array( __DIR__ . '/../../common/config/main.php', __DIR__ . '/../../common/config/env.php', __DIR__ . '/../../common/config/local.php' ))->run(); 


I used the services of GitHub
Everything is in order with the initializing script, but it is necessary to get rid of the Composer unnecessary dependency. To do this, open the file ./composer.json and delete the line.

 "2amigos/yiistrap": "dev-master", 

from the require block.

Now that the current version of the freshly uploaded Intermediate-template Yiinitializr on our computer, I propose to study its structure (with two other versions, things are similar, so there should be no difficulty with understanding). The application is divided into 4 parts ( ):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController .
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController .
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
  1. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/ , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  2. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/ , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  3. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/ , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  4. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/ , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  5. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/ , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  6. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/ , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/ , , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
  • ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  • ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  • ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  • ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  • ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
 ): 
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !
  1. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  2. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  3. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  4. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  5. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
  6. ):
    backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
    .
    :
    . . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

    2.
    . :

    ./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

    . , :

    ./<part>/config/<part>.php ./<part>/config/env/<environment>.php
    , -, ( ), , -, ().

    () β€” , .
    () β€” , . -: dev
    ( ) prod ( ).

    ( ) .//config/env.php .//config/env/.php . , , . , , . :



    , β€” . ./comon/config/env/dev.php
    . , , .

    ? ! .

    3. Composer
    Yii, :
    . PHPUnit Selenium. Yii . . Yii , .
    Yiinitializr Composer, .

    ! , , PhpUnit. , , , . .
    Composer β€” PHP . , .
    ./composer.json . , require :

    "require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
    β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

    :

    "require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
    . php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

    "repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
    ! PhpUnit %PATH% Git .
    - , . Composer. , , . . phar- Yiinitializr.

    . Composer :

    > php composer.phar self-update
    :

    > php composer.phar install
    ! , PHP . , SSL , PHP .
    :

    Start Installation? [y/n]: y
    , . . , dev Enter:

    Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
    , Installation completed!

    Composer?
    env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
    , Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
    ! .//config/env.php, . . - Git , «». .//config/env/.php.
    Yiinitializr
    Yiinitializr, .

    Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

    . Yiinitializr , . /common/extensions/components/
    , , .

    EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

    $app = \Yii::createWebApplication($config);


    $app = \Yii::createApplication('EWebApplication', $config);
    EActiveRecord β€” CActiveRecord, , ( EController), .

    EController β€” DRY , loadModel performAjaxValidation , . , - .

    ! , , CRUD Gii. FAQ .
    , Yiinitializr . ? , debug- , . debug-, .

    params . :

    yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
    , . , , , / debug-. e ./common/config/env/dev.php :

    'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
    ./common/config/env/prod.php :

    'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
    ! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    . PHP-, Yiinitializr.

    , Git-, , :

    > cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
    .gitignore , , , . , , Composer --no-dev , prod :

    > php composer.phar install --no-dev
    , , ( ).


    ?
    Yiinitializr , , . , , Yiinitializr .

    Gii CRUD?
    EActiveRecord EController, β€” Gii CRUD - .
    β€” Gii , . .
    ./common ./common/config/env/dev.php :

    'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

    , Code Template Crud Generator, , yiinitializr-simple .

    , .
    , .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

    > php composer.phar update
    , , .

    Yiinitializr ?
    Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

    ! , , . .//www/.htaccess. , , , .
    Access forbidden backend?
    ./backend/ - .htaccess deny from all . , - , . !

    Composer?
    Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

    'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
    `./yiic migrate` post-install post-update.
    / . <vendor/-, :

    'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

    , : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

    ?
    , Yiinitializr β€” , . .

    ?
    -, , PhpUnit, Composer. Yii , PhpUnit + Composer.

    , . , , -, , , -, PhpUnit.
    . Yiinitializr, :

    require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
    , test.php .

    . :

    > cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
    ! , Selenium Server .

    Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

    PS , , , . !
):
backend frontend β€” ; console β€” ; common β€” . , , backend- frontend-, SiteController
.
:
. . β€” . backend- frontend- ./_part_>/www/ . Yiinitializr, , Composer ./comon/lib/ . vendor . , , ./console/migrations/ .

2.
. :

./backend/config/backend.php ./backend/config/env/dev.php ./backend/config/env/prod.php ./comon/config/main.php ./comon/config/test.php ./comon/config/env/dev.php ./comon/config/end/prod.php ./console/config/console.php ./console/config/env/dev.php ./console/config/env/prod.php ./frontend/config/frontend.php ./frontend/config/env/dev.php ./frontend/config/env/prod.php

. , :

./<part>/config/<part>.php ./<part>/config/env/<environment>.php
, -, ( ), , -, ().

() β€” , .
() β€” , . -: dev
( ) prod ( ).

( ) .//config/env.php .//config/env/.php . , , . , , . :



, β€” . ./comon/config/env/dev.php
. , , .

? ! .

3. Composer
Yii, :
. PHPUnit Selenium. Yii . . Yii , .
Yiinitializr Composer, .

! , , PhpUnit. , , , . .
Composer β€” PHP . , .
./composer.json . , require :

"require":{ "yiisoft/yii":"1.1.14", "2amigos/yiiwheels":"1.0.3" },
β€” Yii, ( ) Yiinitializr: Yiistrap β€” Twitter Bootstrap Yii, Yiiwheels β€” Yiistrap. yii . , . , , . , . PhpUnit .

:

"require-dev":{ "phpunit/php-invoker": "1.1.0", "phpunit/dbunit": "1.3.0", "phpunit/phpunit-story": "dev-master", "phpunit/phpunit-selenium": "dev-master" },
. php-invoker PHP- ext-pcntl, [ ] Unix . Windows , repositories php-invoker Composer, Git:

"repositories":[ { "type":"composer", "url":"http://packages.phundament.com" }, { "type":"package", "package":{ "name":"phpunit/php-invoker", "version":"1.1.0", "source":{ "type":"git", "url":"http://github.com/sebastianbergmann/php-invoker", "reference":"master" }, "autoload":{ "classmap": [ "PHP/" ] } } } ],
! PhpUnit %PATH% Git .
- , . Composer. , , . . phar- Yiinitializr.

. Composer :

> php composer.phar self-update
:

> php composer.phar install
! , PHP . , SSL , PHP .
:

Start Installation? [y/n]: y
, . . , dev Enter:

Please, enter your environment -ie. "dev | prod | stage": [dev]: dev
, Installation completed!

Composer?
env.php . : runtime, assets. . . ( Composer ). Composer migrate, {{migration}} . .
, Β« Β» (4 ). Yiinitializr Composer, . , env.lock ( ./common/lib/Yiinitializr/config/env.lock ). , .
! .//config/env.php, . . - Git , «». .//config/env/.php.
Yiinitializr
Yiinitializr, .

Yiinitializr β€” , , . , 3 , . Initializr Twitter Bootstrap, Modernizr JQuery. Initializr-.

. Yiinitializr , . /common/extensions/components/
, , .

EWebApplication β€” CWebApplication. , . , , , EWebApplication, ~46 ./common/lib/Yiinitializr/Helpers/Initializer.php

$app = \Yii::createWebApplication($config);


$app = \Yii::createApplication('EWebApplication', $config);
EActiveRecord β€” CActiveRecord, , ( EController), .

EController β€” DRY , loadModel performAjaxValidation , . , - .

! , , CRUD Gii. FAQ .
, Yiinitializr . ? , debug- , . debug-, .

params . :

yii.debug ; yii.traceLevel ; yii.handleErrors ; php.defaultCharset ; php.timezone .
, . , , , / debug-. e ./common/config/env/dev.php :

'params' => array( 'yii.handleErrors' => true, 'yii.debug' => true, 'yii.traceLevel' => 3, )
./common/config/env/prod.php :

'params' => array( 'yii.handleErrors' => false, 'yii.debug' => false, 'yii.traceLevel' => 0, )
! Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

. PHP-, Yiinitializr.

, Git-, , :

> cd projects > git clone yiinitializr yiinitializr-prod Cloning into 'yiinitializr-prod'... done.
.gitignore , , , . , , Composer --no-dev , prod :

> php composer.phar install --no-dev
, , ( ).


?
Yiinitializr , , . , , Yiinitializr .

Gii CRUD?
EActiveRecord EController, β€” Gii CRUD - .
β€” Gii , . .
./common ./common/config/env/dev.php :

'gii' => array( ... 'generatorPaths' => array('common.gii'), ),

, Code Template Crud Generator, , yiinitializr-simple .

, .
, .//config/env.php, . . - Git , «». .//config/env/.php. Composer. , ./common/config/env.php ./common/lib/Yiinitializr/config/env.lock ,

> php composer.phar update
, , .

Yiinitializr ?
Yiinitializr , . .//www/ DocumentRoot . , ISP Manager , /www/yiinitializr/frontend/www WWW .

! , , . .//www/.htaccess. , , , .
Access forbidden backend?
./backend/ - .htaccess deny from all . , - , . !

Composer?
Yi i. Yiinitializr ComposerCallback Phundament / Composer . ./common/lib/Yiinitializr/config/console.php :

'params' => array( 'composer.callbacks' => array( 'post-update' => array('yiic', 'migrate'), 'post-install' => array('yiic', 'migrate'), ) ),
`./yiic migrate` post-install post-update.
/ . <vendor/-, :

'params' => array( 'composer.callbacks' => array( 'yiisoft/yii-install' => array('yiic', 'webapp', realpath(dirname(__FILE__))), ), ),

, : pre-install, post-install, pre-update, post-update, post-package-install, post-package-update.

?
, Yiinitializr β€” , . .

?
-, , PhpUnit, Composer. Yii , PhpUnit + Composer.

, . , , -, , , -, PhpUnit.
. Yiinitializr, :

require(__DIR__ . '/../../common/lib/vendor/autoload.php'); $config = Yiinitializr\Helpers\Initializer::config('frontend', array( dirname(__FILE__) . '/../../common/config/main.php', dirname(__FILE__) . '/../../common/config/env.php', dirname(__FILE__) . '/../../common/config/test.php', )); Yii::import('system.test.CTestCase'); Yii::import('system.test.CDbTestCase'); Yii::import('system.test.CWebTestCase'); Yii::createWebApplication($config);
, test.php .

. :

> cd .\frontend\tests\ > ..\..\common\lib\vendor\bin\phpunit .
! , Selenium Server .

Yii Framework β€” Yii. Yiinitializr β€” . Basic , Intermediate , Advanced Yiinitializr. Composer β€” PHP. Composer . Yii Composer .

PS , , , . !

Source: https://habr.com/ru/post/207454/


All Articles