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

12
วิธีที่ดีที่สุดในการโหลดโมดูล / คลาสจากโฟลเดอร์ lib ใน Rails 3?
เนื่องจาก Rails 3 รีลีสล่าสุดไม่ใช่โมดูลการโหลดอัตโนมัติและคลาสจาก lib อีกต่อไปอะไรจะเป็นวิธีที่ดีที่สุดในการโหลดมัน? จาก GitHub: A few changes were done in this commit: Do not autoload code in *lib* for applications (now you need to explicitly require them). This makes an application behave closer to an engine (code in lib is still autoloaded for plugins);

3
การโหลดอัตโนมัติคืออะไร คุณใช้ spl_autoload, __autoload และ spl_autoload_register ได้อย่างไร
ฉันกำลังเรียนรู้มาตรฐาน PHP ขั้นสูงและพยายามใช้วิธีการใหม่และมีประโยชน์ ก่อนหน้านี้ฉันใช้__autoloadเพื่อหลบหนีรวมถึงหลายไฟล์ในแต่ละหน้า แต่เมื่อเร็ว ๆ นี้ฉันได้เห็นเคล็ดลับ__autoload manual spl_autoload_register ()ให้ทางเลือกที่ยืดหยุ่นมากขึ้นสำหรับคลาสการโหลดอัตโนมัติ ด้วยเหตุนี้การใช้__autoload ()จึงไม่สนับสนุนและอาจเลิกใช้หรือลบออกในอนาคต แต่ฉันไม่สามารถคิดออกว่าจะใช้spl_autoloadและspl_autoload_register
203 php  autoload  spl 

10
Rails 5: โหลดไฟล์ lib ในการผลิต
ฉันได้อัปเกรดหนึ่งในแอปของฉันจาก Rails 4.2.6 เป็น Rails 5.0.0 อัพเกรดคู่มือกล่าวว่าคุณลักษณะ Autoload ถูกปิดใช้งานในขณะนี้ในการผลิตโดยค่าเริ่มต้น ตอนนี้ฉันมักจะได้รับข้อผิดพลาดบนเซิร์ฟเวอร์การผลิตของฉันเนื่องจากฉันโหลดไฟล์ lib ทั้งหมดด้วย autoload ในapplication.rbไฟล์ module MyApp class Application < Rails::Application config.autoload_paths += %W( lib/ ) end end สำหรับตอนนี้ผมได้ตั้งconfig.enable_dependency_loadingไปtrueแต่ผมสงสัยว่ามีทางออกที่ดีกว่านี้ ต้องมีเหตุผลที่ทำให้การโหลดอัตโนมัติถูกปิดใช้งานในการใช้งานจริงโดยค่าเริ่มต้น

13
ฉันจะใช้เนมสเปซ PHP กับโหลดอัตโนมัติได้อย่างไร
ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามใช้โหลดอัตโนมัติและเนมสเปซ: ข้อผิดพลาดร้ายแรง:ไม่พบคลาส 'Class1' ใน/usr/local/www/apache22/data/public/php5.3/test.phpในบรรทัดที่ 10 ใครช่วยบอกทีว่าฉันทำอะไรผิด? นี่คือรหัสของฉัน: Class1.php: <?php namespace Person\Barnes\David { class Class1 { public function __construct() { echo __CLASS__; } } } ?> test.php: <?php function __autoload($class) { require $class . '.php'; } use Person\Barnes\David; $class = new Class1(); ?>
104 php  autoload 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.