0

選択した言語を関数とのリンクに表示しようとしていますbuildMenu()

ヘッダーテンプレートで呼び出すことができるように、静的関数として使用したいと思います。関数内で関数を呼び出すと、init()すべて正常に機能しますが、静的関数として使用しようとすると、何も機能しなくなります。私が知っていることはすべて試したので、私のphpの知識はそこで終わったようです:)

何かヒントはありますか?前もって感謝します!

class bootstrap {

    static public $lang;
    static public $class;
    static public $method;

    public function init(){
        $url = isset($_GET['url']) ? $_GET['url'] : null;
        $url = rtrim($url, '/');
        $url = filter_var($url, FILTER_SANITIZE_URL);
        $url = explode('/', $url);

        //Set values on startup
        if($url[0] == NULL) {$url[0] = 'nl';}
        if($url[1] == NULL) {$url[1] = 'index';}

        if(isset($url[0])) {$this->lang = $url[0];}
        if(isset($url[1])) {$this->class = $url[1];}
        if(isset($url[2])) {$this->method = $url[2];}        

        $this->loadClass();

    }

    public function loadClass(){

        $filename = 'libs/' . $this->class . '.php';
        if(file_exists($filename)){
            $newController = new $this->class($this->lang, $this->class, $this->method);
            $newView = new view($this->lang, $this->class, $this->method);
        } else {
            $newclass = new error($this->lang, $this->class, $this->method);
        }

    }


    public function buildMenu(){
        echo '<li><a href="http://localhost/testing/' . $this->lang . '/foto">Foto</a></li>';
    }

    /*
     * Set paths
     */

    public static function root(){
        echo "http://localhost/testing/";
    }

}
4

2 に答える 2