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

Nowa wersja
Poprzednia wersja
konfiguracje [2022/12/08 17:08] – utworzono zbychkonfiguracje [2024/09/15 16:22] (aktualna) – edycja zewnętrzna 127.0.0.1
Linia 1: Linia 1:
-x+====== Konfiguracja środowiska ====== 
 +===== Alias do katalogu /pliki  (common/config/main.php) ===== 
 +<code php> 
 +<?php 
 + 
 +return [ 
 +   ... 
 +    'aliases' => [ 
 +        ... 
 +        '@pliki'=>realpath(dirname(__FILE__).'/../../pliki'
 +    ], 
 +</code> 
 +**Ścieżka do pliku** 
 +<code> 
 +$path = Yii::getAlias('@pliki') . '/plik.pdf'; 
 +</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.1670515710.txt.gz · ostatnio zmienione: 2024/09/15 16:22 (edycja zewnętrzna)