core dizini altındaki Controller.php dosyası içinde tanımlanan Controller sınıfı, app/controllers dizini altındaki denetleyici dosyalarında yer alan tüm sınıfların türetildiği bir sınıftır.
C:\wamp\www\bgmvc\core\Controller.php
<?php
namespace Core;
use Core\{View, Config, Request};
class Controller {
private $_controller_name, $_action_name;
public $view, $request;
public function __construct($controller, $action) {
$this->_controller_name = $controller;
$this->_action_name = $action;
$view_path = strtolower($controller) . '/' .$action;
$this->view = new View($view_path);
$this->view->set_layout(Config::get('default_layout'));
$this->request = new Request();
$this->onConstruct();
}
public function onConstruct(){}
}
Controller sınıfı içinde 4 adet değişken oluşturulur:
app/controllers dizini altındaki denetleyici dosyalarından herhangi birinde yer alan sınıflardan birisinden bir nesne oluşturulduğunda, oluşturulan nesnenin tanımlandığı sınıfın türetildiği Controller sınıfının __construct() fonksiyonu otomatik olarak çağrılarak, $controller_name ve $action_name değerleri parametre olarak geçirilir.
Çağrılan __construct() fonksiyonu ile: