ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingสอบถามเรื่อง Node Js ครับ ทำงานร่วมกับ PHP
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: สอบถามเรื่อง Node Js ครับ ทำงานร่วมกับ PHP  (อ่าน 6974 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
userhuman
ก๊วนเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 217



ดูรายละเอียด เว็บไซต์
« เมื่อ: 07 ธันวาคม 2016, 16:25:54 »

เคยได้ยินว่า Node Js เร็วอย่างโน้น เร็วอย่างงี้ Facebook ก็ใช้ อยากถามว่า ลักษณะการทำงานมันเหมือน Javascript หรือ Jquery อะไรแนวนั้นหรือปล่าวครับ

แล้ว ถ้าใช้ร่วมกับ PHP นี้ใช้ในด้านไหนหรือครับ ดึงข้อมูลไวขึ้น?  Lips Sealed
บันทึกการเข้า

thanarack
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 110



ดูรายละเอียด
« ตอบ #1 เมื่อ: 07 ธันวาคม 2016, 17:19:26 »

Node JS ทำความเข้าใจก่อนครับ ว่ามันคือ Web Server ครับ ถ้านึกไม่ออก ให้นึกถึง Apache หรือ Nginx ที่เอาใว้ให้คำสั่ง PHP ทำงานได้

ที่นี้ ถามว่าเอา PHP มาใช้กับ NODE ได้ไหม คำตอบคือไม่ได้ครับ เพราะ NODE มันอ่านไม่รู้เรื่อง ที่มันอ่านออกก็คือ Javascript หรือพวก ES5,ES6 เท่านั้นครับ

ที่นี้ NODE เอาไปพัฒนาด้านไหนบ้าง ง่ายๆเลยครับ Front-end นั้นเองหรือจะใช้ด้านอื่นก้ได้ อยากเขียน NODE ให้ศึกษา Javascript ครับและพวก React,Angular นั้นคือ Framework ของ Javascipt เหมือนๆพวก Laravel หรือ Yii ของ PHP นั้นแหละครับ

ที่นี้ อยากใช้ PHP ร่วมกันกับ NODE ส่วนมาก เขาจะเอาไปทำ Web Service คือเขียน Node ให้ไปดึงข้อมูลจาก PHP ผ่าน URL นั้นแหละครับ

Node.JS เร็วกว่า PHP ไหม ? แน่นอนครับ เร็วกว่ามากๆ แต่ไม่ใช่ เพราะ PHP มันช้าแต่เพราะ Web Server ที่มันใช้ อาจจะ apache หรือ nginx นั้นต้องอ่านไฟล์ก่อนและ compile จากที่เคยทดสอบ Node สามารถรับ 1000req/0.4s ส่วน Apache 20req/4s

ปล.การจะใช้ NodeJS Host ที่รองรับต้องเป็น VPS หรือ Cloud ยังไม่เห็น Shared Host เจ้าไหนติดตั้งให้ใช้ครับ

ส่วนรายละเอียดลึกๆนั้น ท่านต้องหาข้อมูลจากบอร์ดฝรั่งครับ
บันทึกการเข้า

รับงานเขียนโปรแกรมทั่วราชอาณาจักรติดต่อว่าจ้างได้ที่
Line: thanarackk
picharnan
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 90
ออฟไลน์ ออฟไลน์

กระทู้: 1,400



ดูรายละเอียด
« ตอบ #2 เมื่อ: 07 ธันวาคม 2016, 17:24:48 »

ถ้าอยากใช้งาน Nodejs ร่วมกับ PHP ก็อาจจะทำได้โดย

- การให้ Nodejs เรียก PHP แบบ CLI
- หรือให้ PHP เรียก Nodejs ผ่าน exec

แต่ถ้าหากเริ่มพัฒนาระบบตั้งแต่ต้น ผมยังมองไม่เห็นความจำเป็นที่จะต้องใช้ Nodejs และ PHP ร่วมกัน
เพราะหากเราขียน Nodejs ก็สามารถพัฒนาได้ทุกอย่างที่ PHP ทำได้อยู่แล้ว เว้นซะจากต้องการ Integrate ระบบ
บันทึกการเข้า
sbaydee
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 337
ออฟไลน์ ออฟไลน์

กระทู้: 1,622



ดูรายละเอียด
« ตอบ #3 เมื่อ: 07 ธันวาคม 2016, 17:28:38 »

 Tongue Node มันไม่ยากหรอกครับ ตัวแสดงผลต่างหากที่น่าปวดกะบาลว่าจะใช้อะไรดี
โผล่มาให้ใช้ไม่หยุด
บันทึกการเข้า
karanors038
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 34



ดูรายละเอียด
« ตอบ #4 เมื่อ: 07 ธันวาคม 2016, 18:00:11 »

การใช้ NodeJS ไม่ยากเลยครับ เรียกใช้ง่ายมาก สมมุติเราอยากได้ api ใดสักตัว ก็เขีบนตามมี่เราต้องการ เวลาเรียกใช้ ผมติดตั้ง express อีกตัวเพื่อรันเป็น การใช้ web service ของ nodejs โดยเฉพาะ ติดตั้งไม่ยาก เรียกใช้งานก็ง่ายและเร็วครับ ขอบคุณครับ
บันทึกการเข้า
userhuman
ก๊วนเสียว
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 217



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 08 ธันวาคม 2016, 18:02:10 »

ถ้าอยากใช้งาน Nodejs ร่วมกับ PHP ก็อาจจะทำได้โดย

- การให้ Nodejs เรียก PHP แบบ CLI
- หรือให้ PHP เรียก Nodejs ผ่าน exec

แต่ถ้าหากเริ่มพัฒนาระบบตั้งแต่ต้น ผมยังมองไม่เห็นความจำเป็นที่จะต้องใช้ Nodejs และ PHP ร่วมกัน
เพราะหากเราขียน Nodejs ก็สามารถพัฒนาได้ทุกอย่างที่ PHP ทำได้อยู่แล้ว เว้นซะจากต้องการ Integrate ระบบ

เป็นแบบนั้นเลยครับ ส่วนตัวระบบเคยเขียน Laravel อยู่แต่จะมาเปลี่ยนเป็น Node js ทั้งหมดก็ใช่ที่ เลยอยากจะ เพิ่ม Performance ให้โหลดไว ทำงานไวขึ้นแค่นั้นครับ จุดประสงค์
บันทึกการเข้า

9visarut
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #6 เมื่อ: 08 ธันวาคม 2016, 20:42:11 »

PHP ทำ REST API
Node ลองเล่นพวก React.js ครับ เร็วดีครับ  ถ้าเขียนดี

กะจะกลายเป็น 1 backend + 1 frontend ตามมาตรฐานงานทั่วไป

 wanwan017
บันทึกการเข้า
killer777
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 52
ออฟไลน์ ออฟไลน์

กระทู้: 1,009



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 09 ธันวาคม 2016, 08:02:25 »

เข้ามาเก็บความรู้ครับ
บันทึกการเข้า

skscale
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 185



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 09 ธันวาคม 2016, 08:20:10 »

ขอบคุณครับ  wanwan017
บันทึกการเข้า

LoveRomyui88io
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 1,682



ดูรายละเอียด
« ตอบ #9 เมื่อ: 09 ธันวาคม 2016, 09:34:39 »

ขอบคุณครับ
บันทึกการเข้า

ห้ามใส่ลิงค์พนันครับ ทำอีกลบแอคเค้านะครับ
skp123
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 12



ดูรายละเอียด
« ตอบ #10 เมื่อ: 11 ธันวาคม 2016, 00:21:37 »

NodeJS ก็คือ Javascript ที่ทำงานฝั่ง server ถ้าจะให้จัดประเภทตามบทบาทของมันก็คงอยู่ในกลุ่มเดียวกับ PHP แต่ NodeJS สามารถทำตัวเองเป็น webserver ได้อีกด้วย เหตุที่ว่าทำไมมันถึงเร็วนั้นนอกจากเรื่อง Performance ของตัวภาษาแล้ว เทรนด์การพัฒนาใหม่ๆ(จริงๆก็ไม่ใหม่แล้ว)จะใช้ฝั่งเซิฟเวอร์เป็นแค่ API เท่านั้น โดยเรื่องการเรนเดอร์หน้าเว็บต่างๆ จะเป็นหน้าที่ของ client ก็จะมีเฟรมเวิคฝั่ง client ให้เลือกใช้ angular, react(ตัวนี้ใช้ฝั่ง server ด้วยก็ได้ แต่ต้องเป็น NodeJS) และอีกหลายตัวที่ไม่ได้เป็นที่นิยม
กล่าวคือถ้าเราใช้ PHP+Angular หรือ PHP+React มันก็เร็วกว่าที่จะให้ PHP พ่นทั้งหน้า html ออกมาทั้งหน้า หรือจะให้ NodeJS พ่น html ออกมาทังหน้ามันก็คงไม่เร็วเท่าไหร่(แต่น่าจะเร็วกว่า PHP) ทั้งนี้ทั้งนั้นอันไหนดีกว่ากันก็ขึ้นอยู่กับวัตถุประสงค์และประเภทของเว็บที่จะพัฒนาด้วย

ปล. ในตอนนี้มีแต่ NodeJS เท่านั้นที่ทำ isomorphic ได้

Laravel หรือ Yii ของ PHP เปรียบได้กับ Express ของ NodeJS

อ่ะเข้าเรื่อง ถ้าใช้ PHP อยู่แล้วอยากลอง NodeJS
ก็สามารถเซ็ต Reverse Proxy ของ webserver(apache หรือ nginx) ที่มีอยู่แล้วโดยกำหนดให้ path ไหน redirect ไปยัง node ได้
ตัวอย้่างถ้าเว็บปกติเป็น www.phpsite.com เราสามารถตั้งให้ www.phpsite.com/nodejs วิ่งไปหา nodejs ได้ โดยที่ถ้าไม่ใช่ path นี้ตัว webserver ก็ยังทำงานปกติด้วย PHP ลองไปหาอ่านเอานะ Reverse Proxy
« แก้ไขครั้งสุดท้าย: 11 ธันวาคม 2016, 00:35:36 โดย skp123 » บันทึกการเข้า
Mookgmth
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 2



ดูรายละเอียด
« ตอบ #11 เมื่อ: 22 ตุลาคม 2024, 22:15:41 »

ถ้าจำไม่ผิด มีคนเขียนเป็นแพคเกจให้ใช้งานอยู่นะคะ  npm install php-express  .  ลองค้นหาแพคเกจใน npmjs.com ดูอีกทีก่อนนะคะ เพื่อความชัวร์  อันนี้คือ เราสามารถใช้ express เป็นเซริ์ฟเวอร์  แล้วใช้ php เป็น template engine  ค่ะ  ถ้าสาย php น่าจะใช้งานง่ายอยู่ค่ะ
บันทึกการเข้า
Mookgmth
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 2



ดูรายละเอียด
« ตอบ #12 เมื่อ: 22 ตุลาคม 2024, 22:20:56 »

ถ้าจำไม่ผิด มีคนเขียนเป็นแพคเกจให้ใช้งานอยู่นะคะ  npm install php-express  .  ลองค้นหาแพคเกจใน npmjs.com ดูอีกทีก่อนนะคะ เพื่อความชัวร์  อันนี้คือ เราสามารถใช้ express เป็นเซริ์ฟเวอร์  แล้วใช้ php เป็น template engine  ค่ะ  ถ้าสาย php น่าจะใช้งานง่ายอยู่ค่ะ
บันทึกการเข้า
vii
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 132
ออฟไลน์ ออฟไลน์

กระทู้: 968



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 22 ตุลาคม 2024, 22:50:47 »

NodeJS สามารถทำงานแบบ multi thread ได้ ทำให้ทำงานบางอย่างได้เร็วมากโดยไม่ต้องรอคิวคำสั่งก่อนหน้าให้ทำงานเสร็จจึงค่อยทำคำสั่งต่อไป
ตัวอย่างเช่นการเรียก URL สำหรับตรวจสอบ เมื่อมีจำนวน URL หลายๆอันหรือหลักสิบ, หลักร้อย มันสามารถเรียกทำงานพรืดเดียวพร้อมๆกันได้หลายๆอันแล้วบันทึกผลได้เลย.

สำหรับ PHP นั้นมีผู้ตอบเหมือนกันว่ามันสามารถทำงาน multi thread ได้ แต่จากที่ลองอ่านๆดู ดูเหมือนจะไม่สามารถทำได้โดยตัวมันเองเพียวๆโดยไม่ต้องมี class, package, function อะไรเสริม โดยเฉพาะกับ web server (ไม่ใช่ CLI) ยิ่งยาก.
นี่น่าจะเป็นเหตุให้ Node.JS เร็วและง่ายกว่า PHP
บันทึกการเข้า

helloweentz
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 40
ออฟไลน์ ออฟไลน์

กระทู้: 1,570



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 23 ตุลาคม 2024, 08:48:40 »

ศึกษาครับ  wanwan017
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์