Yii - Routing URL
Per modificare il percorso predefinito dell'applicazione, è necessario configurare il file defaultRoute proprietà.
Step 1 - Modifica il file config/web.php file nel modo seguente.
<?php
$params = require(__DIR__ . '/params.php'); $config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'defaultRoute' => 'site/contact',
'components' => [
//other code
?>
Step 2 - Devo http://localhost:8080/index.php. Vedrai l'impostazione predefinitacontact pagina.
Per mettere temporaneamente l'applicazione in modalità di manutenzione, è necessario configurare il file yii\web\Application::$catchAll proprietà.
Step 3 - Aggiungi la seguente funzione al file SiteController.
public function actionMaintenance() {
echo "<h1>Maintenance</h1>";
}
Step 4 - Quindi, modifica il file config/web.php file nel modo seguente.
<?php
$params = require(__DIR__ . '/params.php');
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'catchAll' => ['site/maintenance'],
'components' => [
//OTHER CODE
Step 5 - Ora inserisci qualsiasi URL della tua applicazione, vedrai quanto segue.
Creazione di URL
Per creare vari tipi di URL puoi utilizzare il file yii\helpers\Url::to()metodo di supporto. L'esempio seguente presuppone che venga utilizzato il formato URL predefinito.
Step 1 - Aggiungi un file actionRoutes() metodo al SiteController.
public function actionRoutes() {
return $this->render('routes');
}
Questo metodo esegue semplicemente il rendering del file routes Visualizza.
Step 2 - All'interno della directory views / site, creare un file chiamato routes.php con il seguente codice.
<?php
use yii\helpers\Url;
?>
<h4>
<b>Url::to(['post/index']):</b>
<?php
// creates a URL to a route: /index.php?r = post/index
echo Url::to(['post/index']);
?>
</h4>
<h4>
<b>Url::to(['post/view', 'id' => 100]):</b>
<?php
// creates a URL to a route with parameters: /index.php?r = post/view&id=100
echo Url::to(['post/view', 'id' => 100]);
?>
</h4>
<h4>
<b>Url::to(['post/view', 'id' => 100, '#' => 'content']):</b>
<?php
// creates an anchored URL: /index.php?r = post/view&id=100#content
echo Url::to(['post/view', 'id' => 100, '#' => 'content']);
?>
</h4>
<h4>
<b>Url::to(['post/index'], true):</b>
<?php
// creates an absolute URL: http://www.example.com/index.php?r=post/index
echo Url::to(['post/index'], true);
?>
</h4>
<h4>
<b>Url::to(['post/index'], 'https'):</b>
<?php
// creates an absolute URL using the https scheme: https://www.example.com/index.php?r=post/index
echo Url::to(['post/index'], 'https');
?>
</h4>
Step 3 - Tipo http://localhost:8080/index.php?r=site/routes, vedrai alcuni usi di to() funzione.
Il percorso passava al yii\helpers\Url::to() il metodo può essere relativo o assoluto secondo le seguenti regole:
se la rotta è vuota, verrà utilizzata la rotta attualmente richiesta.
se la rotta non ha una barra iniziale, è considerata una rotta relativa al modulo corrente.
se la rotta non contiene barre, viene considerata un ID azione del controller corrente.
Il yii\helpers\Url La classe helper fornisce anche diversi metodi utili.
Step 4 - Modifica il file routes Visualizza come indicato nel codice seguente.
<?php
use yii\helpers\Url;
?>
<h4>
<b>Url::home():</b>
<?php
// home page URL: /index.php?r=site/index
echo Url::home();
?>
</h4>
<h4>
<b>Url::base():</b>
<?php
// the base URL, useful if the application is deployed in a sub-folder of the Web root
echo Url::base();
?>
</h4>
<h4>
<b>Url::canonical():</b>
<?php
// the canonical URL of the currently requested URL
// see https://en.wikipedia.org/wiki/Canonical_link_element
echo Url::canonical();
?>
</h4>
<h4>
<b>Url::previous():</b>
<?php
// remember the currently requested URL and retrieve it back in later requests
Url::remember();
echo Url::previous();
?>
</h4>
Step 5 - Se inserisci l'indirizzo http://localhost:8080/index.php?r=site/routes nel browser web, vedrai quanto segue.