مشکل با فریم ورک

phpweb

Active Member
من از يه فريم ورک شبيه به کيک استفاده مي کنم، همه درخواستها به صفحه index.php مي رن، از اونجا کنترلر، مدل و ساير کتابخانه ها رو اينکلود مي کنم. مشکلي که دارم اينه که وقتي توي کنترلر يه متد اينکلود مي کنم، توي اين متد نمي تونم از مدل يه شي بسازم و از مدل استفاده کنم. لطفا راهنمايي کنيد.

قسمت زیر بخش روتر هست که وظیفه پیدا کردن کنترلر و مدل رو داره.
PHP:
class Router
{
    public $library;
    public $model;
     public $uri;
    
    public function load_controller()
    {
        $controller_name = $this->uri['controller'];
        $action = $this->uri['action'];
        $param = $this->uri['param'];
        $model = $this->uri['model'];
        $file = ROOT.DS.'admin'.DS.'controller'.DS."$controller_name".'_controller.php';
        
        if(file_exists($file))
        {
            require_once($file) ;
            $controller_name = ucwords($controller_name);
            $controller = new $controller_name ;
            
            if(method_exists($controller,$action))
            {
                $controller->{$action}($opt[0],$opt[1],$opt[2],$opt[3],
                $opt[4],$opt[5],$opt[6],$opt[7]);    
            }
            else
            {
                $controller->index();
            }
        }
        else
        {
            require( '/404.php);
        }
    }
    /*********************************
    * Load Model
    *********************************/
    function model($model)
    {
        if(is_array($model))
        {
            array_map(array('Router','load_model'),$model);
        }
        else
        {
            $this->load_model($model);    
        }
    }
    private function load_model($model)
    {
        $file =  ROOT.DS.'admin'.DS.'model'.DS.$model.'.php';
        if(file_exists($file))
        {
            require_once($file) ;
            $this->$model = new $model();
        }
        else
        {
            echo "NO";
        }    
    }
فرض کنيد توي متد زیر
PHP:
$controller->{$action}($opt[0],$opt[1],$opt[2],$opt[3], 
                $opt[4],$opt[5],$opt[6],$opt[7]);
(اين متد توسط کنترلر اينکلود مي شه)، بخوام از یکی از مدل ها استفاده کنم. براي اين منظور بايد چکار کنم؟

چطور می تونم از مقدار برگشتی مدل استفاده کنم؟
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا