【问题标题】:Call to a member function build() on boolean error in CakePHP 3在 CakePHP 3 中调用布尔错误时的成员函数 build()
【发布时间】:2020-09-01 08:54:43
【问题描述】:

我在我的控制器文件中使用以下代码来生成完整的站点 URL

$this->Url->build(['controller' => 'home', 'action' => 'index'], true);.

但我收到“在布尔值上调用成员函数 build()”错误。我不使用的原因

Router::URL(['controller' => 'home', 'action' => 'index']);

我不想要一个相对 URL。我不能在控制器中使用 Url builder 吗?

【问题讨论】:

  • 帮助器用于视图,而不是控制器。 Router::url() 将在传递 true 作为第二个参数时为您提供绝对/完整 URL,因此您可能需要更详细地解释一下您在此处显示的 sn-p 如何没有给您想要的结果。
  • 谢谢@ndm。我没有在Router::URL 中传递true。我已经编辑了我的问题。

标签: cakephp cakephp-3.0 urlhelper


【解决方案1】:

我认为,您的错误的主要原因是控制器名称错误。

首先,Name Conventions

“控制器类名是复数,PascalCased,以Controller结尾。UsersController和ArticleCategoriesController都是传统控制器名的例子。”

所以你的文件名必须像HomesController.php。接下来类名应该是这样的HomesController

其次,对于 CakePHP,字符大小很重要。如果你想为你的控制器构建 URL,你必须这样做

$this->Url->build(['controller' => 'Home', 'action' => 'index'], true);

控制器名称应大写。

More about building URL in CakePHP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    相关资源
    最近更新 更多