如何在像zend一样的MVC框架中使用exec-php(node js)?

基本上我想在这里做的是将数据获取到节点服务器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

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

当你为第一个文件定义了一个path的时候,下面的一些或者全部文件没有为它们的依赖定义一个path – 就像一个Abstract类。

ZF1文件实际上应该有需要的语句,并没有自动加载器工作。 你所缺less的和需要的是在你自己的模块文件中是一样的。

在你的application/modules/front/models/Dbtable/Postcontent.php文件中,你必须以Abstract_once语句的forms提示 Abstract类的path。