abstract class Controller (View source)

Constants

FACTORY

Nama event untuk controller factory rakit.

Properties

string $layout

Berisi layout yang sedang digunakan oleh controller.

string $package

Berisi nama paket pemilik controller.

bool $restful

Indikasi bahwa controller menggunakan RESTful routing.

protected array $middlewares

Berisi list middleware yang dilampirkan ke controller ini.

Methods

__construct()

Buat instance Controller baru.

static array
detect(string $package = DEFAULT_PACKAGE, string $directory = null)

Deteksi seluruh controller milik paket yang diberikan.

static Response
call(string $destination, array $parameters = [])

Panggil sebuah method action milik controller.

static array
references(string $destination, array $parameters)

Ganti seluruh back-reference milik rute.

static Controller
resolve(string $package, string $controller)

Resolve nama paket dan nama controller menjadi instance kelas controller.

static bool
load(string $package, string $controller)

Muat file controller.

static string
format(string $package, string $controller)

Format identifier paket dan controller menjadi nama kelas controller.

execute(string $method, array $parameters = [])

Eksekusi method controller dengan parameter yang diberikan.

mixed
response(string $method, array $parameters = [])

Eksekusi action controller dan return responnya.

middlewareator
middleware(string $event, string|array $middlewares, mixed $parameters = null)

Lampirkan middleware ke controller.

array
middlewares(string $event, string $method)

Ambil list nama middleware yang dilampirkan ke method.

layout()

Definisikan view layout untuk controller saat ini.

Redirect|null
validate(array $rules)

Validasi input.

before()

Method ini akan terpanggil sebelum setiap request ke controller ini dieksekusi.

after(Response $response)

Method ini akan terpanggil sebelum setiap request ke controller ini dieksekusi.

__call(string $method, array $parameters)

Handle request yang tidak cocok dengan definsi rute yang ada.

mixed
__get($key)

Resolve item dari Container secara dinamis.

Details

__construct()

Buat instance Controller baru.

static array detect(string $package = DEFAULT_PACKAGE, string $directory = null)

Deteksi seluruh controller milik paket yang diberikan.

Parameters

string $package
string $directory

Return Value

array

static Response call(string $destination, array $parameters = [])

Panggil sebuah method action milik controller.


     // Panggil method User_Controller::show()
     $response = Controller::call('user@show');

     // Panggil method User_Admin_Controller::profile() dan oper parameter
     $response = Controller::call('user.admin@profile', [$name]);

Parameters

string $destination
array $parameters

Return Value

Response

static protected array references(string $destination, array $parameters)

Ganti seluruh back-reference milik rute.

Parameters

string $destination
array $parameters

Return Value

array

static Controller resolve(string $package, string $controller)

Resolve nama paket dan nama controller menjadi instance kelas controller.

Parameters

string $package
string $controller

Return Value

Controller

static protected bool load(string $package, string $controller)

Muat file controller.

Parameters

string $package
string $controller

Return Value

bool

static protected string format(string $package, string $controller)

Format identifier paket dan controller menjadi nama kelas controller.

Parameters

string $package
string $controller

Return Value

string

Response execute(string $method, array $parameters = [])

Eksekusi method controller dengan parameter yang diberikan.

Parameters

string $method
array $parameters

Return Value

Response

mixed response(string $method, array $parameters = [])

Eksekusi action controller dan return responnya.

Berbeda dengan method execute(), tidak akan ada middleware yang akan dijalankan dan respon dari action controllertidak akan diubah sebelum ia direturn.

Parameters

string $method
array $parameters

Return Value

mixed

protected middlewareator middleware(string $event, string|array $middlewares, mixed $parameters = null)

Lampirkan middleware ke controller.


     // Set sebuah middleware after 'foo' untuk seluruh method di controller
     $this->middleware('before', 'foo');

     // Set middleware after 'foo' dan 'bar' hanya untuk bebrapa method saja
     $this->middleware('after', 'foo|bar')->only(['user', 'profile']);

Parameters

string $event
string|array $middlewares
mixed $parameters

Return Value

middlewareator

protected array middlewares(string $event, string $method)

Ambil list nama middleware yang dilampirkan ke method.

Parameters

string $event
string $method

Return Value

array

View layout()

Definisikan view layout untuk controller saat ini.

Return Value

View

Redirect|null validate(array $rules)

Validasi input.

Parameters

array $rules

Return Value

Redirect|null

before()

Method ini akan terpanggil sebelum setiap request ke controller ini dieksekusi.

after(Response $response)

Method ini akan terpanggil sebelum setiap request ke controller ini dieksekusi.

Parameters

Response $response

Response __call(string $method, array $parameters)

Handle request yang tidak cocok dengan definsi rute yang ada.

Parameters

string $method
array $parameters

Return Value

Response

mixed __get($key)

Resolve item dari Container secara dinamis.

Parameters

$key

Return Value

mixed

     // Resolve object yang terdaftar di container (cara 1)
     $mailer = $this->mailer;

     // Resolve object yang terdaftar di container (cara 2)
     $mailer = Container::resolve('mailer');