2016-10-29 27 views
-1

require_onceコンストラクタ関数で動作していませんまた、includeとrequireを試しました。 file_exists機能が正常に動作しています。私はそれがうまくいくと思うPHP:コンストラクタ関数内でrequire_onceを呼び出す

<?php 

class App { 

    protected $controller = 'home'; 
    protected $method = 'index'; 
    protected $params = []; 

    public function __construct() { 
     $url = $this->parseUrl(); 
     //print_r($url); 

     if(file_exists(__DIR__.'/../controllers/'. $url[0] . '.php')) { 
      $this->controller = $url[0]; 
      unset($url[0]); 
     } 

     require_once(__DIR__.'/../controllers/Home.php'); 
     echo $this->controller; 

    } 
} 
+1

具体的には、あなたの[質問](http://stackoverflow.com/help/how-to-ask)は何ですか、? – jacefarm

+0

「働いていない」とはどういう意味ですか?読み込めませんか? PHPのエラーメッセージは何を表していますか?それとも、ロードされているが、正しく動作していないのですか?その場合、ロードしているファイルは何をすべきでしょうか?そして何がうまくいかないのですか? – Simba

+0

@Simba、私はHTTPエラー500を受け取りました。 ここで確認できます - [Github] [1]。 [1]:https://github.com/iaditya/Progs/blob/master/codeCourse_MVC/myApp/app/core/App.php –

答えて

-1

は、ここに私のコードです。しかし、あなたのコードは、呼び出しでテストしているファイルではなく、常に__DIR__.'/../controllers/Home.php'を含めるようにします。

私はあなたがこのような何かをしたいと思う:

if(file_exists(__DIR__.'/../controllers/'. $url[0] . '.php')) { 
    require_once(__DIR__.'/../controllers/'. $url[0] . '.php'); 
    $this->controller = $url[0]; 
} 
+0

私のエラーが見つかりました。この機能はうまく機能します。私はrequire_once()関数で呼び出していたファイルのコードにいくつかの誤りを犯しました。 –

関連する問題