【发布时间】:2015-07-19 11:28:09
【问题描述】:
我是 slim 框架的新手,不知道如何使用自动加载器来自动加载我的类。
我创建了一个app/models/myclass.php,但是当我尝试使用它时,我得到了一个找不到的类。我不确定哪种是自动加载类的正确方法,或者我应该使用的命名约定。我应该以某种方式通过 composer.json 来做吗?我在网上搜索了几个小时,但没有任何可靠的答案。
更新:
设法这样做:
- 在 app/src/Model/Client.php 中添加了模型
- 在 Client.php 中添加了
namespace App\Model; - 在 depedencies.php 中添加了以下内容:
$container['App\Model\Client'] = function ($c) {
return new App\Model\Client();
};
和routes.php:
$app->get('/client/ping/{id}', function ($request, $response, $args) {
$container = $this->getContainer();
$client=$container['App\Model\Client']; //instantiates a new Client
...
...
}
【问题讨论】:
-
在 Slim 3 中您不需要
use ($app),因为您可以调用$this来获取应用程序。 -
你说得对,谢谢我会更新代码。