วิธีของฉันในการทำเช่นนี้คือการสร้างโฟลเดอร์ใหม่ใน/appไดเรกทอรีในรากของโครงการ Laravel 4 ของคุณ จากนั้นเพิ่มโฟลเดอร์นี้ในอาร์เรย์แรกของ/app/start/global.phpไฟล์ดังนี้:
<?php
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/classes', // This line is the one I've added.
));
ตราบใดที่โครงสร้างโฟลเดอร์ภายใน/app/classesโฟลเดอร์ใหม่เป็นไปตามข้อตกลงการกำหนดเนมสเปซของคุณ Laravel 4 จะโหลดคลาส / ไฟล์ทั้งหมดในโฟลเดอร์นี้โดยอัตโนมัติ วิธีนี้ไม่จำเป็นต้องขุดลงในไฟล์ผู้แต่งหรือเรียกใช้คำสั่งผู้แต่ง
ไม่แน่ใจว่านี่เป็นวิธีปฏิบัติที่ดีที่สุดหรือไม่
หากคุณสร้างไฟล์อย่างง่ายที่เรียกว่า/app/classes/Helpers/Helper.phpเช่นนี้:
<?php namespace Helpers;
class Helper {
public static function helloWorld()
{
return 'Hello World';
}
}
สิ่งที่คุณต้องทำคือโทรออก Helpers\Helper::helloWorld();
คุณสามารถใช้นามแฝงคลาสผู้ช่วยนี้ใน/app/config/app.phpไฟล์ของคุณได้ เพียงเพิ่มสิ่งนี้ในตอนท้ายของaliasesอาร์เรย์:
'Helper' => 'Helpers\Helper'
app_path().'/library'ใน start / global.php