PHP มีประโยชน์อย่างไร? [ปิด]


14

ทุกคนรู้ว่าคนที่มีอคติต่อภาษาการเขียนโปรแกรมบางอย่าง โดยเฉพาะอย่างยิ่ง PHP ดูเหมือนจะประสบปัญหาในอดีตและสิ่งอื่น ๆ (เช่นประเภทหลวม) และมักจะเรียกว่าภาษาการเขียนโปรแกรมที่ไม่ร้ายแรงซึ่งไม่ควรใช้สำหรับแอปพลิเคชันมืออาชีพ

ในกรณีพิเศษนั้น PHP: คุณโต้แย้งการใช้ PHP เป็นภาษาโปรแกรมที่คุณเลือกสำหรับเว็บแอปพลิเคชันได้อย่างไร? ประโยชน์ที่ได้จาก PHP นั้นดีกว่า ColdFusion, Java และอื่น ๆ


5
PHP เป็นวิธีการรักษาโรคมะเร็งในระดับภูมิภาคท PHP สามารถช่วยให้เข้าใจการชนของแฮชได้ดีขึ้น ผู้จัดการโครงการ PHP ยังช่วยให้หน่วยงานบังคับใช้กฎหมายหลายแห่งต่อสู้กับการกระทำผิดกฎหมายการส่งจดหมายส่วนตัวและเชิงพาณิชย์และงานโดยรวมเพื่อช่วยลดปริมาณสแปมที่ส่งและรับบนอินเทอร์เน็ต PHP เสนอกลุ่มสนับสนุนในหลาย ๆ แห่งทั่วแมสซาชูเซตส์ PHP เป็นโปรแกรมประเภทหนึ่งที่ใช้รักษาอาการป่วยทางจิตและการใช้สารเสพติด PHP อยู่ในเลเยอร์ 3 MPLS VPN (RFC2547)
งาน

ทุกภาษามีความเกลียดชัง / ผู้ชื่นชม ฉันจะไม่บอกว่า PHP เกลียดโดยเฉพาะอย่างยิ่งเมื่อเทียบกับภาษาอื่น ๆ ฉันจะบอกว่ายิ่งมีคนชื่นชมภาษามากเท่าไหร่ก็ยิ่งมีความเกลียดชังมากเท่านั้น (admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age)ผมมั่นใจว่าเราสามารถประมวลว่า: โดยที่ AcmeContant ไม่มีการเปลี่ยนแปลงสำหรับทุกภาษา <(;-)
Martin York

1
ฉันใช้ PHP เพื่อแสดงให้ผู้คนเห็นว่าจะไม่ออกแบบภาษา
dan_waterworth

คำตอบ:


13

Josh K ชี้ให้เห็นถึงจุดที่ค่อนข้างดีดังนั้นฉันจะไม่ย้ำอีกครั้ง แต่ฉันจะเพิ่มอีก

มันตีความ

เพียงแค่ FTP / SSH เข้าสู่บัญชีของคุณเปลี่ยนสิ่งที่ต้องเปลี่ยนและ presto! ไม่จำเป็นต้องรวบรวมเพื่อปรับใช้เพื่อรีสตาร์ทเซิร์ฟเวอร์

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

อันที่จริงมันเป็นเรื่องง่าย

อย่างจริงจัง. อย่างน้อยสำหรับมือใหม่ที่แท้จริงมันง่ายจริงๆ ง่ายมากที่เมื่อลูกพี่ลูกน้องของฉันแสดงความสนใจในการเรียนรู้วิธีการเขียนโปรแกรมฉันซื้อหนังสือ Python ให้เขาแทน แบบแผนของ PHP อาจสอนนิสัยที่ไม่ดีให้คุณ

มันมีความสามารถ

ฉันมีชีวิตที่อาฆาตพยาบาทด้วยภาษา C / C ++ อย่างใดที่เราไม่ชอบซึ่งกันและกัน ในขณะที่มหาวิทยาลัยเมื่อฉันต้องทำโครงการที่เกี่ยวข้องกับการคำนวณฉันจะเลือก PHP ผ่าน C ++ และในแต่ละกรณีฉันสามารถบรรลุสิ่งที่ฉันตั้งใจไว้ บางทีการประมวลผลของโปรแกรมอาจช้ากว่าการเขียนใน C ++ แต่ก็ไม่ได้เป็นปัจจัยในกรณีนี้

อย่างไรก็ตาม: เครือข่ายประสาทอัลกอริทึมทางพันธุกรรมตรรกศาสตร์คลุมเครือ ... ฉันทำทั้งหมดนี้ใน PHP ใช่ ... มีคนบอกฉันว่าฉันแปลก


+1 สำหรับการตีความและความสามารถ สิ่งหนึ่งที่ทำให้ฉันยุ่งเกี่ยวกับการทำงานกับเว็บ Java คือความต้องการคงที่ในการคอมไพล์และปรับใช้ การใช้บางอย่างเช่น Grails ช่วยบรรเทาบางส่วน แต่ก็ไม่ได้ใกล้เคียงกับ PHP
Josh K

การตีความและความสามารถเป็นข้อโต้แย้งที่ดีจริงๆ +1 คำตอบทั้งหมดนั้นดีและมีข้อโต้แย้งที่ดี แต่คุณสรุปได้ค่อนข้างดี
acme

เพียงดูรหัสนี้เพื่อจัดการกับจำนวนเต็ม 64 บิต: mysqlperformanceblog.com/2007/03/27/…คุณเรียกสิ่งนี้ว่าจริงจังหรือไม่?
ThomasX

ไม่ฉันทำไม่ได้ โปรดทราบฉันเขียนว่า: 'อย่างน้อยสำหรับมือใหม่ที่แท้จริงมันง่ายจริงๆ' ผู้เริ่มต้นจริงมักไม่จำเป็นต้องกังวลกับการพกพาระหว่างแพลตฟอร์ม (ถ้าเป็นสิ่งที่ดี - นั่นเป็นคำถามอื่น) คำแนะนำทั่วไป: หากคุณคาดว่าจะจัดการกับจำนวนเต็มขนาดใหญ่ใน PHP ใช้ส่วนขยาย BCMath (และใช่ฉันรู้ว่านี่ไม่ใช่ทางออกที่ดีที่สุดที่อาจมี ... แต่นั่นเป็นวิธีที่ PHP เป็น;))
Mchl

17

นี่คือสิ่งที่ทุกคนไม่เห็นด้วย แต่ฉันคิดว่าอีกเหตุผลหนึ่งที่ PHP ได้รับความนิยมก็คือเพราะมันง่ายต่อการรับบัญชีโฮสติ้งฟรี

นักเรียนหนุ่มสาวหลายคนที่ต้องการเข้าร่วมในการพัฒนาเว็บไซต์เลือก PHP เพราะการติดตั้งเซิร์ฟเวอร์ออนไลน์จะไม่เสียค่าใช้จ่ายใด ๆ ดังนั้นพวกเขาจึงสามารถเล่นกับมัน / เรียนรู้เกี่ยวกับมันได้ฟรี

แม้ว่าจะมีตัวเลือกการโฮสต์ฟรีสำหรับภาษาอื่น ๆ (java, ruby, .net) แต่ก็ยากที่จะมาด้วย


ต้นทุนเป็นปัจจัยสำคัญในการใช้อย่างแพร่หลาย
Orbling

14

templating

PHP มีเทมเพลตในตัวโดยไม่มีแท็กแปลก ๆ การแยกวิเคราะห์หรือค่าใช้จ่าย บางคนเช่นนี้บางคนทำไม่ได้

แบบพกพา

PHP สามารถใช้งานได้กับเซิร์ฟเวอร์เกือบทุกเครื่องและแพลตฟอร์มส่วนใหญ่ ในความเป็นจริงมันจะทำงานในทุกเซิร์ฟเวอร์มากที่สุด คุณสามารถเรียกใช้ภายใต้ IIS, Apache, Nginx เป็นต้นซึ่งหมายความว่าคุณมีการเขียนครั้งเดียว - ใช้งานได้ทุกที่ การพกพานี้มาพร้อมกับข้อ จำกัด บางประการทั้งนี้ขึ้นอยู่กับการตั้งค่าสภาพแวดล้อมที่คุณต้องสนับสนุน สิ่งนี้จะแตกต่างกันระหว่างแอพพลิเคชั่นเชิงพาณิชย์และโอเพนซอร์ซ

เป็นที่นิยม

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

ราคา

PHP ไม่มีค่าใช้จ่ายและรายการส่วนใหญ่ที่ใช้งานได้ทันที (Apache, PostgreSQL, MySQL) ไม่มีค่าใช้จ่าย สิ่งนี้ทำให้โครงการของคุณมีค่าใช้จ่ายเริ่มต้นที่ต่ำมาก


ฉันไม่อยากพูดว่าการพกพาเป็นจุดแข็งของ PHP ถ้าคุณต้องการเขียน PHP แบบพกพาจริง ๆ คุณต้องหลีกเลี่ยงความจริงที่ว่าภาษาสามารถกำหนดค่าได้หลายวิธีเช่นคุณต้องตรวจสอบตัวเลือกการกำหนดค่าสำหรับการเสนอราคาเวทมนต์และเรียกใช้stripslashes()เพราะบางตัวมีตัวเลือกการตั้งค่า 'T
Jim

2
@Jim - มันพกพาได้มากกว่าสิ่งอื่น ๆ
Orbling

@Orbling - จริงเหรอ? คุณคิดว่ามีคุณสมบัติคล้าย ๆ กับภาษาอื่น ๆ
Jim

1
@ จิม: ฉันเขียนโค้ดที่คาดว่าจะมีสภาพแวดล้อม "แนวปฏิบัติที่ดีที่สุด" ถ้าผมทำโครงการ OS ฉันจะอาณัติจำนวนของตัวเลือกการตั้งค่า / (ตัวอย่างเช่นmagic_quotes_gpcการเปิดปิด ) วิธีที่ดีที่สุดในการจัดการกับสิ่งนี้ (ถ้าคุณจำเป็นต้องใช้) ก็คือการห่อหุ้มบล็อกการประมวลผลถ้า / อื่น ๆ เหล่านี้เป็นฟังก์ชั่นตัวช่วยซึ่งจะช่วยลดความจำเป็นที่จะต้องตรวจสอบเครื่องหมายคำพูด
Josh K

1
@ Josh - ฉันจะทำเช่นเดียวกับคุณถ้าฉันยังคงเขียน PHP ในจำนวนมาก ๆ ทุกวันนี้ แต่ถ้ารหัสของคุณขึ้นอยู่กับสภาพแวดล้อม "แนวปฏิบัติที่ดีที่สุด" มันไม่สามารถพกพาได้ โดยเฉพาะมันจะมีข้อผิดพลาดของข้อมูลเสียหายในโฮสต์ที่เส็งเคร็งมากมายเนื่องจากแบ็กสแลชปลอมจะถูกเพิ่มเข้าไปในข้อมูลทั้งหมดที่ผู้ใช้ให้ จากการที่ความแพร่หลายของ PHP โฮสติ้งนั้นถือได้ว่าเป็นหนึ่งในข้อได้เปรียบหลักของการใช้ PHP ฉันคิดว่ามันยุติธรรมที่จะพิจารณาโฮสต์ที่เสแสร้งเหล่านั้นทั้งหมด ฟังก์ชั่นตัวช่วยที่คุณอธิบายเป็นวิธีการทั่วไปในการจัดการกับมัน แต่นั่นเป็นวิธีแก้ปัญหาสำหรับปัญหาการพกพา
Jim

5

PHP มีอยู่ทั่วไป ไม่ว่าคุณจะมีเว็บโฮสต์แปลก ๆ อะไรมันก็ไม่น่าเป็นไปได้ที่จะไม่มีการติดตั้ง PHP ไว้ในนั้น ซึ่งหมายความว่าถ้าคุณกำลังเขียนเว็บแอปที่มีการทำงานบนเซิร์ฟเวอร์ของคนอื่น ๆ คุณสามารถเสมอขึ้นอยู่กับการตั้งค่าของบาง PHP ให้บริการ (PHP 4/5 ชั้นเรียนและส่วนขยายเริ่มต้น) และฐานผู้ใช้ที่เพิ่มขึ้นขณะที่การลดการสนับสนุน


5

ความพร้อมใช้งาน เกือบทุกเว็บโฮสต์รองรับ

ความเร็วของการพัฒนา สิ่งที่คุณต้องมีคือเครื่องมือแก้ไขข้อความไม่จำเป็นต้องมีการรวบรวม

ติดตั้งง่าย แม้ว่าจะไม่ได้ติดตั้ง แต่ติดตั้งง่ายแม้มาพร้อมกับเซิร์ฟเวอร์ LAMP / WAMP

เอกสาร มีตัวอย่างมากมายกลุ่มสนับสนุนหนังสือ ฯลฯ


1

ข้อดีบางประการของ PHP:

  • การจัดการการอัปโหลดไฟล์อินพุตในตัว
  • การจัดการข้อมูลในตัวจาก GET, POST และ COOKIES
  • การจัดการเซสชันในตัว
  • เขียนเร็ว
  • ง่ายต่อการผสมโค้ดและ HTML (หมายเหตุ: นี่ยังถูกมองว่าเป็นข้อเสีย)

ตอนนี้ก็มีข้อเสียที่จ้องมองหลายประการ:

  • ไม่มีแนวคิดของตัวแปรโลคัล ... ตัวแปรเป็นโกลบอลหรือฟังก์ชันกำหนดขอบเขต สิ่งนี้จะเผาคุณในบางจุดโดยเฉพาะถ้าคุณใช้ลูป
  • ตัวแปรโกลบอลไม่สามารถใช้ได้ในขอบเขตฟังก์ชั่นเว้นแต่คุณจะขอให้พวกเขาด้วยglobalคำหลัก
  • สภาพแวดล้อมการเขียนโปรแกรมเปลี่ยนแปลงตาม php.ini ซึ่งรวมถึงการเปลี่ยนแปลงในพฤติกรรมของฟังก์ชั่นที่เฉพาะเจาะจงและอาร์เรย์ในตัว (เช่น$_GETและ$_POSTการเปลี่ยนแปลงค่าตามการmagic_quotes_gpcตั้งค่า)

1
ไม่มีใครในใจที่ถูกต้องของพวกเขาจะยังคงmagic_quotes_gpcเปิดอยู่ ฉันตั้งคำถามถึงความมีสติของคนที่เพิ่มความไร้ค่าของเครื่องยนต์ในตอนแรก
Josh K

1
"ตัวแปรทั่วโลกไม่สามารถใช้ได้ในขอบเขตของฟังก์ชันเว้นแต่คุณจะขอเฉพาะเจาะจง" - ไม่เห็นว่าเป็นข้อเสียอย่างไร มีภาษาที่ใช้วิธีนี้มีคนอื่นที่ไม่ทำ
Mchl

1
@Mchl: ภาษาส่วนใหญ่ไม่ทำเช่นนี้และเป็น gotcha แน่นอนถ้าคุณไม่รู้เกี่ยวกับมัน ด้านบนของหัวของฉัน, TCL เป็นภาษาอื่น ๆ ที่ฉันเคยใช้ที่ทำเช่นนี้
Powerlord

1
@Josh K: เซิร์ฟเวอร์หลักของ บริษัท ก่อนหน้าของฉันยังคงมีอยู่ในฐานะหัวหน้าโปรแกรมเมอร์ก่อนที่ฉันจะชอบมันและเป็นรหัส PHP เก่าที่สืบทอดมาส่วนใหญ่ที่ลอยตัวเกี่ยวกับเรื่องนี้ ไม่มีเวลาบันทึกหลายร้อยเว็บไซต์ : - /
Orbling

1
@Mchl: Ada มีแนวโน้มที่จะได้รับใช้ในกรณีที่ความล้มเหลวจะส่งผลให้ตายมีจำนวนมากตาย adaic.org/advantages/projects
Orbling

1

ฉันคิดว่าบางคนไม่ชอบ PHP เพราะคุณสามารถใช้ในแบบที่คุณชอบ / ดูเหมาะสม เพราะทุกคนสามารถใช้งานได้ง่ายมากรหัสเส็งเคร็งได้รับในโลก โปรแกรมเมอร์บางคนที่ไม่เคยทำ PHP จริง ๆ ที่นั่นอาจคิดว่ามันเป็นวิธีที่คุณทำงานกับ PHP และบางคนไม่ชอบ PHP เพราะพวกเขาชอบอย่างอื่นและกลัวสิ่งใหม่ ๆ

ฉันชอบ PHP เพราะฉันสามารถใช้งานได้เกือบทุกที่ คุณสามารถได้รับความช่วยเหลือมากมายจากเว็บและฟรี นอกจากนี้ยังมีเฟรมเวิร์กที่ดีเช่น Zend Framework แต่คนส่วนใหญ่ไม่สามารถไปถึงที่นั่นได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.