konfiguracje
To jest stara wersja strony!
Spis treści
Konfiguracja środowiska
Alias do katalogu /pliki (common/config/main.php)
<?php return [ ... 'aliases' => [ ... '@pliki'=>realpath(dirname(__FILE__).'/../../pliki') ],
Ścieżka do pliku
$path = Yii::getAlias('@pliki') . '/plik.pdf';
Debuger
backend/config/main.php
... 'components' => [ ... 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ] ], ], ... ],
backend/config/main-local.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;
backend/web/index.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();
Spolszczenie Yii2
Plik common/config/main.php
<?php return [ 'language' => 'pl-PL', 'name' => 'Nazwa aplikacji', 'timezone' => 'Europe/Warsaw', ...
Konfiguracja przyjaznych adresów
W pliku common/config/main-local.php dopisać
'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>', ),
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
public function actionArtykuly($id,$idk,$ids){ ... }
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:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Konfiguracja serwera Apache
<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>
konfiguracje.1670516116.txt.gz · ostatnio zmienione: 2024/09/15 16:22 (edycja zewnętrzna)