-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'
));
你调整了'application/start.php'中的自动加载目录吗? – 2013-05-12 09:45:07
我不知道我应该这样做。但是,将它重命名为'path('app')'malice'后,它仍然不起作用。如果只有这个文件不是那么光秃秃的,那就太好了。这就像它告诉你它能做什么炫耀然后跑掉,然后才能问问题。 – enchance 2013-05-12 09:49:12
既然你是命名空间,你可能需要使用'Autoloader :: namespaces(array('Malice'=> path('app')。'malice'));' – 2013-05-12 09:51:42