Учебники

Yii — Создать страницу

Теперь мы собираемся создать страницу «Hello world» в вашем приложении. Чтобы создать страницу, мы должны создать действие и представление.

Действия объявлены в контроллерах. Конечный пользователь получит результат выполнения действия.

Шаг 1Объявите действие выступления в существующем SiteController , которое определено в файле класса 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]); 
      } 
   } 
?>

Мы определили говорящее действие как метод actionSpeak . В Yii все методы действия начинаются со слова action. Вот как структура отличает методы действия от неактивных. Если для идентификатора действия требуется несколько слов, они будут объединены тире. Следовательно, идентификатор действия add-post соответствует методу действия actionAddPost .

В приведенном выше коде функция ‘out’ принимает параметр GET $ message . Мы также вызываем метод с именем render для визуализации файла представления с именем speak. Мы передаем параметр сообщения в представление. Результатом рендеринга является полная HTML-страница.

Представление — это скрипт, который генерирует содержимое ответа. Для говорящего действия мы создаем говорящий вид, который печатает наше сообщение. Когда вызывается метод рендеринга, он ищет имена файлов PHP как view / controllerID / vewName.php .

Шаг 2 — Поэтому внутри папки views / site создайте файл speak.php со следующим кодом.

<?php 
   use yii\helpers\Html; 
?> 
<?php echo Html::encode($message); ?> 

Обратите внимание, что мы HTML-кодируем параметр сообщения перед печатью, чтобы избежать атаки XSS .

Шаг 3. Введите в своем веб-браузере следующее : http: // localhost: 8080 / index.php? R = site / speak & message = hello% 20world .

Вы увидите следующее окно —

Speak PHP File

Параметр ‘r’ в URL обозначает маршрут. Формат по умолчанию для маршрута — controllerID / actionID . В нашем случае маршрут site / talk будет разрешен классом SiteController и действием talk .