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.