Learn YII with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
1
Yii Simple Counter App
<?php
// controllers/CounterController.php
namespace app\controllers;
use Yii;
use yii\web\Controller;
class CounterController extends Controller {
public function actionIndex() {
$session = Yii::$app->session;
if (!$session->has('count')) { $session->set('count', 0); }
$count = $session->get('count');
return $this->render('index', ['count' => $count]);
}
public function actionIncrement() {
$session = Yii::$app->session;
$session->set('count', $session->get('count', 0) + 1);
return $this->redirect(['index']);
}
public function actionDecrement() {
$session = Yii::$app->session;
$session->set('count', $session->get('count', 0) - 1);
return $this->redirect(['index']);
}
public function actionReset() {
Yii::$app->session->set('count', 0);
return $this->redirect(['index']);
}
}
// views/counter/index.php
<h2>Counter: <?= $count ?></h2>
<form method='post' action='increment'><button type='submit'>+</button></form>
<form method='post' action='decrement'><button type='submit'>-</button></form>
<form method='post' action='reset'><button type='submit'>Reset</button></form>
Demonstrates a simple Yii controller and view for a counter using session for state persistence.