2016-03-15 58 views
0

完整Noob。我試圖學習MVC。閱讀本教程:https://www.youtube.com/watch?v=WRgHBu3msA4&index=4&list=PLfdtiltiRHWGXVHXX09fxXDi-DqInchFDPHP7 MVC Echo不工作 - Mamp

我的回聲未在屏幕上打印。

這裏是我的代碼(99%相同的教程上面) 文件夾結構 應用 -controllers -home.php -core -App.php -Controller.php -models -views - 的init.php 公共 -index.php -CSS

的index.php

<?php 
require_once '../app/init.php'; 

$app = new App; 

的init.php

<?php 

require_once 'core/App.php'; 
require_once 'core/Controller.php'; 

App.php

<?php 

class App 
{ 
    protected $controller ='home'; 
    protected $method = 'index'; 

    protected $params = []; 
    public function _construct() 
    { 
     //$this->parseUrl(); 
     echo 'hi'; 
    } 

    public function parseUrl() 
    { 
     if(isset($_Get['url'])){ 
      echo $_Get['url']; 

     } 
    } 
} 

Controller.php這樣在PHP

<?php 

class Controller 
{ 

} 

home.php

<?php 
class Home extends Controller 
{ 
    public function index() 
    { 
    echo 'home/index' 
    } 
} 
+0

你必須使用雙下劃線的構造函數'__construct' – Philipp

+0

這將讓你失望'$ _GET'並可能'回聲「家/ index''沒有致閉幕詞。 –

+0

http://php.net/manual/en/function.error-reporting.php –

回答

0

魔術方法(和構造函數)有t o用雙下劃線聲明。另外,他們不是引擎認可的。所以,你有你的App類改成這樣:

<?php 

class App 
{ 
    // ... 

    public function __construct() // !important: double underscore! 
    { 
     echo 'hi'; 
    } 

    // ... 

} 
+0

感謝@Philipp!雙下劃線工作。 –

+0

'$ _Get'無法看到這將如何通過@LukeTrout工作,如果這真的是你正在使用的。 –

+0

當他們把你放在*「la la la,我沒有聽到你」的模式時,你會喜歡它。 –