کتابخانه‌ها (Libraries)

کتابخانه‌ها مجموعه‌ای از توابع هستند که توسط دیگر افزونه‌ها قابل دسترسی‌اند. هدف آن‌ها ارائه یک مجموعه قابلیت است که سایر افزونه‌ها بتوانند از آن‌ها استفاده کنند.

ایجاد یک کتابخانه جوملا

کتابخانه جوملا مجموعه‌ای از کلاس‌ها یا توابع قابل استفاده مجدد است که می‌توان آن را بین چند افزونه به اشتراک گذاشت. کتابخانه‌ها به سازماندهی و استفاده مجدد کد کمک می‌کنند و باعث می‌شوند توسعه سریع‌تر و قابل نگهداری‌تر شود.

در این راهنما، یک کتابخانه جوملا ایجاد می‌کنیم و نحوه استفاده از آن در پروژه‌های جوملا را یاد می‌گیریم.

ساختار پوشه‌ها

ساختار پوشه برای کتابخانه جوملا به شکل زیر است:

بخش‌های کلیدی کتابخانه

- `src/YourLibrary.php`: فایل اصلی کتابخانه که تعریف کلاس و توابع موجود در کتابخانه را دارد. 

- `yourlibraryname.xml`: فایل متادیتا (اطلاعات توصیفی) کتابخانه است.

فایل مانیفست افزونه

مثال فایل `yourlibraryname.xml` در مسیر `libraries/yourlibraryname/yourlibraryname.xml`:

 
<?xml version="1.0" encoding="utf-8"?>
<extension type="library" method="upgrade">
    <name>Joomla 5 Example Library</name>
    <libraryname>JoomlaExampleLibrary</libraryname>
    <author>Author Name</author>
    <creationDate>2024-09-08</creationDate>
    <license>GNU General Public License version 2 or later</license>
    <version>1.0.0</version>
    <description>Showcase on how to create a Joomla 5 library to reuse code.</description>
    <namespace path="src">VendorName\LibraryName</namespace>
    <files>
        <folder>src</folder>
    </files>
</extension>

کلاس کتابخانه

داخل این کلاس توابعی که کتابخانه ارائه می‌دهد تعریف می‌شوند. مثال ساده یک کلاس کتابخانه:

`libraries/yourlibraryname/src/YourLibrary.php`

 
<?php
namespace VendorName\LibraryName;

class YourLibrary
{
    public static function helloWorld()
    {
        return "Hello, World!";
    }
    
    public function greet($name)
    {
        return "Hello, " . $name . "!";
    }
}

بسته‌بندی کتابخانه برای نصب

پس از ایجاد کتابخانه، باید آن را برای نصب بسته‌بندی کنید. این کار با ایجاد یک فایل زیپ که ساختار بالا را دارد انجام می‌شود.

سپس می‌توانید این فایل زیپ را از طریق مدیریت افزونه‌های جوملا در بخش مدیریت (Administrator backend) نصب کنید.

نصب

1. وارد بخش مدیریت جوملا شوید. 

2. به مسیر Extensions > Manage > Install بروید. 

3. فایل زیپ حاوی کتابخانه را آپلود و نصب کنید.

استفاده

برای استفاده از کتابخانه در افزونه جوملای خود باید آن را در کدتان وارد کنید. نمونه کد استفاده:

 
<?php
use VendorName\LibraryName\YourLibrary;
$library = new YourLibrary();
echo $library->greet("John");
echo YourLibrary::helloWorld();