组织自定义类

时间:2016-08-29 08:45:18

标签: php slim

我正在尝试学习Slim 3的基础知识,并且我很难找到组织自定义代码的正确方法,尤其是。自定义类。例如,我想创建一个custom error handler

<?php
namespace App\Handlers;
// [...]
final class Error extends \Slim\Handlers\Error
{
    // [...]
}

...但我检查过的文档没有透露保存类定义的路径或如何配置框架,以便可以在我的index.php入口点找到它:

<?php
require __DIR__ . '/../vendor/autoload.php';
// [...]
$app = new \Slim\App(['settings' => ['displayErrorDetails' => true]]);
$container = $app->getContainer();
$container['errorHandler'] = function ($c) {
    return new App\Handlers\Error($c['Logger']);
};
  

致命错误:类&#39; App \ Handlers \ Error&#39;找不到

我很欣赏任何提示。

1 个答案:

答案 0 :(得分:1)

你的问题根本与框架无关。

Slim不会告诉您保留自定义代码的位置,因为这是您自由选择的问题。

您的错误:

  

致命错误:未找到类'App \ Handlers \ Error'

不是由Slim生成的,而是由PHP本身生成的。您需要为代码添加自动加载器,以便让PHP知道在哪里找到合适的类。

我可以看到您使用Composer,因此它是configure composer.json to create autoloader代码的最佳选择。