2013-05-12 93 views
-4

我一直在试着了解如何在Models & Libraries页面上的Laravel文档中实现关注点分离。我将我的模型文件夹重命名为'malice'(我的电脑的计算机名称)以模拟重命名,就像它在网站上所说的那样。Laravel - 找不到用户类异常

据我所知,该班无法找到,但这是我第一次使用Laravel,并第一次听到“关注点分离”,所以请耐心等待。 :)

这是我有:

// application/malice/entities/user.php 
<?php namespace Malice\Entities; 

class User { 

    public $name; 

    public function __construct($name){ 
     $this->name = $name; 
    } 

} 

// application/malice/services/user_doit.php 
<?php namespace Malice\Services; 

use Malice\Entities\User; 

class User_Doit { 

    public static function introduce(User $name){ 
     return "Hi, I'm {$name}"; 
    } 

} 

当我在我的控制器上运行:

$user = new User(); 
krumo($user); // I'm using krumo isntead of print_r 

这是我得到的:

Unhandled Exception 

Message: 

Class 'User' not found 
Location: 

D:\xampp\virtual\laravel\application\controllers\test.php on line 29 

更新:

这是我的start.php目前的样子:

Autoloader::directories(array(
    // path('app').'models', 
    path('app').'libraries', 
)); 

Autoloader::namespaces(array(
    'Malice' => path('app').'malice' 
)); 
+0

你调整了'application/start.php'中的自动加载目录吗? – 2013-05-12 09:45:07

+0

我不知道我应该这样做。但是,将它重命名为'path('app')'malice'后,它仍然不起作用。如果只有这个文件不是那么光秃秃的,那就太好了。这就像它告诉你它能做什么炫耀然后跑掉,然后才能问问题。 – enchance 2013-05-12 09:49:12

+0

既然你是命名空间,你可能需要使用'Autoloader :: namespaces(array('Malice'=> path('app')。'malice'));' – 2013-05-12 09:51:42

回答

0

你不是应该使用: 新的恶意\实体\用户,而不仅仅是新用户?