----Установка Yii2 (Composer должен быть уже установлен!):---------
# in projects directory - if base apps:
curl -sS https://getcomposer.org/installer | php;
# if is basic application:
php composer.phar create-project yiisoft/yii2-app-basic app
# if advanced application:
php composer.phar create-project yiisoft/yii2-app-advanced app
mv composer.* app/ && cd app
php composer.phar require "fxp/composer-asset-plugin:^1.2.0"
# if one advanced app - then run:
php init
# !!!! You will configuration your db connection!!! before run:
php yii migrate
-----------Gii in yii2:--------------------
Для генерации модели достаточно перечислять классы без неймспейсов.
При генерации CRUD надо указывать классы по неймспейсам и представление
только!!! через знак @app/view/yourfolder
------------------------для одного домена:-----------------------------------
Для решения этой проблемы требуется внести следующие настройки (заменить соответствующме значения) в конфигурацию бекенд-приложения backend/config/main.php:
'components' => [
'request' => [
'csrfParam' => '_backendCSRF',
'csrfCookie' => [
'httpOnly' => true,
'path' => '/admin',
],
],
'user' => [
'identityCookie' => [
'name' => '_backendIdentity',
'path' => '/admin',
'httpOnly' => true,
],
],
'session' => [
'name' => 'BACKENDSESSID',
'cookieParams' => [
'path' => '/admin',
],
],
],
----------------Helpers:----------------------
$userHost = Yii::$app->request->userHost;
$userIP = Yii::$app->request->userIP;
$useragent = Yii::$app->request->userAgent;
$listPreferLangs = Yii::$app->request->acceptableLanguages;
use yii\helpers\Url;$link = Url::to(['post/view', 'id' => 100]);
// создает абсолютный URL: http://www.example.com/index.php?r=post/index
echo Url::to(['post/index'], true);
// создает абсолютный URL с использованием схемы https
echo Url::to(['post/index'], 'https');
//Url to aliasUrl:
Yii::setAlias('@example', 'http://example.com/');echo Url::to('@example');
//ErrorExceptions:
use yii\web\NotFoundHttpException;throw new NotFoundHttpException();
//
use yii\base\ErrorException;
try {
10/0;
} catch (ErrorException $e) {
Yii::warning("Деление на ноль.");
}//и дальше можно продолжать выполнение.
----------------------------------------------
1) You can set in controller like that:
Yii::$app->getSession()->setFlash('success', 'My Message');
2) Then you can display it in view like so:
<?php if (Yii::$app->session->hasFlash('success')) { ?>
<div class="alert alert-success alert-dismissable">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">x</button>
<h4><i class="icon fa fa-check"></i>Saved!</h4>
<?= Yii::$app->session->getFlash('success') ?>
</div>
<?php } ?>
and so like:
<?php ... use yii\bootstrap\Alert; ?>
<?php if (Yii::$app->session->hasFlash('success')) { ?>
<?= Alert::widget([
'options' => ['class' => 'alert-info'],
'body' => Yii::$app->session->getFlash('success'),
]);?>
<?php } ?>
-------------MANY DB IN APP:-----------------
>>>>>config:>>>>>>>>>>>>>>
'db' => require(__DIR__ . '/db_main.php'),
'db1' => require(__DIR__ . '/db_session.php'),
>>>>>>>>>>>model:>>>>>>>>>
namespace app\models;
use Yii;
use yii\db\ActiveRecord;
use yii\db\Connection;
class Invent extends ActiveRecord
{
public static function getDb(){
return \Yii::$app->db1;
}
}
--------------------------------------------------------------
# in projects directory - if base apps:
curl -sS https://getcomposer.org/installer | php;
# if is basic application:
php composer.phar create-project yiisoft/yii2-app-basic app
# if advanced application:
php composer.phar create-project yiisoft/yii2-app-advanced app
mv composer.* app/ && cd app
php composer.phar require "fxp/composer-asset-plugin:^1.2.0"
# if one advanced app - then run:
php init
# !!!! You will configuration your db connection!!! before run:
php yii migrate
-----------Gii in yii2:--------------------
Для генерации модели достаточно перечислять классы без неймспейсов.
При генерации CRUD надо указывать классы по неймспейсам и представление
только!!! через знак @app/view/yourfolder
------------------------для одного домена:-----------------------------------
Для решения этой проблемы требуется внести следующие настройки (заменить соответствующме значения) в конфигурацию бекенд-приложения backend/config/main.php:
'components' => [
'request' => [
'csrfParam' => '_backendCSRF',
'csrfCookie' => [
'httpOnly' => true,
'path' => '/admin',
],
],
'user' => [
'identityCookie' => [
'name' => '_backendIdentity',
'path' => '/admin',
'httpOnly' => true,
],
],
'session' => [
'name' => 'BACKENDSESSID',
'cookieParams' => [
'path' => '/admin',
],
],
],
----------------Helpers:----------------------
$userHost = Yii::$app->request->userHost;
$userIP = Yii::$app->request->userIP;
$useragent = Yii::$app->request->userAgent;
$listPreferLangs = Yii::$app->request->acceptableLanguages;
use yii\helpers\Url;$link = Url::to(['post/view', 'id' => 100]);
// создает абсолютный URL: http://www.example.com/index.php?r=post/index
echo Url::to(['post/index'], true);
// создает абсолютный URL с использованием схемы https
echo Url::to(['post/index'], 'https');
//Url to aliasUrl:
Yii::setAlias('@example', 'http://example.com/');echo Url::to('@example');
//ErrorExceptions:
use yii\web\NotFoundHttpException;throw new NotFoundHttpException();
//
use yii\base\ErrorException;
try {
10/0;
} catch (ErrorException $e) {
Yii::warning("Деление на ноль.");
}//и дальше можно продолжать выполнение.
----------------------------------------------
1) You can set in controller like that:
Yii::$app->getSession()->setFlash('success', 'My Message');
2) Then you can display it in view like so:
<?php if (Yii::$app->session->hasFlash('success')) { ?>
<div class="alert alert-success alert-dismissable">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">x</button>
<h4><i class="icon fa fa-check"></i>Saved!</h4>
<?= Yii::$app->session->getFlash('success') ?>
</div>
<?php } ?>
and so like:
<?php ... use yii\bootstrap\Alert; ?>
<?php if (Yii::$app->session->hasFlash('success')) { ?>
<?= Alert::widget([
'options' => ['class' => 'alert-info'],
'body' => Yii::$app->session->getFlash('success'),
]);?>
<?php } ?>
-------------MANY DB IN APP:-----------------
>>>>>config:>>>>>>>>>>>>>>
'db' => require(__DIR__ . '/db_main.php'),
'db1' => require(__DIR__ . '/db_session.php'),
>>>>>>>>>>>model:>>>>>>>>>
namespace app\models;
use Yii;
use yii\db\ActiveRecord;
use yii\db\Connection;
class Invent extends ActiveRecord
{
public static function getDb(){
return \Yii::$app->db1;
}
}
--------------------------------------------------------------
Комментариев нет :
Отправить комментарий
Благодарю за ваше участие!