คำถามติดแท็ก php

คำถามเกี่ยวกับ PHP ซึ่งเป็นภาษาสคริปต์อเนกประสงค์ที่ใช้กันอย่างแพร่หลายซึ่งเหมาะอย่างยิ่งสำหรับการพัฒนาเว็บ

8
การใช้ <? = tag ใน PHP เป็นเรื่องที่ผิดหรือไม่?
ฉันเพิ่งเจอแท็ก PHP &lt;?= ?&gt;นี้เมื่อเร็ว ๆ นี้และฉันลังเลที่จะใช้ แต่มันก็ยากที่ฉันต้องการให้คุณทำ ฉันรู้ว่ามันคือการปฏิบัติที่ดีที่จะใช้แท็กสั้น&lt;? ?&gt;และว่าเราควรจะใช้แท็กเต็มรูปแบบ&lt;?php ?&gt;แทน แต่สิ่งที่เกี่ยวกับเรื่องนี้อย่างใดอย่างหนึ่ง: &lt;?= ?&gt;? มันจะประหยัดการพิมพ์บางส่วนและมันจะดีกว่าสำหรับการอ่านรหัส IMO ดังนั้นแทนที่จะเป็นเช่นนี้: &lt;input name="someVar" value="&lt;?php echo $someVar; ?&gt;"&gt; ฉันสามารถเขียนแบบนี้ได้ซึ่งสะอาดกว่า: &lt;input name="someVar" value="&lt;?= $someVar ?&gt;"&gt; การใช้โอเปอเรเตอร์นี้ขมวดคิ้วอยู่หรือไม่?
189 php  shortcuts 

7
คุณได้รับการว่าจ้างให้แก้ไขข้อบกพร่องเล็ก ๆ สำหรับไซต์ที่เน้นเรื่องความปลอดภัย ดูที่รหัสนั้นเต็มไปด้วยช่องโหว่ความปลอดภัย คุณทำอะไร? [ปิด]
ฉันได้รับการว่าจ้างจากใครบางคนที่จะทำงานเล็ก ๆ บนเว็บไซต์ มันเป็นเว็บไซต์สำหรับ บริษัท ขนาดใหญ่ มันมีข้อมูลที่ละเอียดอ่อนมากดังนั้นการรักษาความปลอดภัยจึงมีความสำคัญมาก เมื่อวิเคราะห์รหัสฉันพบว่ามันเต็มไปด้วยช่องโหว่ด้านความปลอดภัย - อ่านไฟล์ PHP จำนวนมากที่ส่งผู้ใช้รับ / โพสต์เข้าสู่คำขอ mysql และคำสั่งของระบบโดยตรง ปัญหาคือคนที่สร้างเว็บไซต์ให้เขาเป็นโปรแกรมเมอร์กับครอบครัวและเด็ก ๆ ที่ต้องพึ่งพางานนั้น ฉันไม่สามารถพูดได้ว่า: "เว็บไซต์ของคุณเป็นสวนสนุกตัวเล็กสคริปต์ให้ฉันทำซ้ำสำหรับคุณและคุณจะดี" คุณจะทำอะไรในสถานการณ์นี้ ปรับปรุง: ฉันทำตามคำแนะนำที่ดีที่นี่และรายงานอย่างสุภาพต่อผู้พัฒนาว่าฉันพบข้อบกพร่องด้านความปลอดภัยที่เป็นไปได้ในไซต์ ฉันชี้ให้เห็นสายและบอกว่าอาจมีช่องโหว่ที่เป็นไปได้สำหรับการโจมตีการฉีด SQL ที่นั่นและถามว่าเขารู้เกี่ยวกับเรื่องนี้หรือไม่ เขาตอบว่า: "แน่ใจ แต่ผมคิดว่าการที่จะใช้ประโยชน์จากมันโจมตีควรมีข้อมูลเกี่ยวกับโครงสร้างของฐานข้อมูลนั้นฉันต้องเข้าใจดีกว่า" อัปเดต 2: ฉันบอกว่านั่นไม่ใช่กรณีเสมอไปและแนะนำให้เขาติดตามลิงก์คำถาม Stack Overflow นี้เพื่อจัดการกับมันอย่างถูกต้อง: จะป้องกัน SQL injection ใน PHP ได้อย่างไร? เขาบอกว่าเขาจะศึกษาและขอบคุณฉันที่บอกเขามาก่อน ฉันคิดว่าส่วนของฉันเสร็จแล้วขอบคุณพวกคุณ

30
คุณต้องการมีฟีเจอร์อะไรใน PHP? [ปิด]
เนื่องจากเป็นช่วงเทศกาลวันหยุดและทุกคนต้องการสิ่งนี้ฉันสงสัย - ฟีเจอร์ภาษาที่คุณต้องการจะเพิ่มใน PHP คืออะไร? ฉันสนใจคำแนะนำ / ความปรารถนาที่เป็นประโยชน์สำหรับภาษานี้ โดยการปฏิบัติฉันหมายถึง: สิ่งที่สามารถทำได้ในทางปฏิบัติ (ไม่ใช่: "ฉันหวังว่า PHP จะเดาว่ารหัสของฉันหมายถึงอะไรและแก้ไขข้อบกพร่องสำหรับฉัน" หรือ "ฉันหวังว่าโค้ดใด ๆ จะทำงานภายใต้ 5ms") บางสิ่งที่ไม่ต้องการเปลี่ยน PHP เป็นภาษาอื่น (ไม่ใช่: "ฉันหวังว่าพวกเขาจะลบเครื่องหมาย $ และใช้พื้นที่แทนวงเล็บปีกกา" หรือ "ฉันหวังว่า PHP ถูกคอมไพล์พิมพ์แบบสแตติกและมี # อยู่ในชื่อ") สิ่งที่ไม่ต้องการทำลายรหัสที่มีอยู่ทั้งหมด (ไม่ใช่: "ลองเปลี่ยนชื่อ 500 ฟังก์ชั่นและเปลี่ยนลำดับพารามิเตอร์สำหรับพวกเขา") สิ่งที่ไม่เปลี่ยนภาษาหรือบางแง่มุมที่น่าสนใจของมัน (ไม่ได้ "ผมต้องการมีส่วนขยายเพื่อรองรับการ XYZ โปรโตคอล" หรือ "ฉันหวังว่าข้อผิดพลาด # 12345 ได้รับการแก้ไขในที่สุด") บางสิ่งที่มากกว่าคำพูดโวยวาย (ไม่ใช่: "ฉันหวังว่า …

21
“ อย่าเขียนโปรแกรมหลังจากเริ่มต้นอาชีพไปสองสามปี” นี่เป็นคำแนะนำที่ยุติธรรมหรือไม่? [ปิด]
ฉันเป็นนักพัฒนาที่มีประสบการณ์เล็กน้อยมีประสบการณ์เกี่ยวกับ PHP ประมาณ 5 ปีและค่อนข้างน้อยใน Java, C # และพยายามเรียนรู้ Python ในปัจจุบัน ตั้งแต่เริ่มต้นอาชีพของฉันในฐานะโปรแกรมเมอร์ฉันได้รับการบอกเล่าจากผู้เขียนโปรแกรมทุกคนในตอนนี้ว่าการเขียนโปรแกรมเหมาะสำหรับช่วงต้นปีสองสามปีของอาชีพ (ส่วนใหญ่ใช้เวลา 5 ปี) และต้องเปลี่ยนทิศทางหลังจาก มัน. เหตุผลที่พวกเขานำเสนอรวมถึงอาการปวดหัวและแรงกดดันที่เกี่ยวข้องกับการเขียนโปรแกรม พวกเขายังบอกด้วยว่าโปรแกรมเมอร์เขียนโปรแกรมไม่ค่อยเข้าสังคมและมักไม่ต้องการให้เวลากับครอบครัว ฯลฯ และโดยเฉพาะอย่างยิ่ง "โอ้มาเถอะคุณไม่สามารถเขียนโปรแกรมตลอดชีวิตของคุณได้!" ฉันค่อนข้างสับสนที่นี่และต้องถามคนอื่นเกี่ยวกับเรื่องนี้ ถ้าฉันออกจากการเขียนโปรแกรมแล้วฉันจะทำอย่างไร? ฉันคิดว่าการสอนอาจเป็นทางเลือกที่ดีในกรณีนี้ แต่อาจจะต้องได้รับปริญญาเอกก่อน นอกจากนี้ยังอาจเป็นที่น่าสังเกตว่าในประเทศของฉัน (ปากีสถาน) ชีวิตของโปรแกรมเมอร์ไม่ค่อยดีนักโดยปกติแล้วพวกเขาจะต้องให้เวลาเพิ่ม 2-3 ชั่วโมงในสำนักงานเพื่อให้งานเขียนโปรแกรมเร่งด่วน ฉันรู้สึกว่าสถานการณ์ค่อนข้างคล้ายกันในประเทศและภูมิภาคอื่น ๆ เช่นกัน คุณคิดว่าเป็นคำแนะนำที่เป็นธรรมในการเปลี่ยนอาชีพจากการเขียนโปรแกรมเป็นอย่างอื่นหลังจากใช้เวลา 5 ปีในสาขานี้หรือไม่? UPDATE โอ้ว้าว ... ฉันไม่เคยรู้เลยว่าผู้คนจะมีประสบการณ์มากกว่า 40 ปีในสาขานี้ ฉันทั้งตื่นเต้นและประหลาดใจเมื่อเห็นว่าผู้คนกำลังทำมันตั้งแต่ปี 1971 ... นั่นหมายถึง 15 ปีก่อนที่ฉันจะเกิด! เป็นเรื่องดีที่ได้พูดคุยกับคนที่มีประสบการณ์เราไม่ได้รับโอกาสที่นี่ในปากีสถาน …

3
ฉันจะทดสอบทักษะ PHP ในการสัมภาษณ์ได้อย่างไร [ปิด]
บริษัท ของฉันต้องจ้างนักพัฒนา PHP แต่ไม่มีใครมีความรู้ PHP ใน บริษัท ของฉันและเราพบว่ายากที่จะทดสอบทักษะ PHP หากเป็นผู้พัฒนา C / Java ฉันจะขอให้เขาเขียนการนำ Game of Life ไปใช้อย่างรวดเร็ว แต่ PHP เป็นภาษาที่แตกต่างอย่างสิ้นเชิง ฉันเห็นการทดสอบนี้ด้วยความสนใจ: http://vladalexa.com/scripts/php/test/test_php_skill.html ใครมีข้อเสนอแนะเพิ่มเติม
58 php  interview 

12
ถือว่าเป็นการใช้งาน PHP ที่ไม่ดีหรือไม่
หลายต่อหลายครั้งบนเว็บไซต์นี้ฉันเห็นคนพยายามทำสิ่งนี้: &lt;script type="text/javascript"&gt; $(document).ready(function(){ $('&lt;?php echo $divID ?&gt;').click(funtion(){ alert('do something'); }); }); &lt;/script&gt; ฉันไม่คิดว่านี่เป็นรูปแบบที่ผู้คนตกอยู่ในความเป็นจริง ต้องมีบทเรียนหรือสื่อการเรียนรู้ที่แสดงสิ่งนี้มิฉะนั้นเราจะไม่เห็นมันมากนัก สิ่งที่ฉันถามคือฉันกำลังทำเรื่องนี้มากเกินไปหรือเป็นการปฏิบัติที่เลวร้ายจริง ๆ ? แก้ไข: ได้ พูดคุยกับเพื่อนของฉันเกี่ยวกับเรื่องนี้ที่มักจะใส่ทับทิมใน JavaScript ของเขาและเขานำประเด็นนี้ขึ้นมา การวางค่าคงที่ของแอพพลิเคชั่นในจาวาสคริปต์ของคุณนั้นเป็นแบบไดนามิกหรือไม่ดังนั้นคุณไม่ต้องแก้ไขสองไฟล์ ตัวอย่างเช่น... MYAPP.constants = &lt;php echo json_encode($constants) ?&gt;; ยังเป็นการตกลงที่จะเข้ารหัสข้อมูลที่คุณวางแผนที่จะใช้ในไลบรารีโดยตรง ChartLibrary.datapoints = &lt;php echo json_encode($chartData) ?&gt;; หรือเราควรโทร AJAX ทุกครั้ง?

4
หลักการตั้งชื่อที่โดดเด่นสำหรับตัวแปรใน PHP คือ camelcase หรือขีดล่าง? [ปิด]
ฉันทามติดูเหมือนว่าควรจะทำตามแบบแผนของแพลตฟอร์มที่พวกเขากำลังพัฒนา ดู: ขีดเส้นใต้หรืออูฐ? ข้อกำหนดการตั้งชื่อ: camelCase กับ underscore_case หรือไม่ อย่างไรก็ตาม, PHP ดูเหมือนจะไม่ปฏิบัติตามอย่างเคร่งครัดการประชุมใด ๆ ภายใน (ความผิดไม่มี) แม้สำหรับวิธีการและฟังก์ชั่น (เช่นmysqli::set_local_infile_default, PDOStatement::debugDumpParams); อย่างไรก็ตามเครื่องหมายขีดล่างดูเหมือนจะโดดเด่นในชื่อฟังก์ชัน อย่างไรก็ตามสิ่งที่ฉันไม่สามารถหาได้คือสิ่งนี้: อะไรคือหลักการตั้งชื่อที่เด่นชัดสำหรับตัวแปรใน PHP?

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

5
ควรใช้ PHP หรือ ASP.NET เมื่อใด [ปิด]
ฉันได้ทำงานอย่างกว้างขวางในการพัฒนาเว็บแอปพลิเคชันโดยใช้ PHP และ ASP.NET แต่หนึ่งในคำถามที่ฉันถามลูกค้าอย่างต่อเนื่องคือการก้าวไปข้างหน้ากับเว็บไซต์ php หรือเว็บไซต์ asp.net ดังนั้นสิ่งแรกที่นึกถึงคือการตอบคำถามเช่นนี้: PHP เป็นโอเพ่นซอร์สและ ASP.NET มาจาก Microsoft โดยปกติหลังจากสิ่งที่กล่าวว่าลูกค้ามีหน้าตาเปล่า ๆ เห็นได้ชัดว่าความจริงที่ว่าหนึ่งเป็นโอเพนซอร์สและอื่น ๆ ที่ไม่ได้ทำให้พวกเขากลัว และด้วยเหตุผลที่ดีเพราะเมื่อฉันได้ยินครั้งแรกมันไม่ได้บอกอะไรมากมาย ฉันรู้จากการทำงานกับทั้งคู่ว่าแต่ละคนมีความแตกต่างกันเมื่อมาถึงการพัฒนาเว็บไซต์ คำถามของฉันคือความแตกต่างระหว่าง ASP.NET และ PHP เท่าที่ คุณสมบัติ ความปลอดภัย Extendability กรอบ เวลาในการพัฒนาโดยเฉลี่ย ฉันกำลังพยายามรวบรวมรายการของข้อเท็จจริงเพื่อให้สามารถเปรียบเทียบกับลูกค้าเพื่อให้ตัวเลือกที่มีข้อมูลบนแพลตฟอร์มการพัฒนาที่เหมาะสมสามารถทำได้

7
พิมพ์ตัวแปรการหล่อใน PHP, อะไรคือเหตุผลเชิงปฏิบัติสำหรับการทำเช่นนี้?
PHP เป็นส่วนใหญ่ของเราทราบว่ามีการพิมพ์ที่อ่อนแอ สำหรับคนที่ไม่ทำ PHP.net พูดว่า: PHP ไม่ต้องการคำนิยามประเภทที่ชัดเจน (หรือสนับสนุน) ในการประกาศตัวแปร ชนิดของตัวแปรถูกกำหนดโดยบริบทที่ใช้ตัวแปรนั้น ไม่ว่าจะชอบหรือเกลียด PHP ก็สร้างตัวแปรใหม่ขึ้นมาทันที ดังนั้นรหัสต่อไปนี้ถูกต้อง: $var = "10"; $value = 10 + $var; var_dump($value); // int(20) PHP ยังอนุญาตให้คุณสร้างตัวแปรอย่างชัดเจนเช่น: $var = "10"; $value = 10 + $var; $value = (string)$value; var_dump($value); // string(2) "20" ทั้งหมดนี้ยอดเยี่ยม ... แต่สำหรับชีวิตของฉันฉันไม่สามารถเข้าใจถึงเหตุผลที่ปฏิบัติได้สำหรับการทำเช่นนี้ ฉันไม่มีปัญหากับการพิมพ์ที่แข็งแกร่งในภาษาที่รองรับเช่น Java ไม่เป็นไรและฉันเข้าใจอย่างถ่องแท้ นอกจากนี้ฉันรู้และเข้าใจถึงประโยชน์ของการบอกกล่าวชนิดในพารามิเตอร์ฟังก์ชัน ปัญหาที่ฉันมีกับการคัดเลือกนักแสดงอธิบายโดยข้อความข้างต้น …

6
เหตุใด Facebook จึงแปลงรหัส PHP เป็น C ++ [ปิด]
ฉันอ่านว่า Facebook เริ่มต้นใน PHP และจากนั้นเพื่อเพิ่มความเร็วพวกเขาก็รวบรวม PHP เป็นรหัส C ++ หากเป็นกรณีนี้ทำไมพวกเขาไม่ทำ: เพียงแค่เขียนโปรแกรมใน c ++? แน่นอนว่าจะต้องมีข้อผิดพลาด / ข้อบกพร่องบางอย่างเมื่อกดปุ่มวิเศษแปลภาษาที่พอร์ต PHP ไปยังรหัส c ++ ใช่ไหม? ถ้าตัวแปลงที่น่าประทับใจนี้ใช้งานได้ดีทำไมถึงติดกับ PHP เลย? ทำไมไม่ใช้อะไรอย่าง Ruby หรือ Python ล่ะ? หมายเหตุ - ฉันเลือกทั้งสองอย่างนี้แบบสุ่ม แต่ส่วนใหญ่เป็นเพราะเกือบทุกคนบอกว่าการเข้ารหัสในภาษาเหล่านั้นเป็น "ความสุข" ดังนั้นทำไมไม่พัฒนาเป็นภาษาที่ยอดเยี่ยมแล้วกดปุ่มวิเศษ c ++ รวบรวม?
42 c++  php  compiler  facebook 

7
ทำไม Zend Framework จึงซับซ้อน?
ฉันเป็นนักพัฒนาเว็บและมีประสบการณ์ในการพัฒนาเว็บแอปพลิเคชั่นหลายตัวใน PHP ฉันมีความคิดในการพัฒนาผลิตภัณฑ์สำหรับตัวเองและตัดสินใจที่จะใช้เฟรมเวิร์กที่ใช้ MVC เพราะฉันชอบแนวคิดของ MVC มากและวิธีที่หนึ่งสามารถจัดการและแก้ไขแอปพลิเคชันได้อย่างง่ายดาย ฉันเลือก Zend Framework และดูเหมือนยากกว่าการเรียนรู้ภาษาโปรแกรมใหม่ มีหลายสิ่งหลายอย่างเกิดขึ้นพร้อมกันแม้กระทั่งเพื่อเรียกใช้แอปพลิเคชันขนาดเล็ก แนวคิดการกำหนดเส้นทางในทำนองเดียวกันนั้นซับซ้อนมากเนื่องจากเป็นเรื่องใหม่สำหรับโปรแกรมเมอร์หลัก ฉันรู้ว่าพวกที่นี่อ่านคำถามหลายพันคำถามแบบเดียวกับที่ฉันถาม แต่ฉันไม่ต้องการเรียนรู้ Zend Framework ข้ามคืน ฉันยินดีที่จะให้เวลามากที่สุดเท่าที่มันต้องการ แต่จนถึงขณะนี้มันไม่มีเหตุผลสำหรับฉัน มีหลายพันชั้นเรียนในห้องสมุด Zend แต่ noob จะทราบได้อย่างไรว่าจะใช้ class specfic ได้อย่างไรและใช้อย่างไร ฉันยังคงพบว่ามันยากมากที่จะเข้าใจ bootstrap ของ Zend Framework และการแมป ฉันอ่านคู่มือปฏิบัติตามและสิ่งต่าง ๆ เริ่มต้นทำงาน แต่ฉันก็ไม่ทราบว่ามันเกิดขึ้นจริง ๆ ฉันยังไม่มีเงื่อนงำว่าแบบจำลองมุมมองและตัวควบคุมทำงานร่วมกันอย่างไรและวิธีการวางแผนแอปพลิเคชันใน Zend Framework เมื่อพูดถึง core php ฉันมีความคิดในใจว่าจะต้องทำอะไรและแปลมันง่ายกว่าในรหัส แต่ใน Zend Framework ฉันไม่รู้วิธีแปลความคิดของฉัน

10
อะไรคือสิ่งที่เลวร้ายมากเมื่อเทียบกับ goto เมื่อใช้กับกรณีที่ชัดเจนและเกี่ยวข้อง
ฉันได้รู้จักกันเสมอว่าgotoเป็นสิ่งที่ไม่ดีถูกขังอยู่ในห้องใต้ดินที่ใดที่หนึ่งไม่เคยที่จะมองเห็นได้ดี gotoแต่ผมวิ่งเข้าไปในตัวอย่างรหัสในวันนี้ว่าทำให้รู้สึกดีกับการใช้งาน ฉันมี IP ที่ฉันต้องตรวจสอบว่าอยู่ในรายการ IP หรือไม่จากนั้นดำเนินการกับรหัสต่อไปมิฉะนั้นจะเกิดข้อยกเว้น &lt;?php $ip = '192.168.1.5'; $ips = [ '192.168.1.3', '192.168.1.4', '192.168.1.5', ]; foreach ($ips as $i) { if ($ip === $i) { goto allowed; } } throw new Exception('Not allowed'); allowed: ... ถ้าฉันไม่ได้ใช้gotoฉันก็ต้องใช้ตัวแปรบางอย่างเช่น $allowed = false; foreach ($ips as $i) { if ($ip === …
40 php  goto 

11
ทำไมการป้องกัน SQL injection ไม่ให้ความสำคัญสูง?
ใน Stack Overflow ฉันเห็นโค้ด PHP จำนวนมากในคำถามและคำตอบที่มีคำสั่ง MySQL ที่มีความเสี่ยงสูงต่อการถูกโจมตีจากการฉีด SQL แม้ว่าจะมีวิธีการพื้นฐานที่ใช้กันอย่างแพร่หลายมานานกว่าทศวรรษ มีเหตุผลหรือไม่ที่ข้อมูลโค้ดประเภทนี้ยังใช้อยู่ในปัจจุบัน?
39 php  mysql 

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

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