Real Time Web Analytics پرسش و پاسخ Elam

Laravel

اضافه کردن کتابخانه به لاراول

نویسنده : کامران جعفری
تاریخ انتشار:
18:04:18 1394-08-05
در این مقاله به چگونگی اضافه کردن یک فایل یا کلاس آماده به فریم ورک لاراول می پردازیم

با اینکه فریم ورک لاراول یک فریم ورک کامل است که بسیاری از نیازهای شما را برطرف می کند، اما ممکن است در شرایطی مانند استفاده از کتابخانه های تبدیل تاریخ شمسی، شما نیاز داشته باشید تا یک کتابخانه به پروژه خود اضافه کنید. برای آموزش نحوه اضافه کردن فایل خارجی به لاراول با این مقاله لرن روت همراه باشید.

در ابتدا باید بررسی کنیم که فایلی که میخواهیم اضافه کنیم، یک فایل php. است و یا یک کلاس php است. در ادامه ما هر دوی این حالات را بررسی خواهیم کرد.

  • کلاس PHP

تصور کنید شما یک کلاس آماده PHP با نام trainClass.php دارید. حالا باید آن را کجا قرار دهیم و چگونه در لاراول از آن استفاده کنیم؟
گام های زیر را به ترتیب بردارید:

  1. داخل پوشه \App\  هر کجا که میخواهید کلاس خود را قرار دهید. البته بهتر است یک پوشه داخل پوشه App بسازید مثلا با نام MyClasses یا Library یا هر اسم مناسبی که میخواهید و تمام کلاس هایی که قرار است به پروژه خود اضافه کنید را در آن قرار دهید.

           پس هم اکنون ما یک مسیر به آدرس App\MyClasses\trainClass.php  داریم که حاوی فایل PHP کلاس مورد نظر ماست.

2. یک namespace برای کلاس خود انتخاب کنید. در فایل trainClass.php و در بیرون از کلاس در خط اول فایل دستور زیر را اضافه کنید:

namespace App\MyClasses;


3. حالا در محل مورد نظر (مثلا در Controller) با دستور use کلاس را فراخوانی کنید. در ابتدای فایل مورد نظر یا بطور مثال Controller دستور زیر را وارد کنید:

use App\MyClasses\trainClass.php;

حالا شما میتوانید از کلاس مورد نظر شی ساخته و از آن استفاده کنید.

  • فایل php.

گاهی به جای استفاده از کلاس شما یک فایل php. دارید که لیستی از توابع در آن وجود دارند و میخواهید از این توابع در پروژه خود استفاده کنید.
فرض کنید شما یک فایل با نام MyFunctions.php دارید که حاوی لیستی از توابع آماده و مورد نیاز شما در پروژه است. همانند قسمت قبل شما ابتدا باید این فایل را در محلی در پوشه \App\ پروژه خود اضافه کنید. بهتر است یک پوشه مخصوص ساخته و درون آن قرار دهید. برای مثال ما پوشه Libraries را در نظر می گیریم.
پس هم اکنون ما یک مسیر به آدرس App\Libraries\MyFunctions.php داریم که حاوی فایل php. مورد نظر ماست.
اکنون به سه روش می توان فایل حاوی توابع را به پروژه افزود:

  1. استفاده از دستورات ()include و ()require در PHP

          شما می توانید در هر جایی(مثلا Controller) که میخواهید از توابع استفاده کنید، دستور زیر را وارد کنید:

include(app_path().'\Libraries\MyFunctions.php');

2. افزودن “files” در composer.json
         یک سطر جدید در composer.json  به نام “files” اضافه کنید:

    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files": [
            "app/Libraries/MyFunctions.php"
        ]
    },

3. هم چنین می توانید در خود autoload در composer.json فایل خود را اضافه کنید:

    "autoload": {
        "classmap": [
            "database",
            "app/Libraries"
        ],
    },

تفاوت این حالت با حالت قبل این است که تمامی فایل های موجود در Libraries به پروژه شما اضافه خواهند شد در حالیکه در صورت استفاده از “files” تنها فایلی که شما اضافه کنید اضافه خواهد شد.
در هر دوی این حالات دیگر نیازی به استفاده از include نیست و توابع شما بصورت پیش فرض به پروژه اضافه می شوند. همچنین به یاد داشته باشید که پس از تغییر اطلاعات فایل composer حتما دستور زیر را به منظور بروزرسانی آن اجرا نمایید:

composer dump-autoload


 

برچسب ها:
مقالات مشابه
ویدیوهای مشابه