【问题标题】:What is the proper syntax for using subcontrollers with Ufront?在 Ufront 中使用子控制器的正确语法是什么?
【发布时间】:2018-02-07 20:21:36
【问题描述】:

在我的主控制器中,我按照控制器文档中的说明进行操作,并且我有以下元数据:

@:route(GET, "/about/*")
var aboutController:AboutController;

然后在我的 AboutController 文件中:

package controller;

import api.TestApi;
import api.PortfolioItem;
using ufront.MVC;
using ufront.web.result.AddClientActionResult;

class AboutController extends Controller
{


    @:route(GET, "/graphicDesign")

    public function graphicDesign()
    {
        //      return new PartialViewResult({… etcetera

    }


}

当我在浏览器中访问 /about/graphicDesign 路径时,PHP 服务器生成错误:

PHP Fatal error:  Call to a member function execute() on null in /Users/allan/Documents/Freelance/Confidant/Website/3d confidant site/ufront/www/lib/controller/HomeController.class.php on line 70

PHP 行 69-71 有:

    public function execute_aboutController() {
    return $this->context->injector->_instantiate(_hx_qtype("controller.AboutController"))->execute();
}

那么,我需要不同的语法以便控制器正确实例化吗?

【问题讨论】:

  • 看来这个问题是 PHP 独有的,因为子控制器在使用 neko 服务器时工作正常。我怀疑这也是 Haxe 3.4+ 独有的,这里的另一个问题:stackoverflow.com/questions/45599210/…

标签: haxe ufront


【解决方案1】:

fyi 我升级到 3.4 我没有同样的问题。 是的,远程处理不起作用,但仅在针对 php7 时才起作用。事实上,即使不针对 php7 并在 php7 apache 环境中运行也不起作用。也适用于 Mamp & php 5.6。

我对子控制器没有问题。 我的回答是。你在另一个 php 环境中尝试过吗?

【讨论】:

  • 谢谢——我现在正在做其他事情,但我会在未来尝试。我使用的是 PHP 5.6.10。我应该尝试 5.6.32 吗?
猜你喜欢
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多