gpt4 book ai didi

routes - cakephp3 : namespace error with prefix route

转载 作者:行者123 更新时间:2023-12-04 17:02:40 28 4
gpt4 key购买 nike

我正在尝试使用 cakephp 3 实现 REST api。

为了给我的问题提供一个易于重现的示例,我从全新安装 cakephp 3.1.11 开始。
在 config/routes.php 中,我添加:

Router::prefix('/api', function ($routes) {
$routes->fallbacks('DashedRoute');
});

如果我访问 http://mysite/prefixtest/api/Accounts我得到(预期的)“缺少 Controller 错误”:
Error: AccountsController could not be found.

Error: Create the class AccountsController below in file: src/Controller//Api/AccountsController.php

<?php
namespace App\Controller\\Api;

use App\Controller\AppController;

class AccountsController extends AppController
{

}

注意路径中的双斜杠和命名空间中的双反斜杠。

src/Controller/Api/AccountsController.php 中创建 AccountsController (路径中的单个/)与建议的代码导致错误:
Error: syntax error, unexpected '\' (T_NS_SEPARATOR), expecting identifier (T_STRING)
File src/Controller/Api/AccountsController.php
Line: 2

不足为奇,因为命名空间中的双反斜杠在 php 中是不允许的。
删除额外的反斜杠让我回到“缺少 Controller 错误”,可能是因为 Controller 不在 cakephp 期望的命名空间中。

我在这里做错了什么?

最佳答案

与作用域或路由相反,前缀不应与前导斜杠连接。

另见 Cookbook > Routing > Prefix Routing

关于routes - cakephp3 : namespace error with prefix route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35878950/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com