當前位置:首頁 » 編程語言 » phpnodejs

phpnodejs

發布時間: 2022-01-08 08:18:14

⑴ 寫後端 Python,nodejs和php哪個更好一些

Node.js相優於Python的地方:快:這個快有兩方面,第一是V8引擎快,第二是非同步執行,Node.js功能上是一個基於V8引擎的非同步網路和IOLibrary,和Python的Twisted很像,不同的是Node.js的eventloop是很底層的深入在語言中的,可以想像成整個文件在執行的時候就在一個很大的eventloop里;npm:npm可以說是用起來最順手的packagemanagement了,npm作為Node.js的官方packagemanagement,匯集了整個社區最集中的資源;不像Python經歷過easy_install和pip,還有2to3的問題;Windows支持:Node.js有微軟的加持,Windows基本被視為一等公民來支持,libuv已經可以很好的做到統一跨平台的API;而Python雖然也對Windows有官方的支持,但是總感覺是二等公民,時不時出些問題。Python優於Node.js的地方:語言:就單純從語言的角度來說,Python寫起來要比Javascript舒服很多;Javascript設計本身有許多缺陷,畢竟當時設計的時候只是作為在瀏覽器中做一些簡單任務的script,所以代碼一旦龐大,維護還是有困難(不過Node.js的mole很大的改善了這個問題),不過用Coffeescript可以很大的改善Javascript,幾乎可以和Python等同;成熟:成熟包括語言本身已經成熟,還有Framework和ecosystem也很龐大。Node.js的絕大多數framework都很新,有的API一直在變,有的感覺已經不在維護,總之沒有一個像Django那種百足之蟲感覺的framework。Python的主流ORMSQLalchemy也很成熟。Python和Node.js很難分高下的地方:非同步Style:Node.js的非同步Style是CPS,也就是層層callback,基於event,和瀏覽器中的Javascript很像。CPS好處是讓熟悉瀏覽器Javascript的人能很快上手,學習難度也不大。缺點是邏輯一復雜,就變得很難維護,基本上需要通過async.js這種library,或者用promise。Python的非同步除了和Node.js很像的Twisted之外,也有基於coroutine的gevent,coroutine讓非同步代碼維護起來更容易,不過學習曲線陡;應用場景:如果是一個CRUD的app,那麼想都不想直接是Python,Node.js本身不擅長CRUD的app(絕大多數Node.js都是直接裸在外面的,而不是有一個Nginx在前面,否則websocket就不能用了,不過新版nginx開始支持websocket),代碼又不好維護,而Python的WSGI很適合,成熟的stack也有很多。如果更偏向於real-time,比如一個chatroom,那麼Node.js實現更容易。這兩個應用場景還是有差別的。

⑵ 如何通過nodejs來實現php的前後端分離

簡單一點理解的話就是php整體製作後台和API通訊這塊,不使用它來製作顯示層,顯示層完全由nodejs來做,通過php的API來獲取和操作相關數據流。

⑶ 如何利用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();
?>

⑷ PHP和Nodejs能配合使用嗎

可以,如何實現不是很清楚,具體案例為drupal的nodejs模塊,以及若干依賴於此nodejs模塊的其他模塊,比如一些即時聊天的模塊就可以選擇性的依賴於nodejs模塊

⑸ 有js基礎和簡單的php基礎,但是學習nodejs還是很吃力

不知道你有的js基礎到底有多少:對象、方法、作用域、回調、鏈式調用、閉包、原型鏈這些概念到底理解的怎麼樣?這些沒有深入的理解,可能在繼續深入學習會感覺吃力,那麼有針對性的先把這些東西搞清楚。另外,一定要始終記住,node.js做的是伺服器端開發,不要一拿js寫東西心中就裝著個形象巨大的瀏覽器,這方面也可能造成一寫理解上的困擾(最直接的,dom操作可能很直接就定位1個元素然後進行操作了;但是伺服器端如果要封裝的好的話,可能是A類處理完了交給B類,B類繼續處理然後交個C類,最後是D類負責做最後的輸出。當然前端也可以封裝的很復雜,特別是event處理方面,只是舉一個簡單的例子,勿噴 ;))
PHP的基礎不能說沒用,萬事萬物的原理都是觸類旁通的,而且同是做後端開發的。但是要達到觸類旁通、舉一反三還是需要比較高的境界的,所以目前就你的情況來說,PHP的基礎對學習node.js來說可能用處不大,還有可能造成一些混淆,所以遇到問題不如不要去想PHP裡面是怎麼怎麼樣的了... 當然,如果你PHP已經掌握的很好了,那就是另外一回事了
應該怎麼學習?這也是一個被說了無數次的話題,首先我覺得最有效的無非是「項目驅動式」學習,你給自己設定一個簡單的項目(一定要簡單點,不然第二天說不定就把自己嚇跑了),然後根據功能一點點去開發,遇到具體問題再查相關的資料或者到這里提問題。這樣更具有實際操作性,你目前這個階段的話,光看書真的意義不大。
其次,github上有很多node.js相關的開源項目,閱讀別人的代碼,好的代碼(從項目被star和fork的數量來判定就可以了),一定要堅持讓自己看懂,對自己的學習和提高也是非常有幫助的。
祝早有所成!

⑹ node.js與php相比有哪些優缺點未來會替代php成為最好的語言嗎

您好,寫了兩年多的PHP,當時使用的框架是laravel
後來我放棄了PHP,轉戰Nodejs,然後就是各種爽,先不說node性能遠高於PHP,node的各種npm包和模塊遠比composer多和方便,模塊化的開發和維護輕鬆了很多;
PHP只是為web伺服器編程而生,而nodejs可以做的事情可遠不止這點,有至少最明顯的時又很多開發工具和cli是用node寫的,grunt,gulp,yomen,bower,cordova等等一大堆,有人還把nodejs應用到了硬體項目中,開發桌面軟體?咋們有node-webkit還是跨平台的。
原來Node.js是一門語言,PHP是世界上最好的語言。
++這么多人罵了這么多年也沒被取代,
VB也沒有我們想像的那樣消亡,反而每次都在前十,
不用擔心PHP會死,PHP不死也不會影響NodeJS火爆。

⑺ node.js php差別大嗎

1.PHP的優勢在於:老牌開發語言,資料又多又全,使用PHP的企業也比較多,無論是自學還是找人問都很方便;常用的幾個PHP框架文檔也好的不行,包括wordpress也是用的PHP;學會之後,找個免費的虛擬主機,做個一個個人站,簡直不要太方便。

2.Nodejs的優勢在於:社區非常活躍,語法就是JS,最常用的後端框架express非常簡單好用,文檔清晰有中文翻譯。同時Nodejs可以做很多前端工程化的工具,非同步也是一個很優秀的特點(仁者見仁吧)

3.總的來說:
如果公司在應用某一門後端語言,不妨就學這一門,遇到不懂的地方,還可以在身邊找到同事咨詢。從自己長遠的職業角度考慮,建議學Nodejs,畢竟除了用來做後端,還能提高日常開發效率。

⑻ php的性能要比node.js高很多嗎

在伺服器後端,我更喜歡用php,但是nodejs某些方面很好很強大他們應用的場景各有所長,沒有最好的語言,php依然有它的優勢,特別是在中小型企業中

⑼ 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有極大的幫助。
如對您有幫助,望採納,謝謝

熱點內容
圖形化編程語言 發布:2024-09-21 09:13:14 瀏覽:417
python二維 發布:2024-09-21 08:40:05 瀏覽:231
安卓電視上如何下載電視家 發布:2024-09-21 08:29:57 瀏覽:293
php字元串引號 發布:2024-09-21 08:17:03 瀏覽:783
androidduration 發布:2024-09-21 08:17:03 瀏覽:402
大話西遊2華山論劍什麼時候開的伺服器 發布:2024-09-21 08:00:15 瀏覽:530
編程馬鞍數 發布:2024-09-21 07:48:32 瀏覽:729
新建文件夾dos命令 發布:2024-09-21 07:44:13 瀏覽:133
舞蹈解壓介紹 發布:2024-09-21 07:40:04 瀏覽:975
qq如何顯示密碼 發布:2024-09-21 07:22:26 瀏覽:568