Yii - Crear página
Ahora vamos a crear un “Hello world”página en su aplicación. Para crear una página, debemos crear una acción y una vista.
Las acciones se declaran en controladores. El usuario final recibirá el resultado de la ejecución de una acción.
Step 1 - Declarar la acción de hablar en el existente SiteController, que se define en los controladores de archivo de clase /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]);
}
}
?>
Definimos la acción de hablar como un método llamado actionSpeak. En Yii, todos los métodos de acción tienen como prefijo la palabra acción. Así es como el marco diferencia los métodos de acción de los que no lo son. Si un ID de acción requiere varias palabras, se concatenarán mediante guiones. Por lo tanto, el ID de acción add-post corresponde al método de acciónactionAddPost.
En el código dado arriba, el ‘out’ la función toma un parámetro GET, $message. También llamamos a un método llamado‘render’para renderizar un archivo de vista llamado speak. Pasamos el parámetro del mensaje a la vista. El resultado de la representación es una página HTML completa.
Viewes un script que genera el contenido de una respuesta. Para la acción de hablar, creamos una vista de hablar que imprime nuestro mensaje. Cuando se llama al método de representación, busca un nombre de archivo PHP comoview/controllerID/vewName.php.
Step 2 - Por lo tanto, dentro de la carpeta vistas / sitio, cree un archivo llamado speak.php con el siguiente código.
<?php
use yii\helpers\Html;
?>
<?php echo Html::encode($message); ?>
Tenga en cuenta que codificamos en HTML el parámetro del mensaje antes de imprimir para evitar XSS ataque.
Step 3 - Escriba lo siguiente en su navegador web http://localhost:8080/index.php?r=site/speak&message=hello%20world.
Verá la siguiente ventana:
los ‘r’El parámetro en la URL significa ruta. El formato predeterminado de la ruta escontrollerID/actionID. En nuestro caso, la ruta site / speak será resuelta por elSiteController clase y la acción de hablar.