2015-07-19 72 views
0

所以我有什麼,我努力的目標。但我得到的是Fatal error class MainController not found以下結構,我是新來自動加載和命名空間的東西(但進入他們快)我只需要知道爲什麼會發生這種情況,希望你們對我解釋一下情況?我確實在stackoverflow上看到了很少的答案,但是nuthing有幫助,我知道我正在做一些非常錯誤的事情,但那就是我將學習的東西:)。結構:致命錯誤類MainController

composer.json 

src/controllers/MainController.php 

,以下是我composer.json文件中自動加載:

"autoload": { 
    "psr-4": { 
     "controllers\\": "src/controllers/" 
    } 
} 

,這是我MainController.php外觀相似:

namespace MainController; 

class MainController{ 

    function test($name){ 

    echo 'holaaaa'.$name; 

    } 

} 

控制器裏面調用:應用程序/loads/loadController.php :::

use MainController; 

$MainController = new MainController(); 
對供應商

更多信息/ autoload.php

它裏面包含:index.php文件和內部的index.php我已經包含了mainapp.php和內部mainapp.php我已經包含了loadcontroller.php VICH調用控制器

結構截圖:

this is the sreenshot of where files are located.

+0

你怎麼稱呼控制器? –

+0

@ SverriM.Olsen更新了問題。 –

回答

1

好吧,在你的作曲家文件你說的命名空間是controllers。在你的PHP文件中,你說名字空間是MainController。他們需要是相同的自動加載工作。

如果我們因你的作曲家文件去那麼PHP應該是這樣的:

namespace controllers; 
class MainController {} 

和類應該被稱爲是這樣的:

$MainController = new \controllers\MainController; 

或者這樣:

use controllers\MainController; 
$MainController = new MainController; 

或者,如果你想要一個更漂亮的類名:

use controllers\MainController as Controller; 
$MainController = new Controller; 
+0

這就是我得到:'致命錯誤:類「控制器\ MainController」在/Applications/MAMP/htdocs/drive/app/loads/loadController.php沒有找到就行3'還是做錯了什麼,我認爲:O型 –

+0

嘗試在你的終端中運行:'composer dump-autoload'(或者如果你正在使用PHAR版本,則使用'php composer.phar dump-autoload')。 –

+0

已經做到了這一點,並更新了作曲家。但它說同樣的事情,也許可以是我怎麼打電話給控制器? ,,我已經添加了我打電話給控制器的文件的路徑。 –