Narzędzia użytkownika

Narzędzia witryny


konfiguracje

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
konfiguracje [2022/12/08 17:09] zbychkonfiguracje [2024/09/15 16:22] (aktualna) – edycja zewnętrzna 127.0.0.1
Linia 15: Linia 15:
 $path = Yii::getAlias('@pliki') . '/plik.pdf'; $path = Yii::getAlias('@pliki') . '/plik.pdf';
 </code> </code>
 +===== Debuger =====
 +==== backend/config/main.php ====
 +<code php>
 +...
 +
 +'components' => [
 +         ...
 +         
 +        'log' => [
 +            'traceLevel' => YII_DEBUG ? 3 : 0,
 +            'targets' => [
 +                [
 +                    'class' => 'yii\log\FileTarget',
 +                    'levels' => ['error', 'warning'],
 +                ]
 +            ],
 +        ],
 +        
 +        ...
 +    ],
 +</code>
 +==== backend/config/main-local.php ====
 +<code php>
 +<?php
 +
 +$config = [
 +    'components' => [
 +        'request' => [
 +            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
 +            'cookieValidationKey' => '23dYgoKbKertzSurkz6NwWgk2ntW9NII',
 +        ],
 +    ],
 +];
 +
 +
 +//if (!YII_ENV_TEST) {
 +    // configuration adjustments for 'dev' environment
 +    $config['bootstrap'][] = 'debug';
 +    $config['modules']['debug'] = [
 +        'class' => 'yii\debug\Module',
 +        'allowedIPs' => ['*'],
 +    ];
 +
 +   $config['bootstrap'][] = 'gii';
 +   $config['modules']['gii'] = [
 +        'class' => 'yii\gii\Module',
 +    ];
 +//}
 +
 +return $config;
 +</code>
 +==== backend/web/index.php ====
 +<code php>
 +<?php
 +defined('YII_DEBUG') or define('YII_DEBUG', true);
 +defined('YII_ENV') or define('YII_ENV', 'prod');
 +
 +require __DIR__ . '/../../vendor/autoload.php';
 +require __DIR__ . '/../../vendor/yiisoft/yii2/Yii.php';
 +require __DIR__ . '/../../common/config/bootstrap.php';
 +require __DIR__ . '/../config/bootstrap.php';
 +
 +$config = yii\helpers\ArrayHelper::merge(
 +    require __DIR__ . '/../../common/config/main.php',
 +    require __DIR__ . '/../../common/config/main-local.php',
 +    require __DIR__ . '/../config/main.php',
 +    require __DIR__ . '/../config/main-local.php'
 +);
 +
 +(new yii\web\Application($config))->run();
 +</code>
 +
 +===== Spolszczenie Yii2 =====
 +Plik common/config/main.php
 +
 +<code php>
 +<?php
 +
 +return [
 +    'language' => 'pl-PL',
 +    'name' => 'Nazwa aplikacji',
 +    'timezone' => 'Europe/Warsaw',
 +    ...
 +</code>
 +===== Konfiguracja przyjaznych adresów =====
 +W pliku common/config/main-local.php dopisać
 +<code php>
 +'urlManager' => [
 +     'class' => 'yii\web\UrlManager',
 +     'showScriptName' => false,   // ukrycie nidex.php
 +     'enablePrettyUrl' => true,
 +     'rules' => array(
 +        '<controller:\w+>/<id:\d+>' => '<controller>/view',
 +        '<controller:\w+>/<action:\w+>/<id:\d+>' =>'<controller>/<action>',
 +        '<controller:\w+>/<action:\w+>' => '<controller>/<action>'),
 +  ],
 +  'rules' => array(
 +   '<controller:\w+>/<id:\d+>' => '<controller>/view',
 +   '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
 +   '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
 +   '<controller:\w+>/<action:\w+>/<id:\d+>/<idk:\d+>' => '<controller>/<action>',
 +   '<controller:\w+>/<id:\d+>/<idk:\d+>' => '<controller>/view',
 +   '<controller:\w+>/<action:\w+>/<id:\d+>/<ids:\w+>' => '<controller>/<action>',
 + ),
 +</code>
 +
 +Parametr rules określa własny zdefiniowany adres i parametry: nazwy, typ i ilość parametrów (można zostawić pustą tablicę).
 +
 +Powyższy przykład definiuje następujące parametry:
 +
 +  *  id - integer
 +  * idk - integer
 +  * ids - string
 +
 +http://domena/controller/action/id/idk/ids
 +
 +http://www.test.pl/artykuly/lista/10/12/glowna
 +
 +Aby przechwycić w kontrolerze te parametry należy wpisać je jako parametry funkcji akcji
 +
 +<code php>
 +public function actionArtykuly($id,$idk,$ids){
 +
 +...
 +
 +}
 +
 +</code>
 +Nazwy parametrów i ich typy określone są w rules.
 +
 +**.htaccess**
 +
 +w folderach frontend/web i backend/web umieścić plik .htacces zawierający:
 +
 +<code>
 +RewriteEngine on
 +RewriteCond %{REQUEST_FILENAME} !-f
 +RewriteCond %{REQUEST_FILENAME} !-d
 +RewriteRule . index.php 
 +</code>
 +
 +===== Konfiguracja serwera Apache =====
 +<code>
 +<VirtualHost *:80>
 +        ServerName test.domena.pl
 +        DocumentRoot /var/www/advanced/frontend/web
 +
 +        <Directory /var/www/advanced/frontend/web>
 +            Options Indexes FollowSymLinks
 +            AllowOverride All
 +            Require all granted
 +        </Directory>
 +</VirtualHost>
 +</code>
 +
 +plik hosts (linux)
 +
 +127.0.0.1  test.domena.pl
 +
konfiguracje.1670515747.txt.gz · ostatnio zmienione: 2024/09/15 16:22 (edycja zewnętrzna)