我一直在努力了解如何在Models & Libraries页面上的Laravel文档中实现关注点的分离。我将我的模型文件夹重命名为'malice'(我的电脑的计算机名称),以模拟网站上所说的重命名。
我知道上课无法找到,但这是我第一次使用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 :(得分:3)
在您的控制器中,添加 User 类。
use Malice\Entities\User;
$user = new User();
krumo($user);
答案 1 :(得分:0)
你不应该使用: 新的Malice \ Entities \ User而不仅仅是新用户?