php和nodejs
Ⅰ php 和nodejs 的各自优势有哪些,如果无基础开始,要学那个好
作者:MiseryLee
链接:http://www.hu.com/question/35117771/answer/61377174
来源:知乎
着作权归作者所有,转载请联系作者获得授权。
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
以上这句话摘于网络。PHP的语法是公认的比较独特的语法了,集百家之长,再加以创新。学习过OO的同学们一定会对此倍感亲切。不过对于我并不长的PHP编码经历,让我无法忍受的一点就是PHP的变量名必须在前面加一个$符号了。
至于Nodejs,Node本身就是Javascript语言,对于Web前端脚本开发者来说,学习Node简直是如鱼得水。Javascript作为脚本语言,在代码的编写上有极大的自由(画外音:PHP也是脚本语言好么!),但是Javascript的异步编码风格确实是让以学习同步编码风格的语言入门的同学Hold不住。
在语法方面,我更倾向于Nodejs(毕竟人家是写Javascript出身的233333)。PHP对于臣妾来说写的实在太累啦~
2.效率
这一点其实没有必要比较了,
Web语言效率问题,PHP还是Nodejs
看一下这里一楼的大大说的。
Nodejs凭借高效的V8引擎和它非阻塞异步I/O的特性,在其执行效率上远远超过了其他的脚本语言。
Node.js比PHP快14倍!
这里这位大大在效率方面分析的更加到位。当然我并不是在追捧Nodejs,就像这位大大说的
这不是简单语言细节之争,而是语言框架之争。将Node.JS这种异步机制从Javasctipt搬移到其他语言PHP .NET Java其实都会取得比原来堵塞方式有数十倍提高。
3.使用场景
毋庸置疑,这两种语言都是为Web开发而生。PHP多样化的内置方法和库,让Web开发变得极其的方便和高效,成熟的语言框架也给开发者提供了足够高的健壮性和稳定性。而Nodejs以其强大的特性吸引了大量的开发者为其贡献扩展库,Nodejs项目虽然还很年轻,但是已经聚集了大量的开发资源。
4.小结
毕竟对PHP了解的较少,所以以上言论中难免有点偏向于Nodejs,但是PHP发展多年屹立不倒肯定是有它的道理的,网络还用的PHP呢。
至于Nodejs,作为一门新兴(并不新啊,Javascript可比PHP老多了)语言来讲,它独特的设计特性足够吸引开发者向它看了。
最终回到题主的问题,不知道题主说的没有基础是指完全没有编程基础还是没有服务器开发基础?
如果完全没有编程基础的话,我建议题主还是先去学习C语言,先入了这一行,再选工具吧~
如果有编程基础的话,如果之前是学习OO的,建议先从PHP入手,毕竟更容易过渡,并且网络上对于PHP的资料要比Nodejs多得多。
如果之前学习过Javascript,我还是建议先从PHP入手,就像上面说的,先入了这一行,再选工具。服务器开发也算一个小行了,如果对服务器开发不了解,对网络机制不了解的话,先从PHP着手,把这些相关知识补充起来。
如果实在是被Nodejs的优势吸引住了的话,我建议先好好学习Javascript高级编程,深入理解一下异原型链和回调机制,这会对入手Nodejs有极大的帮助。
如对您有帮助,望采纳,谢谢
Ⅱ php的性能要比node.js高很多吗
有学习Swoole的疑惑、遇到瓶颈期的PHPer可在底部留言给我!!!
在本机windows环境下的测试:8G内存,4GCPU,win7系统,插入10000条记录测试比较,php和nodejs的性能。
当改为10000条记录插入,php耗时1.65 seconds,nodejs耗时318微秒,nodejs还是快得比较明显。
Ⅲ 写后端 Python,nodejs和php哪个更好一些
因为名字喜欢php,也因为名字不喜欢php?当初大专的时候听到php就很喜欢,也不知道为什么,后面了解了更喜欢,但是后来本科毕业后php不流行了就学了web前端,发现不喜欢web前端还是喜欢php,但是强迫症因为学了web前端学其他的就难受,所以找个各种理由想要放弃php,比如php比web前端难(包含了web前端我不喜欢的技术,范围又广),php混合开发很乱,还有让自己只在乎自己不要在乎其他的东西等等之类的,想要放弃php,但是都放弃不了,我比较喜欢国内的技术,当然美国的也不错,毕竟科技蛮强的嘛,电影也喜欢,但是发现php好像不是国内的也不是美国的,创始人不是美国的,技术中心也不在美国,不过好像公司是美国的,所以好像又不这么喜欢了。为什么原来想这么多都没放弃,现在就放弃了呢?因为想到自己在意注意的点了?我有个朋友喜欢说什么血统啊?
Ⅳ 如何利用php执行nodejs文件
一,安装DNode,
1, for nodejs, 执行
$ sudo npm install dnode
2, for php, 利用composer来安装DNode php
执行下列语句下载composer
$ wget http://getcomposer.org/composer.phar
创建一个文件composer.json,然后填入如下语句,
{
"require": {
"dnode/dnode": "0.2.0"
}
}
执行如下语句安装,
$ sudo php composer.phar install
二,利用nodejs创建简单server程序, server.js
var dnode = require('dnode');
var server = dnode({
zing: function (n, cb) { cb(n * 100) }
});
server.listen(7070);
三,利用php创建客户端程序client.php, 其中需要引用刚才安装的dnode文件夹里面的文件autoload.php
<?php
// Connect to DNode server running in port 7070 and call
// Zing with argument 33
require 'lib/vendor/autoload.php';
// This is the class we're exposing to DNode
class Temp
{
// Compute the client's temperature and stuff that value into the callback
public function temperature($cb)
{
}
}
$loop = new React\EventLoop\StreamSelectLoop();
$dnode = new DNode\DNode($loop, new Temp());
$dnode->connect(7070, function($remote, $connection) {
// Remote is a proxy object that provides us all methods
// from the server
$remote->zing(33, function($n) use ($connection) {
echo "n = {$n}\n";
// Once we have the result we can close the connection
$connection->end();
});
});
$loop->run();
?>
Ⅳ nodejs php哪个好
Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言.
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
Node.js遵循事件驱动的非阻塞I/O模型,PHP遵循一个阻塞模型;
PHP应用程序可以在任何服务器上运行,Node不行。
1、性能方面:
由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间。
2、托管和部署:
PHP 应用程序可以在包括 Nginx 和 Apache 以及 Windows 和 Linux 平台在内的任何服务器上运行,这使得部署过程变得更容易。
而 Node.js,则需要具有 SSH 访问权限的虚拟服务器。因此,在没有任何控制台命令和 Secure Shell(SSH)知识的情况下,用 PHP 部署小型企业和个人应用会更好。
3、外部依赖:
Node.js 依赖关系较少,用几行代码就可以设置一个 Web 服务器。但运行 PHP 应用程序,就需要外部服务器软件。用 Node.js 的开发人员只需要 NPM(节点包管理器)就可以下载 Node 模块,这些模块可以轻松地集成到应用程序中,提供额外的功能。
4、CPU 扩展任务:
Node.js 可能在高吞吐量方面表现优异,但是当应用程序繁重,需要 CPU 做大量工作时,Node.js 肯定会有所欠缺。在这种情况下,PHP 最适合做 Web 应用程序的后端。
5、单页应用程序:
如果您使用过 Gmail,那么您可能知道什么是单页应用程序(Single Page Application)。Web 应用程序在初始客户端请求时加载,之后根据客户端请求刷新的网页的特定部分。Node.js 与 AngularJS 的联合是开发单页应用程序的完美方案。
6、开发环境:
Node.js 可以用于桌面应用程序开发(Windows,Linux和Mac),移动应用程序开发(混合和跨平台应用程序),甚至构建基于控制台的应用程序。虽然有一些也可以使用 PHP 来开发,但是大多数开发人员不会这样做。
7、社区支持:
由于 PHP 比 Node.js 早诞生将近20年,所以在文档,API 和代码库等在线资源方面更为丰富。所以很有可能其他人也尝试了你想要用代码完成的事情并从中获得了帮助。
另一方面,Node.js 虽然已经得到了开发者和组织的广泛关注,但是它支持开发者开发的资源缺相当少。
8、学习曲线:
编写 Node.js 代码对于新手甚至是专业的 JavaScript 开发人员来说都不是件容易的事情,因为他们需要在入门之前理解一些复杂的概念,比如 web worker 和回调函数。相反,PHP是一门非常友好的编程语言对于开发 Web 应用程序的新手来说。
Node.js 和 PHP是相辅相成的,因为这两种技术都有各自的优点和缺点。这大多是相似的情况在比较或选择用于Web,桌面和移动开发的其他技术时。Node.js有前途,并且肯定会占据PHP市场的一部分,但是不能完全取代 PHP。
Ⅵ node.js和php哪个简单
单论做网站,应该是php简单。。但node.js也不算太难,而且能做到的事情,比php多很多。
php是个过时的技术,和ASP是同代的产物(asp.net的前身)那时候名叫C- -,后来改名才叫PHP的。就和windowsXP一样。技术上没有任何优势。但市场还在,尽管早晚是要被淘汰的,但由于学习门槛低,又确实有市场需求。所以淘汰速度并不快
JAVASCRIPT是个90后,按说也算是比较老了,但NODE却是门新兴技术。。由于非阻塞异步io实现,导致node的io效率非常高。。。实际测试,node的效率,大约比php高出70-100倍左右。。而且node除了做网站之外,还可以搞嵌入式,树莓派,甚至网游服务器。。
简单概括,如果只是做网站,php简单些。。。但个人还是推荐node。。一个是夕阳技术,一个是朝阳技术。。。其实很容易判断
不过把范围再扩大一些的话,我觉得两个的学习价值都不高。因为都是动态语言,在编写中型以上项目时,都会不可避免的受限于动态语言天生的劣根性,导致各种问题。学习性价比最高的应该是.NET CORE。学习比node难不了太多,而性能却是顶级的。或者Java,岗位多需求大,属于最四平八稳的选择。如果要长期做程序,转向静态语言是迟早的事儿。无论Node,还是php,都只是过渡之下的产物,而不是最终选择。
Ⅶ node.js与php相比有哪些优缺点
您好,写了两年多的PHP,当时使用的框架是laravelx0dx0a后来我放弃了PHP,转战Nodejs,然后就是各种爽,先不说node性能远高于PHP,node的各种npm包和模块远比composer多和方便,模块化的开发和维护轻松了很多;x0dx0aPHP只是为web服务器编程而生,而nodejs可以做的事情可远不止这点,有至少最明显的时又很多开发工具和cli是用node写的,grunt,gulp,yomen,bower,cordova等等一大堆,有人还把nodejs应用到了硬件项目中,开发桌面软件?咋们有node-webkit还是跨平台的。x0dx0a原来Node.js是一门语言,PHP是世界上最好的语言。x0dx0a++这么多人骂了这么多年也没被取代,x0dx0aVB也没有我们想象的那样消亡,反而每次都在前十,x0dx0a不用担心PHP会死,PHP不死也不会影响NodeJS火爆。