First Apps - uniqcle/Yii2 GitHub Wiki
В папке frontend/controllers/
создаем файл HelloWorldController.php
//Сначала указываем имя контроллера
namespace frontend\controllers;
//Базовый класс контроллера
use yii\web\Controller;
class HelloWorldController extends Controller
{
public function actionIndex(){
echo 'Hello, World!';
}
}
Страница доступна по адресу http://yii2frontend.com/hello-world/
,
а также http://yii2frontend.com/hello-world/index
, где hello-world
- Controller, а index
- Action
в папке frontend/view/
создаем папку hello-world
(название Контроллера) в ней файл index.php
(название Action'a)
HelloWorldController.php
<?php
//Сначала указываем имя контроллера
namespace frontend\controllers;
//Базовый класс контроллера
use yii\web\Controller;
class HelloWorldController extends Controller
{
public function actionIndex(){
//Подключение View
return $this->render('index');
}
}
index.php
echo 'Hello, World!';
Создаем БД
CREATE TABLE `yii2advanced`.`news` (
`id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(45) NULL,
`content` TEXT NULL,
`status` INT NULL,
PRIMARY KEY (`id`));
Создаем в frontend/controllers
файл NewsController.php
<?php
namespace frontend\controllers;
use yii\web\Controller;
use frontend\models\News;
class NewsController extends Controller
{
public function actionIndex(){
$listNews = News::getNewsList();
return $this->render('index', [
'listNews' => $listNews
]);
}
}
Создаем в frontend/models
файл News.php
namespace frontend\models;
use Yii;
class News
{
public static function getNewsList(){
$sql = "SELECT * FROM news";
return Yii::$app->db->createCommand($sql)->queryAll();
}
}
Создаем в frontend/views/news
файл index.php
<?php foreach($listNews as $newsItem): ?>
<h2><?=$newsItem['title']; ?></h2>
<p><?=$newsItem['content']; ?></p>
<?php endforeach; ?>