【问题标题】:Phpunit debug returns /-edit , but I am using '_edit'Phpunit 调试返回 /-edit ,但我正在使用 '_edit'
【发布时间】:2023-03-28 21:32:02
【问题描述】:

为什么我有这个作为回应?

########## DEBUG ##########
'/companies/-edit/5'
###########################

从此代码?

debug(Router::url(['controller' => 'Companies', 'action' => '_edit', $entity->id]));

注意调试器中的“下划线”和响应行?

【问题讨论】:

  • 这样的动作名称无效。请使用路由器所期望的,有效的“camelBacked”方法,然后通过 Inflector 和 Route 将变为例如“虚线”用于输出。

标签: php debugging cakephp phpunit cakephp-3.0


【解决方案1】:

在 CakePHP 3 中,您应该为控制器操作使用 camelBacked 命名约定。在控制器方法前加上下划线 _ 应该保留给受保护的方法。

CakePHP 路由器会将 camelBacked 方法转换为用户友好的虚线字符串。例如,操作 myBookings 在 URL 中将变为 my-bookings。 CakePHP 还会将 _ 转换为 -,这是为了向后兼容旧的 CakePHP 2 动作,这些动作是蛇形的。

确保您熟悉CakePHP naming conventions for Controllers

【讨论】:

    猜你喜欢
    • 2021-05-31
    • 1970-01-01
    • 2013-06-20
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多