【问题标题】:How to use exec-php(node js) in MVC framework like zend?如何在像zend这样的MVC框架中使用exec-php(node js)?
【发布时间】:2015-09-16 01:40:15
【问题描述】:

基本上我在这里要做的是将数据输入节点服务器 js,从写入 Zend 模型的函数返回的数据。

我的节点js服务器代码如下:

var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var execPhp = require('exec-php');

var app = express();
var server = http.createServer( app );

var io = socket.listen( server );

execPhp('../application/modules/front/models/Dbtable/Postcontent.php', 
function(error, php, outprint){
php.fetchEntryAll(function(error, result){
io.sockets.emit('showfeeds', result);
});
});

server.listen( 7000 );

所以当我尝试执行上面的代码时,它给了我如下错误:

错误:命令失败:PHP 致命错误:在第 3 行的 /Data/www/XXX/application/modules/front/models/Dbtable/Postcontent.php 中找不到类“Zend_Db_Table_Abstract”

当我使用核心 PHP 而不是 Zend 时,相同的代码可以工作。

所以我相信我们不能在 exec-php 中使用 OOP 的东西。

这里有什么解决办法吗?

exec-php 的参考链接: https://www.npmjs.com/package/exec-php

【问题讨论】:

    标签: node.js zend-framework exec


    【解决方案1】:

    您遇到的问题不是 OOP,而是自动加载您的对象类文件。

    虽然您为第一个文件定义了路径,但以下部分或全部文件没有为其依赖项定义路径——例如抽象类。

    ZF1 文件实际上应该有 require 语句并且可以在没有自动加载器的情况下工作。您自己的模块文件中缺少和需要的内容是相同的。

    在您的application/modules/front/models/Dbtable/Postcontent.php 文件中,您必须提示抽象类的路径作为require_once 语句。

    【讨论】:

      猜你喜欢
      • 2017-10-26
      • 2011-07-08
      • 2011-04-10
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多