Yii - Criar Página
Agora vamos criar um “Hello world”página em seu aplicativo. Para criar uma página, devemos criar uma ação e uma visão.
As ações são declaradas nos controladores. O usuário final receberá o resultado da execução de uma ação.
Step 1 - Declarar a ação falada no existente SiteController, que é definido no arquivo de classe controllers /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 a ação speak como um método chamado actionSpeak. No Yii, todos os métodos de ação são prefixados com a palavra ação. É assim que a estrutura diferencia os métodos de ação dos não-ativos. Se um ID de ação exigir várias palavras, elas serão concatenadas por travessões. Portanto, o add-post do ID da ação corresponde ao método da açãoactionAddPost.
No código fornecido acima, o ‘out’ função leva um parâmetro GET, $message. Também chamamos um método chamado‘render’para renderizar um arquivo de visualização chamado speak. Passamos o parâmetro de mensagem para a visão. O resultado da renderização é uma página HTML completa.
Viewé um script que gera o conteúdo de uma resposta. Para a ação speak, criamos uma view speak que imprime nossa mensagem. Quando o método de renderização é chamado, ele procura nomes de arquivos PHP comoview/controllerID/vewName.php.
Step 2 - Portanto, dentro da pasta views / site crie um arquivo chamado speak.php com o seguinte código.
<?php
use yii\helpers\Html;
?>
<?php echo Html::encode($message); ?>
Observe que codificamos em HTML o parâmetro da mensagem antes de imprimir para evitar XSS ataque.
Step 3 - Digite o seguinte em seu navegador http://localhost:8080/index.php?r=site/speak&message=hello%20world.
Você verá a seguinte janela -
o ‘r’parâmetro na URL significa rota. O formato padrão da rota écontrollerID/actionID. No nosso caso, a rota site / speak será resolvida peloSiteController aula e a ação falada.