Миграция с Yii 1 Framework на Yii 2 Framework
Params app
с
Yii::app()->params['name'];
на
Yii::$app->params['name'];
Params / Get / Post
с
на
Yii::$app->request->get('name');
Yii::$app->request->post('name');
Controllers
с
class Module extends \yii\base\Module { public $defaultController = 'camera'; }
на
<?php namespace app\modules\cabinet; class Module extends \yii\base\Module { public $controllerNamespace = 'app\modules\cabinet\controllers'; public $defaultRoute = 'camera'; }
Вызов контролера
с
$view = 'catalog/index'; Yii::app()->runController($view);
На
$view = 'catalog/index'; Yii::$app->runAction($view)
Пути и переменные
с
Yii::app()->request->baseUrl
на
Yii::$app->homeUrl
Публикация скриптов
заменить с
Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . "/template/js/login-v2.demo.min.js");
на
$this->registerJsFile(Yii::$app->homeUrl . "/template/js/login-v2.demo.min.js");
Публикация CSS
заменить с
Yii::app()->clientScript->registerCssFile();
на
$this->registerCssFile()
Формы
c
<?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'registration-form', 'enableClientValidation'=>true, 'clientOptions'=>array( 'validateOnSubmit'=>true, ), )); ?> <div class="form-group m-b-20"> <?php echo $form->textField($model, 'login', array('class' => 'form-control input-lg', 'placeholder' => 'Email')); ?> </div> <div class="form-group m-b-20"> <?php echo $form->passwordField($model, 'password', array('class' => 'form-control input-lg', 'placeholder' => 'Password')); ?> </div> <div class="login-buttons"> <button type="submit" class="btn btn-success btn-block btn-lg">Зарегистрироваться</button> </div> <div class="m-t-20"> Уже зарегистрированы? Нажмите <a href="<?=$this->createUrl('/site/registration');?>">сюда</a> для входа. </div> <?php $this->endWidget(); ?>
на
<?php /* @var $this SiteController */ /* @var $model LoginForm */ use yii\helpers\Html; use yii\bootstrap\ActiveForm; use yii\helpers\Url; use yii\web\View; ?> <div class="login-cover"> <div class="login-cover-image"><img src="<?php echo Yii::$app->homeUrl; ?>images/cover.jpg" data-id="login-cover-image" alt="" /></div> <div class="login-cover-bg"></div> </div> <!-- begin login --> <div class="login login-v2" data-pageload-addclass="animated flipInX"> <!-- end brand --> <div class="login-content"> <?php $form = ActiveForm::begin(['id' => 'login-form']); ?> <div class="form-group m-b-20"> <?= $form->field($model, 'username') ?> </div> <div class="form-group m-b-20"> <?= $form->field($model, 'password')->passwordInput() ?> </div> <div class="m-t-20"> Еще не зарегистрировались? Кликните <a href="<?=Url::to('/site/registration');?>">сюда</a> для регистрации. </div> <div class="form-group login-buttons"> <?= Html::submitButton('Войти', ['class' => 'btn btn-success btn-block btn-lg', 'name' => 'login-button']) ?> </div> <?php ActiveForm::end(); ?> </div> </div> <!-- end login --> <!-- end page container -->
Ссылки
c
$this->createUrl('/');
на
use yii\helpers\Url; Url::to(['/']);
View / Template
с
//layouts/main
на
@app/views/layouts/main
CHtml::ajaxLink
с
<?php echo CHtml::ajaxLink($images[$i]->f_fav?'<i class="fa fa-star"></i>':'<i class="fa fa-star-o"></i>', CController::createUrl('favorite'), array( 'type' => 'POST', 'data'=>array('id'=>$images[$i]->id), 'update' => '#favb_'.$images[$i]->id, ), array( //htmlOptions "id"=>'favb_'.$images[$i]->id ) ); ?>
на
<?php echo Html::a($images[$i]->f_fav?'<i class="fa fa-star"></i>':'<i class="fa fa-star-o"></i>', '#', [ 'title' => Yii::t('yii', 'Close'), 'onclick'=>" $.ajax({ type: 'POST', cache: false, url: 'favorite', data: \{'id': {$images[$i]->id}\}, success : function(response) { $('#favb_{$images[$i]->id}).html(response); } }); return false;", ]); ?>
Set Message / Set Flash
с
Yii::app()->user->setFlash();
на
Yii::$app->session->setFlash('success', 'Message.'); echo Yii::$app->session->getFlash('success');
User
с
Yii::app()->user->getId();
на
Yii::$app->user->identity->getId();