Yii - Crea pagina
Ora creeremo un file “Hello world”pagina nella tua applicazione. Per creare una pagina, dobbiamo creare un'azione e una vista.
Le azioni sono dichiarate nei controller. L'utente finale riceverà il risultato dell'esecuzione di un'azione.
Step 1 - Dichiara l'azione di intervento nell'esistente SiteController, che è definito nella classe file controller /SiteController.php.
<?php
namespace app\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use app\models\LoginForm;
use app\models\ContactForm;
class SiteController extends Controller {
/* other code */
public function actionSpeak($message = "default message") { return $this->render("speak",['message' => $message]);
}
}
?>
Abbiamo definito l'azione speak come un metodo chiamato actionSpeak. In Yii, tutti i metodi di azione sono preceduti dalla parola azione. Questo è il modo in cui il framework differenzia i metodi di azione da quelli non di azione. Se un ID azione richiede più parole, queste verranno concatenate da trattini. Quindi, l'add-post dell'ID azione corrisponde al metodo di azioneactionAddPost.
Nel codice sopra riportato, il file ‘out’ funzione accetta un parametro GET, $message. Chiamiamo anche un metodo denominato‘render’per eseguire il rendering di un file di visualizzazione chiamato speak. Passiamo il parametro message alla visualizzazione. Il risultato del rendering è una pagina HTML completa.
Viewè uno script che genera il contenuto di una risposta. Per l'azione di intervento, creiamo una vista di intervento che stampa il nostro messaggio. Quando viene chiamato il metodo render, cerca i nomi di file PHP comeview/controllerID/vewName.php.
Step 2 - Pertanto, all'interno della cartella viste / sito creare un file chiamato speak.php con il seguente codice.
<?php
use yii\helpers\Html;
?>
<?php echo Html::encode($message); ?>
Nota che codifichiamo HTML il parametro del messaggio prima della stampa per evitare XSS attacco.
Step 3 - Digita quanto segue nel tuo browser web http://localhost:8080/index.php?r=site/speak&message=hello%20world.
Vedrai la seguente finestra:
Il ‘r’il parametro nell'URL sta per route. Il formato predefinito della rotta ècontrollerID/actionID. Nel nostro caso, il sito del percorso / parlare sarà risolto dalSiteController classe e l'azione di parlare.