method_exists Sorunu
Merhaba arkadaşlar.
Controller sınıfında method_exists fonksiyonunda aşağıdaki hatayı alıyorum.
Else kısmına echo iler bir şey yazdırdığımda else kısmı çalışıyor.
Sorunu çözemedim.
call_user_func_array kısmında echo ile bir şey yazsa bile else kısmı çalışıyor.
App Sınıfı
<?php
class App{
public function __construct(){
if(!empty($_GET["url"])){
switch($_GET["url"])
{
case "admin" :
new Controller("admin","Listele",['ad'=>"Ahmet"]);
break;
}
}
}
}
Controller Sınıfı
<?php
class Controller{
public function __construct($Controller,$Method,$Parameters){
$ControllerDir = CONTROLLERS_DIR;
$ControllerFile = $Controller.'.controller.php';
if (file_exists($ControllerDir.$ControllerFile)) {
require_once $ControllerDir.$ControllerFile;
if (class_exists($Controller)) {
$ClassName = new $Controller();
if (method_exists($ClassName, $Method)) {
call_user_func_array([$ClassName, $Method], $Parameters);
} else {
exit('<b>' . $ClassName . '</b> isimli sınıfta <b>' . $Method . '</b> methodu bulunamadı!');
}
}else {
exit('<b>' . $ControllerFile . '</b> isimli controller dosyasında <b>' . $ClassName . '</b> sınıfı bulunamadı!');
}
}else{
exit("<b>".CONTROLLERS_DIR."</b> klasöründe <b>".$Controller.".controller.php </b> controller dosyası bulunamadı!");
}
}
}
admin.controller.php
<?php
Class Admin{
public $a = "10";
public function dene(){}
}