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

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

4
ฉันจะส่งข้อมูลวิธีการเชิงวัตถุใน PHP ได้อย่างไร
ฉันพบว่าแม้เมื่อทำงานกับกรอบ MVC (เช่น CodeIgniter) ฉันมักหันไปใช้อาร์เรย์ที่ซ้อนกันมากกว่าวัตถุ สิ่งนี้ไม่เป็นไปตามความเข้าใจในเชิงวัตถุของฉัน ตัวอย่างเช่นถ้าฉันจะย้ายรหัสไปยัง Java แล้วฉันจะไม่ฝันที่จะผ่านอาร์เรย์ (หรือเวกเตอร์หรืออะไรก็ตาม) รอบ ๆ แบบนั้น ฉันสงสัยว่านี่เป็นวิธีที่เหมาะสมในการจัดการข้อมูลหรือไม่ มีเหตุผลว่าทำไมอาร์เรย์ถูกส่งผ่านอย่างนี้ใน PHP หรือทำไมวัตถุไม่ได้ใช้? วิธีที่ดีที่สุดในการส่งผ่านข้อมูลคืออะไร

7
ฉันจะทำให้โปรแกรมเมอร์หยุดเขียนโค้ดที่เสี่ยงต่อการฉีด SQL ได้อย่างไร
บางครั้งคุณก็ยุ่งและมอบหมายงานเล็ก ๆ ให้โปรแกรมเมอร์อาวุโส แต่ถ้าคุณไม่ใส่ใจอย่างใกล้ชิดคุณจะพบว่าตัวเองใช้โค้ดประเภทนี้ในการผลิต: class DivtoggleController extends Zend_Controller_Action { public function closeAction() { /* ... code removed for brevity ... */ $req = $this->getRequest(); $formData = $req->getPost(); $d = $formData['div']; $i = $formData['id']; $dm = new Model_DivtoggleManager(); $rs = $dm->setDivToggleById($d, $i); } } class Model_DivtoggleManager extends Zend_Db_Table { public function …
11 php  sql  training 

7
มีใครบ้างที่เคยใช้ Python / Ruby และ PHP มาเป็นเวลานานและยังต้องการ PHP อีกหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ฉันมักจะหลงโดยบทความปกป้อง PHP และข้อโต้แย้งที่ใช้ บ่อยครั้งที่ผู้เขียนบทความประเภทนี้ไม่ได้กล่าวถึงประสบการณ์ที่พวกเขามีกับภาษาอื่น ๆ โดยส่วนตัวแล้วฉันคิดว่ามันยากที่จะจินตนาการว่าใครบางคนจะรู้จัก Python หรือ Ruby และ PHP ในระดับสูงและยังคงชอบ PHP ดังนั้นหากใครเหมาะกับคำอธิบายนี้ฉันจะสนใจที่จะฟังว่าทำไมคุณถึงชอบ PHP ในภาษาเหล่านี้

4
เกิดอะไรขึ้นกับ PHP 6 [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันตื่นเต้นกับการเปลี่ยนแปลงใน PHP 6 ที่แสดงตัวอย่างใน PHP 5.3+ อย่างไรก็ตามฉันสงสัยว่าทำไมต้องใช้เวลานานในการปล่อย PHP 6 หนังสือเกี่ยวกับหนังสือเล่มนี้ได้รับการตีพิมพ์ตั้งแต่ปี 2551 และมีการประกาศให้ทราบตั้งแต่ปี 2550 แต่ฉันยังไม่เคยได้ยินเกี่ยวกับอัลฟ่าหรือเบต้า เหตุใดจึงใช้เวลานานกว่าจะปล่อยออกมา หรือว่ามันจะไปกับทุกภาษาเมื่อพวกเขาเปลี่ยนไปสู่รุ่นใหญ่ที่ฉันคิดว่ามันต้องใช้เวลาประมาณ 4-5 ปีกว่าจะปล่อย?

2
ข้อยกเว้นใน DDD
ฉันกำลังเรียน DDD และฉันกำลังคิดจะทิ้งข้อยกเว้นในบางสถานการณ์ ฉันเข้าใจว่าวัตถุไม่สามารถเข้าสู่สถานะที่ไม่ดีดังนั้นที่นี่ยกเว้นได้ดี แต่ในหลาย ๆ ตัวอย่างมีข้อยกเว้นการขว้างปาเช่นถ้าเราพยายามเพิ่มผู้ใช้ใหม่ที่มีอีเมลที่มีอยู่ในฐานข้อมูล public function doIt(UserData $userData) { $user = $this->userRepository->byEmail($userData->email()); if ($user) { throw new UserAlreadyExistsException(); } $this->userRepository->add( new User( $userData->email(), $userData->password() ) ); } ดังนั้นหากผู้ใช้ที่มีอีเมลนี้มีอยู่เราสามารถยกเว้นบริการแอพพลิเคชั่นได้ แต่เราไม่ควรควบคุมการทำงานของแอปพลิเคชันโดยใช้บล็อกการลองจับ วิธีที่ดีที่สุดสำหรับสิ่งนี้คืออะไร?

6
DDD บริการฉีดในวิธีการนิติบุคคลที่เรียก
คำถามแบบสั้น มันอยู่ในแนวปฏิบัติที่ดีที่สุดของ DDD และ OOP ในการฉีดบริการกับการเรียกเมธอดเอนทิตีหรือไม่? ตัวอย่างรูปแบบยาว สมมติว่าเรามีกรณี Order-LineItems แบบคลาสสิกใน DDD ที่เรามี Domain Entity ชื่อ Order ซึ่งยังทำหน้าที่เป็น Aggregate Root และ Entity นั้นไม่เพียง แต่ประกอบไปด้วย Value Objects แต่ยังเป็นคอลเลกชันของรายการโฆษณา หน่วยงาน สมมติว่าเราต้องการไวยากรณ์ที่คล่องแคล่วในแอปพลิเคชันของเราเพื่อให้เราสามารถทำสิ่งนี้ (สังเกตไวยากรณ์ในบรรทัดที่ 2 ซึ่งเราเรียกgetLineItemsเมธอด) $order = $orderService->getOrderByID($orderID); foreach($order->getLineItems($orderService) as $lineItem) { ... } เราไม่ต้องการฉีด LineItemRepository ใด ๆ ลงใน OrderEntity เนื่องจากเป็นการละเมิดหลักการหลายอย่างที่ฉันสามารถนึกได้ แต่ความคล่องแคล่วของวากยสัมพันธ์เป็นสิ่งที่เราต้องการจริงๆเพราะมันง่ายต่อการอ่านและบำรุงรักษารวมถึงการทดสอบ พิจารณาโค้ดต่อไปนี้โดยสังเกตวิธีgetLineItemsในOrderEntity: interface …

8
เราควร debug เว็บแอปพลิเคชั่น PHP อย่างปลอดภัยโดยไม่เปิดเผยความลับต่อคู่แข่งอย่างไร
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ เมื่อเร็ว ๆ นี้ฉันทำโปรแกรม ฉันลืมลบรหัส 2 บรรทัด ความผิดพลาดนั้นมีค่าฉัน $ 800 ต่อวันทุกวัน ฉันเขียนโปรแกรมด้วย PHP หากผู้เข้าชมใช้พรอกซีมันจะเปลี่ยนเส้นทางที่อื่น การใช้ดีบักเกอร์เป็นไปไม่ได้เพราะบางรหัสมี ioncube เนื่องจากโปรแกรมนั้นเปลี่ยนเส้นทางไปที่อื่นไม่ว่าจะเกิดอะไรขึ้นก็ยากที่จะดูว่าส่วนใดของรหัสที่ถูกประมวลผล ดังนั้นฉันจึงใส่ข้อมูลการแก้ไขข้อบกพร่องทุกที่ ฉันคิดว่าฉันจะลบพวกเขาในภายหลัง วิธีที่เป็นธรรมชาติที่สุดในการดีบักคือการใส่ข้อมูลการดีบักลงในไฟล์ ปัญหาคือฉันมักจะใช้ proxy ดังนั้นหลังจากที่ฉันเปลี่ยนโปรแกรมฉันมักจะต้องดาวน์โหลดไฟล์ข้อความด้วย filezilla บ่อยครั้งที่ไฟล์ข้อความไม่แสดงสิ่งที่ฉันคิดว่าควรแสดง ในที่สุดฉันก็ตัดสินใจที่จะแสดงข้อผิดพลาดบนเว็บ ฉันคิดว่ามีโหมดการแก้ไขข้อบกพร่อง อย่างไรก็ตามฉันกลัวว่าฉันจะลืมลบข้อมูลการดีบัก ฉันถือว่ามีโหมดการดีบักหากผู้ใช้ทำเช่น? debuggingmode = 1 เช่น อย่างไรก็ตามฉันรู้สึกหวาดระแวงว่าคู่แข่งของฉันสามารถเดาคำหลักลับได้ ฉันลบข้อมูลการแก้ไขข้อบกพร่องส่วนใหญ่ ฉันลืมที่จะลบมันและอันนั้นจะปรากฏขึ้นก็ต่อเมื่อผู้ใช้ใช้พรอกซีจากประเทศที่ถูกต้อง ปรากฎว่าฉันไม่มีพร็อกซีจากประเทศที่ถูกต้องและไม่ทราบว่า หลังจากโปรแกรมใช้งานได้ 24 ชั่วโมงฉันอัพโหลดไฟล์นั้นไปยังโดเมนหลักของฉัน คู่แข่งของฉันใช้พรอกซีดูรหัสการดีบัก เขาคัดลอกความคิดและนั่นคือวิธีที่ฉันสูญเสีย $ 800 ต่อวัน เมื่อมองย้อนกลับไปฉันมีช่วงเวลาที่ยากลำบากในการดูว่าฉันไปไหนผิด ฉันระมัดระวังเป็นพิเศษ แต่มันก็เกิดขึ้น …
11 php  debugging 

1
ความสัมพันธ์ของ Zend กับ PHP คืออะไร?
อะไรคือความสัมพันธ์ระหว่าง Zend กับ PHP? ฉันไม่ได้หมายถึงกรอบงาน แต่เป็น บริษัท เอง พวกเขาเป็นคนเฝ้าประตูหรือผู้พิทักษ์แห่งการเรียงลำดับ ฉันเพิ่งได้อ่าน PHP และอื่น ๆ ที่ไม่ใช่ต้องการความรู้ของ C เพื่อขยายคุณจำเป็นต้องเรียนรู้ Zend APIs แต่เมื่อคุณเริ่มต้นด้วย PHP คุณไม่จำเป็นต้องรู้อะไรเลย "Zend" และสิ่งนี้ก็เหมือนกันสำหรับกรอบที่ไม่ใช่ Zend เช่น Cake และ CodeIgniter ดังนั้นฉันจึงสับสนและอยากรู้อยากเห็นเมื่อรู้ว่า Zend เริ่มมีความสำคัญในการใช้ PHP

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

3
วิธีการใช้ RESTful API ภายนอกด้วย Symfony
เรากำลังสร้างสถาปัตยกรรม Microservice สำหรับโครงการของเราโดยส่วนใหญ่แล้วแอพพลิเคชั่นส่วนหน้าของ Symfony จะโต้ตอบกับ RESTful APIs ส่วนหลัง ปัญหาคือวิธีนี้กำลังทำลายการจัดการเอนทิตี้ของ Symfony ที่อาศัยหลักคำสอนกับฐานข้อมูลเป็นอย่างมาก โดยที่ Symfony มักจะจัดการเอนทิตีกับ Doctrine โดยอัตโนมัติงานส่วนใหญ่สิ่งนี้ไม่สามารถทำซ้ำได้ง่ายเมื่อเราต้องเข้าถึงข้อมูลภายนอกจาก API ตัวอย่างเช่นกับเอนทิตีของลูกค้า: ด้วยการใช้ Doctrine เราต้องกำหนดคลาสลูกค้าของเราและตอนนี้มันเป็นเรื่องง่ายที่จะสร้างปรับปรุงเรียกลูกค้าของเรา การใช้วิธี REST API ลูกค้าสามารถเข้าถึงได้ผ่าน API แต่เรามีงานจำนวนมากเพื่อกำหนดวิธีสร้างไคลเอ็นต์ (POST), อัปเดต (PUT), ดึง (GET) ฯลฯ เพื่อให้ลูกค้าสังเกตเห็นมีการใช้งานโดยแอปพลิเคชั่นหลายแห่งไม่เพียง แต่แอพพลิเคชั่นส่วนหน้าเท่านั้นดังนั้นจึงเป็น API เฉพาะ เราควรสร้างคลาสที่มีวิธีคล้ายเอนทิตีที่ซ่อนความซับซ้อนในการเรียก API การนำเข้าข้อมูล API ทั้งหมดในพื้นที่และเข้าถึงพวกเขาผ่าน Doctrine หรือวิธีอื่นใด?

1
ระบบแจ้งเตือนเครือข่ายสังคม
พื้นหลัง ฉันกำลังทำงานกับแอพสำหรับลูกค้าที่มีคุณสมบัติเครือข่ายสังคมบางอย่าง ตอนแรกฉันพัฒนามือถือส่วนหน้า แต่สถานการณ์ก็ทำให้ฉันต้องรับผิดชอบด้านการพัฒนาด้านหลังเช่นกัน ในฐานะที่เป็นพื้นหลังทั่วไประบบของเราอนุญาตให้ผู้ใช้ติดตามผู้ใช้รายอื่นและรับการแจ้งเตือนเกี่ยวกับสิ่งที่พวกเขากำลังติดตามดังที่คุณคาดหวังจากเครือข่ายสังคมออนไลน์ ข้อแม้คือว่าจะมีเพียงผู้ใช้ชุดย่อยขนาดเล็ก (อย่างน้อยไม่กี่ร้อย) โดยมีความคาดหวังว่าฐานผู้ใช้ส่วนใหญ่จะติดตามบุคคลเหล่านี้อย่างน้อยหนึ่งคน ทางด้าน UI เราจะมีปุ่มแจ้งเตือนพร้อมตัวเลขและการคลิกปุ่มจะนำคุณไปยังหน้าจอการแจ้งเตือน ปัญหา ฉันค้นคว้ากลยุทธ์ในการใช้งานการแจ้งเตือนและทรัพยากรส่วนใหญ่ที่ฉันพบพบว่าสร้างตารางการแจ้งเตือนหนึ่งตารางขึ้นไปในฐานข้อมูล (ตัวอย่างที่ฉันชอบคือคำตอบที่ยอมรับได้ที่นี่: /programming/9735578/building-a-notification-system ) สิ่งที่ทิ้งฉันไปคือกลยุทธ์การขับเคลื่อนฐานข้อมูลส่วนใหญ่สำหรับการแจ้งเตือนจำเป็นต้องแทรกแถวสำหรับการแจ้งเตือนแต่ละรายการสำหรับผู้ติดตามแต่ละคน ดังนั้นหากคนนับพันติดตามแซลลี่เราจะแทรกหนึ่งพันแถวลงในตารางที่เกี่ยวข้อง ปรับขนาดได้หรือไม่ จะเกิดอะไรขึ้นถ้าเราไปถึงจุดที่ผู้ใช้หลายสิบหรือหลายแสนคนติดตาม Sally และเธอกำลังโพสต์ไม่กี่โหลต่อวัน แนวคิดดั้งเดิมของฉันคือการจัดการทุกอย่างด้วยข้อความค้นหา: หมายเลขบนปุ่มแจ้งเตือนจะได้รับโดยขอจำนวนแถวของเนื้อหาที่โพสต์เร็วกว่าครั้งล่าสุดที่คุณเยี่ยมชมหน้าจอการแจ้งเตือนในขณะที่การแจ้งเตือนแต่ละรายการจะถูกสร้างขึ้น เมื่อคุณเยี่ยมชมหน้าจอการแจ้งเตือน วิธีนี้จะไม่ต้องมีการเขียนหรือการเก็บข้อมูลเพิ่มเติม แต่ยืดหยุ่นและอาจค้อนเซิร์ฟเวอร์ค่อนข้างยาก ติดตั้ง แบ็กเอนด์ (ตามที่กำหนดโดยผู้พัฒนาก่อนหน้านี้) ใช้CodeIgniterและฐานข้อมูลMySQL ขณะนี้กำลังทำงานบนบัญชีโฮสติ้งที่ใช้ร่วมกันแบบเส็งเคร็ง GoDaddy แต่ฉันคิดว่า (หวังว่า) สิ่งนี้จะได้รับการอัปเกรดก่อนที่เราจะเข้าสู่การผลิตและแพ็คเกจโฮสติ้งจะถูกปรับสัดส่วนตามการเติบโตของผู้ใช้ ปัจจุบันส่วนหน้าของเราคือแอพมือถือ แต่เราวางแผนที่จะสร้างเว็บไซต์ในภายหลัง ฉันไม่ได้กังวลเกี่ยวกับการได้รับการอัพเดตแบบพุชแบบเรียลไทม์จากเซิร์ฟเวอร์เกี่ยวกับการแจ้งเตือน ภาคผนวก ฉันไม่เชี่ยวชาญในแบ็กเอนด์และฉันอยู่ในหัวของฉันในแผนกนั้น ลูกค้ารู้และฉันพยายามอย่างเต็มที่ที่จะอธิบายขอบเขตของโครงการในลักษณะนี้ แต่พวกเขาทำให้มันชัดเจนว่า ณ จุดนี้พวกเขาจะไม่ไว้ใจคนอื่นให้ทำงานในโครงการ เราอาจมีงานอีกเดือนที่ต้องทำก่อนที่จะเริ่มเพิ่มผู้ทดสอบและฉันจะได้รับการวัดประสิทธิภาพใด ๆ ฉันไม่สามารถประมาณจำนวนผู้ใช้ที่เราอาจมีหรือฮาร์ดแวร์ที่เราอาจจะเปิดตัวในอีก 5 ปีข้างหน้า …

2
วัตถุคำขอ HTTP / ตอบสนองควรจะไม่เปลี่ยนรูป?
ฉันคิดว่ามันปลอดภัยที่จะบอกว่าเว็บแอปพลิเคชั่นส่วนใหญ่มีพื้นฐานมาจากกระบวนทัศน์คำขอ / การตอบสนอง PHP ไม่เคยมีสิ่งที่เป็นนามธรรมของวัตถุเหล่านี้ กลุ่มหนึ่งพยายามแก้ไขสิ่งนี้: https://github.com/php-fig/fig-standards/blob/master/proposed/http-message.md อย่างไรก็ตามพวกเขาได้รับการติดตามด้านการเปลี่ยนแปลงไม่ได้ ในอีกด้านหนึ่งวัตถุขอ / ตอบสนองโดยทั่วไปต้องการการเปลี่ยนแปลงเพียงเล็กน้อยระหว่างวงจรชีวิตของพวกเขา ในทางกลับกันวัตถุตอบสนองโดยเฉพาะอย่างยิ่งมักจะต้องการส่วนหัว HTTP ที่จะเพิ่ม นอกจากนี้ความไม่สามารถเปลี่ยนแปลงได้นั้นไม่เคยเกิดขึ้นในดินแดนของ PHP ผู้คนเห็นประโยชน์อะไรในการใช้ออบเจ็กต์คำขอ / การตอบสนองที่ไม่เปลี่ยนแปลง สมมติว่าคุณส่งคืนวัตถุ json $response = new JsonResponse($item); ดีและเรียบง่าย แต่ปรากฎว่าการร้องขอนั้นเป็นการร้องขอ Cross-Origin Resource Sharing (CORS) รหัสที่สร้างการตอบสนองไม่ควรสนใจ แต่บางแห่งดาวน์สตรีมเป็นกระบวนการที่จะเพิ่มส่วนหัวควบคุมการเข้าถึงที่จำเป็น มีข้อได้เปรียบใด ๆ ในการรักษาการตอบกลับดั้งเดิมและสร้างขึ้นใหม่ด้วยส่วนหัวเพิ่มเติมหรือไม่ หรือเป็นคำถามเกี่ยวกับสไตล์การเขียนโปรแกรมอย่างเคร่งครัด วัตถุคำขอมีความน่าสนใจขึ้นอีกเล็กน้อย มันเริ่มต้นเหมือนกัน: $request = new Request('incoming request information including uri and headers'); ไม่จำเป็นต้องเปลี่ยนข้อมูลเริ่มต้น …

5
ใน MVC สามารถเรียกค้นข้อมูลพื้นฐานจาก Model ได้หรือไม่ในมุมมอง?
ด้วยแนวคิดของ'ตัวควบคุมผอมแบบจำลองไขมัน'และการยอมรับทั่วไปที่ Views สามารถเรียกใช้โมเดลโดยตรงเมื่อต้องการข้อมูลเพื่อการส่งออกเราควรพิจารณาการจัดการส่วน 'รับและแสดง' ของคำขอภายใน Views ไม่ใช่ตัวควบคุม ตัวอย่างเช่น (พยายามเก็บรหัสที่ค่อนข้างทั่วไป): ตัวควบคุม <?php class Invoice extends Base_Controller { /** * Get all the invoices for this month */ public function current_month() { // as there's no user input let's keep the controller very skinny, // DON'T get data from the Model here, …

4
แบบสอบถามฐานข้อมูลควรถูกแยกออกจากหน้าตัวเองหรือไม่?
เมื่อเขียนการสร้างหน้าใน PHP ฉันมักจะพบว่าตัวเองกำลังเขียนไฟล์ที่เกลื่อนไปด้วยแบบสอบถามฐานข้อมูล ตัวอย่างเช่นฉันอาจมีแบบสอบถามเพื่อดึงข้อมูลบางอย่างเกี่ยวกับการโพสต์โดยตรงจากฐานข้อมูลเพื่อแสดงบนหน้าเช่นนี้: $statement = $db->prepare('SELECT * FROM posts WHERE id=:id'); $statement->bindValue(':id', $id, PDO::PARAM_INT); $statement->execute(); $post = $statement->fetch(PDO::FETCH_ASSOC); $content = $post['content'] // do something with the content ข้อความค้นหาแบบครั้งเดียวที่รวดเร็วเหล่านี้มักจะเล็ก แต่บางครั้งฉันก็ลงท้ายด้วยรหัสการโต้ตอบของฐานข้อมูลขนาดใหญ่ซึ่งเริ่มดูยุ่งเหยิง ในบางกรณีฉันได้แก้ไขปัญหานี้ด้วยการสร้างไลบรารีฟังก์ชันที่ใช้งานง่ายเพื่อจัดการคิวรี db ที่เกี่ยวข้องกับการโพสต์ของฉันทำให้บล็อกโค้ดนั้นสั้นลงง่ายๆ $content = post_get_content($id); และนั่นก็ยอดเยี่ยม หรืออย่างน้อยก็จนกว่าฉันจะต้องทำอย่างอื่น บางทีฉันอาจต้องได้รับห้าโพสต์ล่าสุดเพื่อแสดงในรายการ ฉันสามารถเพิ่มฟังก์ชั่นอื่นได้เสมอ: $recent_posts = post_get_recent(5); foreach ($recent_posts as $post) { ... } …

7
ที่เก็บข้อมูลเซสชันที่เชื่อถือได้มากที่สุดใน PHP: Memcache, ฐานข้อมูลหรือไฟล์คืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว เป็นวิธีที่ดีที่สุดและปลอดภัยที่สุดในการจัดการเซสชัน PHP คืออะไร เป็นวิธีที่ดีที่สุดในการจัดเก็บเซสชันใน: ฐานข้อมูล (น่าเชื่อถือมากขึ้น แต่มีคอขวดสูงความเร็วช้าไม่ดีสำหรับเว็บไซต์ที่มีการใช้ฐานข้อมูลสูง)? Memcache (เร็วสุด ๆ แต่กระจายปัญหาความปลอดภัยมากขึ้นโอกาสที่จะสูญเสียข้อมูลเมื่อรีสตาร์ทเซิร์ฟเวอร์และมีโอกาสสูญเสียข้อมูลเมื่อแคชเต็ม)? ไฟล์ (ตัวเลือกเริ่มต้นฉันเดาว่าช้าเพราะอ่านและเขียนจากไฟล์ I / O ความปลอดภัยน้อยลง ฯลฯ ) วิธีใดดีที่สุด อะไรคือปัญหาและสิ่งที่ดีในแต่ละแนวทาง
10 php  session 

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