Если все и так знают, пропущу :)
Prado, с 2004 → Yii 1.0, 2008 → Yii 1.1, 2010 → Yii 2
Yii::getPathOfAlias()
Yii::setPathOfAlias()
*-local.php
(игнорируется VCS)install.php <environment>
У каждого свой index.php
.
common/config/params.php
common/config/params-local.php
frontend/config/params.php
frontend/config/params-local.php
$config1 = array(...);
$config2 = array(...);
$finalConfig = CMap::mergeArray($config1, $config2);
master
, release-X.X
, feature-XXX
.X.X.Y
base-schema.sql
— начальная структура.base-data.sql
— начальные данные.
$github_ips = array('207.97.227.253', '50.57.128.197', '108.171.174.178');
if(in_array($_SERVER['REMOTE_ADDR'], $github_ips)) {
$dir = '/var/www/path/to/your/git/root';
exec("cd $dir && git pull");
echo 'Done.';
}
else {
header('HTTP/1.1 404 Not Found');
echo '404 Not Found.';
exit;
}
yiic compress all
(в паблике нет). all_123hash123.js
, прописывает его в frontend/config/params-local.php
.yiic migrate
.Внешние | Внутренние |
---|---|
Latency. | Нужно мониторить. |
Ломаются. | Нужно ставить. |
Без напряга. | Нужно поддерживать. |
Стоят денег. | Детали. |
Гарантии. | Нет гарантий. |
CClientScript::registerScriptFile()
.
return array(
'jquery.js',
'widget.login.js',
'widget.friends.js',
'module.user.js',
'module.post.js',
);
@base: #f938ab;
.box-shadow(@style, @c) when (iscolor(@c)) {
box-shadow: @style @c;
-webkit-box-shadow: @style @c;
-moz-box-shadow: @style @c;
}
.box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) {
.box-shadow(@style, rgba(0, 0, 0, @alpha));
}
.box {
color: saturate(@base, 5%);
border-color: lighten(@base, 30%);
div { .box-shadow(0 0 5px, 30%) }
}
views/post/edit.php
:
<div class="post-edit">...</div>
css/post.css
:
.post-edit p { ... }
.post-view h2 { ... }
widgets/friends/views/index.php
:
<div class="widget-friends-index">...</div>
widgets/friends/assets/friends.css
:
.widget-friends-index div { ... }
g-*
. Стили в global.css
.layout-
и файл layout.css
.Подключаются в index.php
после инициализации приложения, но до запуска:
$app = Yii::createApplication('CWebApplication', $config);
include 'global.php';
$app->run();
Примеры:
function app() {
return Yii::app();
}
function user() {
return Yii::app()->user;
}
function db() {
return Yii::app()->db;
}
function t($message, $params, $category = 'myproject') {
return Yii::t($category, $message, $params);
}
function h($text) {
return CHtml::encode($text);
}
function l(…) {
return CHtml::link(…);
}
function param($name, $default = null) {
return isset(Yii::app()->params[$name] ? Yii::app()->params[$name] : $default);
}