4 Controller
4 Controller
class App{
protected $controller=‘Home’;
protected $method=‘index’;
protected $param =[];
public function __construct()
{
$url=$this->parseURL();
var_dump($url);
}
public function parseURL
{
if(isset($_GET[‘url’]) )
{
$url=rtrim($_GET[‘url’], ‘/)’;
$url=filter_var($url, FILTER_SANITIZE_URL);
$url=explode(‘/’,$url);
return $url;
}
}
}
Buat file baru pada folder controllers dengan nama
Home.php
<?php
Class Home {
public function index()
{
echo ‘home/index’;
}
}
<?php
class App{
protected $controller=‘Home’;
protedted $method=‘index’;
protected $params =[];
public function __construct()
{
$url=$this->parseURL();
if( file_exists(‘../app/controllers/’ . $url[0] . ‘.php’))
{
$this->controller=$url[0];
unset($url[0]);
var_dump($url);
}
require_once ‘../app/controllers/’ . $this->controller .
‘.php’;
$this->controller= new $this ->controller;
}
If (isset($url[1] ) )
{
If(method_exists($this->controller, $url[1]) )
{
$this->method=$url[1];
unset($url[1];
}
}
//parameter
If (! empty ($url) )
{
var_dump($url);
}
Kenapa tidak hilang controller about dan page
//About.php
<?php
Class About {
public function page()
{
echo Ábout/page’;
}
}
//parameter
If (! empty ($url) )
{
//var_dump($url);
$this->params=array_values($url);
}
//jalankan controller &method, serta kirimkan params jika ada
call_user_func_array([$this->controller, $this->method],$this-
>params);
//About.php
<?php
Class About {
public function index()
{
echo Äbout/index’;
} // memanggil public/about/index
public function page()
{
echo Ábout/page’;
}
}
//About.php
<?php
Class About {
public function index()
{
echo “halo, nama saya Andris, saya adalah seorang
Dosen”;
}
//About.php
Mena <?php
mpilka Class About {
n public function index($nama,$pekerjaan)
sesuai {
param echo “halo, nama saya $nama, saya adalah seorang
eter $pekerjaan”;
yang }
kita
input
public function index($nama=ándris,$pekerjaan=‘dosen)