Yii — записка на память


Разбор URL
Предположим у нас имеется следующий путь: http://host.ru/index.php?r=admin

echo Yii::app()->getRequest()->getHostInfo(); // http://host.ru
echo Yii::app()->homeUrl; // /index.php
echo Yii::app()->getRequest()->getUrl(); // /index.php?r=admin

Пути

  • Yii::getFrameworkPath() — путь до фреймворка
  • Yii::getPathOfAlias(‘system.test’) — алиаса для пути:
    • system — каталог «..framework»
    • zii — до «..frameworkzii»
    • webroot — корень проекта ($_SERVER[‘DOCUMENT_ROOT’])
    • application — каталог «..protected»
    • ext — каталог «..protectedextensions»

    Пример использования алисов. Например надо в layouts воспользоваться renderPartial:

    $this->renderPartial('application.modules.admin.views.layouts._menu_core');
    

Ссылка

Yii::app()->createUrl('/modul/model/deisvo')
CHtml::link("Ссылка", array('/modul/model/deisvo'));

Chtml

echo Chtml::encode('</div>'); // Кодируем html символы
CHtml::link("Ссылка", array('/modul/model/deisvo')); // Ссылка

База данных
Выполнить команду


        $sql =' UPDATE ser_1c_car_model sccm
                SET sccm.status = :status_new
                WHERE sccm.uses_1c > 1 AND sccm.status = :status_old ';

        $connection=Yii::app()->db;
        $command=$connection->createCommand($sql);
        $command->bindParam(':status_new', $a = self::STA_LOAD,  PDO::PARAM_INT);
        $command->bindParam(':status_old', $b = self::STA_NO_USES,  PDO::PARAM_INT);
        $command->execute();

Селект

...
$dataReader = $command->query();
while(($row=  $dataReader->read())!==false){
...

JavaScript and CSS

Yii::app()->clientScript->registerScript('indif_js', 'alert("Пример");', CClientScript::POS_HEAD); // Добавить код в шапку

$cs = Yii::app()->clientScript;
$cs->registerCoreScript('jquery');
$cs->registerCoreScript('jquery.ui');

$cs->registerScriptFile($cs->getCoreScriptUrl().'/jui/js/jquery-ui-i18n.min.js');
$cs->registerCssFile($cs->getCoreScriptUrl().'/jui/css/base/jquery-ui.css');

Прочее
// Получить параметр переданный через GET или POST

Yii::app()->request->getParam('param', null)

Yii — записка на память: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *