Articles of php

NodeJS:扩展Class和__construct方法

我将我的系统从PHP迁移到NodeJS,我有以下疑问: 在PHP中,我有class class Users extends Groups { function __construct(){ parent::__construct(); //do something } } 但是,如何在Javascript / NodeJS(ExpressJS)中做到这一点? 我认为这是扩展,但我如何定义__construct方法? 什么是在类实例的开始将调用的方法的名称,如在PHP中? var utils = require('utils'); var Groups = require('./groups.js'); var Users = function(){ //where is the __construct?? }; util.inherits(Users, Groups);

将json对象从php传递给javascript

在PHP中,我有一个像这样的JSON对象(即使这里不知道如果它的格式正确,如果我正确地传递它): $someJSONObject = '{token:"randomtoken",signature:"signature"}; 并在传递响应之前对其进行编码: $response['code'] = 1; $response['status'] = $api_response_code[ $response['code'] ]['HTTP Response']; $response['data'] = $someJSONObject; my_response($_GET['format'], $response); //json_encode($response) 然后在我的JS我收到这样的string格式: { code:1, status:200, data: '"{token:\\"randomtoken\\", signature:\\"signature\\"}"' } 我把它parsing成一个对象: phpObj = JSON.parse(body); 所以我可以访问“数据”: dataObj = phpObj.data; 这给了我一个string的结果: {token:\"randomtoken\", signature:\"signature\"} //console.log(dataObj) 在这里我失去了我的方式,不能访问'令牌'得到一个未定义的: console.log('token: ' + dataObj.token) //token:undefined 我意识到我试图把一个string,所以我必须在这最后一步做错了什么。 但是,即使我尝试使用JSON.parse或JSON.stringify它似乎仍然没有帮助,并给我一个“未定义”。 dataObj = JSON.parse(phpObj.data); console.log(typeof(dataObj); //string console.log(dataObj); //"\"{token:\\\"randomtoken\\\", […]

在heroku上集成博客和node.js应用程序

我有一个在heroku上部署的node.js应用程序。 一般使用引导程序,并希望在网站中embedded一个博客。 WordPress的只提供了帮助,我不能用在与Heroku上的节点交界处。 解决scheme是要写另一个应用程序在PHP(我没有处理),再次部署,并将其绑定到网站; 或寻找一些替代博客平台。 需求不是很大:我需要一个博客(能够在同一个域名下以纯文本撰写/评论)与网站风格类似(现在是商业模板 )。 问题是我将如何去呢? 如果我selectWordPress,我应该如何处理不兼容问题? 如果它是一些替代平台(例如Ghost),绑定到网站的方式是什么? 代码行的答案非常感谢。 进一步的澄清将尽快提供。 我会接受并加上描述解决scheme的答案。

在PHP或node.js中读取严重编码的JSON文件

我试图parsinghttp://www.spetnik.com/files/alerts.json – Chrome似乎做了一个很好的工作,如果我使用wget下载它,我可以在VIM中查看它。 但是,当试图用node.js或PHPparsing时,parsing失败。 我尝试了各种各样的东西,包括mb_convert_encoding,没有任何工作。 什么是parsing这个JSON最简单的方法?

ApiDoc错误:parsing器插件“apimethod”未find

我用Slim Framework编写了一个RESTful API。 对于我想用户APIDoc的文档。 我通过npm安装了apidoc(没有sudo没有工作) $ sudo npm install apidoc -g 我将这个示例注释插入到一个项目文件(users.router.php) /** * @ApiDescription(section="User", description="Get information about user") * @ApiMethod(type="get") * @ApiRoute(name="/user/get/{id}") * @ApiParams(name="id", type="integer", nullable=false, description="User id") * @ApiParams(name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}") * @ApiReturnHeaders(sample="HTTP 200 OK") * @ApiReturn(type="object", sample="{ * 'transaction_id':'int', * 'transaction_status':'string' * }") */ 我还添加了一个apidoc.json文件。 然后我尝试通过调用生成文档 $ apidoc -i App/Routers/ -o public/doc/ […]

节点js Faye客户端无法正常使用HTTPS

我试图将js与我的应用程序集成在一起,我刚刚testing了http服务器,它运行良好,但是当我使用https服务器和我的index.php一起订阅消息时,这是行不通的。 启动服务器 var https = require('https'), faye = require('faye'); var fs = require('fs'); var options = { key: fs.readFileSync('/etc/apache2/ssl/apache.key'), cert: fs.readFileSync('/etc/apache2/ssl/apache.crt') }; var server = https.createServer(options), bayeux = new faye.NodeAdapter({mount: '/'}); bayeux.attach(server); server.listen(1337); 创build一个客户端 <script src="faye-browser-min.js"></script> <script> var client = new Faye.Client('https://localhost:1337/'); client.subscribe('/messages/*', function(message) { alert('Got a message:'); }); </script> 发送信息 我使用Faye客户端在test.php中推送消息。 $adapter = new […]

如何将PHPconfiguration文件传递给Node.js?

我的PHPconfiguration文件如下所示: define('hostname_con1', 'localhost'); define('database_con1', 'mydatabase'); define('username_con1', 'user'); define('password_con1', 'password'); 在我的nodejs应用程序中使用它的“智能”方法是什么,以避免在我的nodejs应用程序中再次定义数据库参数? var client = mysql.createConnection({ host : 'localhost', user : 'user', password : 'password', database : 'mydatabase', charset: 'utf8', insecureAuth: true, }); 我想有一个单一的configuration文件(php和nodejs) 问候

PHP和Node.js的encryption结果不同

我使用AES 128 CBC以空白iv和键(16 0)对string“aaaaaaaaaaaaaaaaaa”(一个16字节的UTF8string)进行encryption,得到不同的结果 在PHP中: echo base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128,pack("H*", "00000000000000000000000000000000"),"aaaaaaaaaaaaaaaa",MCRYPT_MODE_CBC,pack("H*", "00000000000000000000000000000000"))) 返回“kmwP6gWv1l9ZMdKanGs / nA ==” 在Node.js中: let cipher = require('crypto').createCipheriv('aes-128-cbc',Buffer.alloc(16),Buffer.alloc(16)) console.log(cipher.update('aaaaaaaaaaaaaaaa','utf8','base64') + cipher.final('base64')) 返回“ kmwP6gWv1l9ZMdKanGs / n HeUidae8Z4dK0HU7p2z + 1c =” 第一位(粗体)与PHP相同,但PHP值有一个额外的'A =',然后Node值有一个额外的'HeUidae8Z4dK0HU7p2z + 1c' 我承认我在这里发生了什么事情 – 我在这里错过了什么? 编辑 …但不是那么不稳定,我不明白,我在这里做什么是不是特别安全。 不要担心这是否是“正确的”encryption方式,请注意结果应该一致。 edit2 – 然而,我可以使用hex而不是base64closures – PHP:926c0fea05afd65f5931d29a9c6b3f9c 节点: 926c0fea05afd65f5931d29a9c6b3f9c 779489d69ef19e1d2b41d4ee9db3fb57 第二个节点hex块是由.final方法返回的,我不明白它是什么。

如何实现与node.js的websocket服务器?

有没有例子? 以及node.js如何与传统的PHP脚本进行通信?

未find命令:P​​HP exec()

这真让我抓狂。 我需要php执行一个命令重新启动节点中运行的脚本。 我正在使用名为forever的节点应用程序来运行该脚本。 代码如下: <?php echo '<pre>'; echo exec('sudo -u dalton forever restart botti.js 2>&1'); echo '</pre>'; ?> 但是,当我运行,我得到sudo: forever: command not found 接下来,我尝试which forever type forever ,这两个给我: forever: /usr/local/bin/forever 我编辑我的代码: echo exec('sudo -u dalton /usr/local/bin/forever restart botti.js 2>&1'); 编辑:错字后,现在的错误是: /usr/bin/env: node: No such file or directory 我在智慧的结尾。 有任何想法吗?