无脂肪皮质模型和 REST

问题描述

我正在尝试在我的 REST API 中使用 FatFree 和 Cortex 插件。我似乎遇到了一些挑战,起初我遇到了命名空间的挑战,我试图找到如何解决这个问题。然后一旦我设置了它,它就会出现方法 get() 已经存在的问题。后来我尝试不使用命名空间,看看这是否有帮助,但继续出现错误

我希望得到一些关于如何设置 Cortex + F3 + REST API 和自动映射路由的说明。我在为 Cortex 设置模型时做错了什么?命名空间并不重要,无论我是否使用它们(个人)。只是希望它起作用。

我的自动加载器是

$f3->set('AUTOLOAD','app/controllers/;app/models/');

这是我的文件设置

enter image description here

解决方法

这里有多个问题。

  • 不要为文件和文件夹混合不同的大写小写命名,否则自动加载将找不到它。当您的命名空间为 \App\Controllers\Contacts 或 name 时,请使用文件路径 App/Controllers/Contacts.php小写的所有文件和文件夹......但不要混合它们
  • 当您将命名空间设置为 \App\Controllers\App\Models 等时,您的 AUTOLOAD 设置应仅为 '' 以使用项目根目录。如果您将 AUTOLOAD 设置为 app/,那么您的命名空间将从该文件夹开始,因此它只是 namespace Controllers。模型相同
  • 当你在一个命名空间中时,你必须在你的其他文件的命名空间中添加一个前导 \,所以在命名空间 \App\Controllers 中你必须使用 new \App\Models\ContactsModel .. 如果你只写入 new App\Models\ContactsModel,它会在 app/controllers/app/models/contactsmodel.php
  • 处寻找文件

我建议:

  • 将文件夹名称更改为:app/Modelsapp/Controller
  • 让类的文件名与类名相同,所以 class ContactsModel -> ContactsModel.php
  • 仅将 AUTOLOAD 设置为 app/
  • 在 app/ 中使用文件夹等命名空间,因此 ContactsModel -> namespace Model;Contacts -> namespace Controllers