v2.5.2
Giriş yap

method_exists Sorunu

coder
70 defa görüntülendi

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(){}

}
coder
67 gün önce

Teşekkür ederim.