How to Create Controllers

Understanding MVC Controllers

Controllers act as the bridge between Models and Views. They can reside in src/Modules/[ModuleName]/Controllers/ and must implement the Zero\Interfaces\Controller interface.

<?php
namespace App\Modules\Blog\Controllers;

use Exception;
use Zero\Core\App;
use Zero\Core\Env;
use Zero\Database\DB;
use Zero\Interfaces\BlockHelperInterface;
use Zero\Interfaces\Controller;
use Zero\Interfaces\Job as JobInterface;
use Zero\Interfaces\Model;
use Zero\Interfaces\SeederInterface;
use Zero\Models\Traits\HasSlug;
use Zero\Models\Traits\IsModel;
use App\Modules\Blog\Models\Post;
use Zero\Modules\Search\Traits\Searchable;
use Zero\Modules\Shop\Jobs\SendOrderReceipt;
use Zero\Support\Emailer;
use Zero\Support\Security;

class BlogController implements Controller {
    public function handle($matches) {
        $posts = Post::all();
        App::render('blog', ['posts' => $posts]);
    }
}