جوملایف
جوملایف
  • جوملا از ابتدا
  • مستندات مدیریت جوملا!
  • مستندات برنامه‌نویسان جوملا!
  • درباره جوملا!
  • دانستنی های جوملا!
  1. شما اینجا هستید:  
  2. خانه
  3. مستندات برنامه‌نویسان جوملا!
  4. شروع کنید
سرفصل های مستندات
نمایش
  • مقدمه
  • استراتژی توسعه جوملا
  • شروع کنید
  • مفاهیم کلی توسعه جوملا
    • فضاهای نام (namespaces)
    • کلاس های Extension و Dispatcher
    • مروری بر دسته بندی ها
    • تزریق وابستگی (Dependency Injection)
    • ACL
    • داشبورد (dashboard)
    • پایگاه داده
    • فرم ها
    • تورهای راهنما
    • آیکون‌ها
    • فیلدهای فرم
    • ورودی جوملا
    • JavaScript
    • ایمیل
    • منوها و آیتم‌های منو
    • چندزبانه
    • مسیر‌یابی (Routing)
    • کاربر(User)
    • مدیریت منابع وب
    • سرویس‌های وب
  • ساخت افزونه ها
    • نصب و به روز رسانی
    • کامپوننت ها
    • کتابخانه‌ها (Libraries)
    • ماژول‌ها (Modules)
      • مرحله ۱: ماژول پایه
      • مرحله ۲: اضافه کردن فایل tmpl
      • مرحله ۳: اضافه کردن فایل Helper
      • مرحله ۴: افزودن پشتیبانی زبان
      • مرحله ۵: اضافه کردن تنظیمات
      • مرحله ۶: اضافه کردن فایل اسکریپت
      • مرحله 7: افزودن جاوا اسکریپت
      • مرحله 8: تزریق وابستگی (Dependency Injection)
      • مرحله ۹: افزودن Ajax
      • مرحله ۱۰: استفاده از AbstractModuleDispatcher
      • مرحله ۱۱: راه‌اندازی سرور به‌روزرسانی
    • پلاگین ها
      • تغییرات جوملا 4 و 5
      • آموزش پلاگین
      • فهرست رویدادهای پلاگین
      • مثال پلاگین‌ها
        • پلاگین Ajax
        • پلاگین کنسول–Hello World
        • پلاگین کنسول - اجرای فایلی از دستورات SQL
        • قوائد مسیریابی پلاگین سیستم (System Plugin Router Rules)
        • پلاگین سیستم‌فایل – پایه
        • پلاگین سیستم فایل – FTP
        • پلاگین کپچا
        • پلاگین‌های ویرایشگر
        • پلاگین دکمه‌های ویرایشگر (XTD)
    • قالب‌ها (Templates)
    • اسکریپت سفارشی PHP
    • ساخت یک فرآیند دیمون
  • دسترسی‌پذیری
  • بخش امنیت
    • مبانی بخش امنیت
    • آسیب‌پذیری‌های رایج
    • مدیریت ورودی
    • کوئری‌های امن پایگاه داده
    • محافظت در برابر CSRF
    • فرم‌ها و اعتبارسنجی‌ها
  • آزمون نرم‌افزار
    • آزمون خودکار
    • آزمون دستی (Manual Testing) در جوملا
  • API سرویس‌های وب
    • قالب پاسخ JSON
سرفصل های مستندات
  • مقدمه
  • استراتژی توسعه جوملا
  • شروع کنید
  • مفاهیم کلی توسعه جوملا
    • فضاهای نام (namespaces)
    • کلاس های Extension و Dispatcher
    • مروری بر دسته بندی ها
    • تزریق وابستگی (Dependency Injection)
    • ACL
    • داشبورد (dashboard)
    • پایگاه داده
    • فرم ها
    • تورهای راهنما
    • آیکون‌ها
    • فیلدهای فرم
    • ورودی جوملا
    • JavaScript
    • ایمیل
    • منوها و آیتم‌های منو
    • چندزبانه
    • مسیر‌یابی (Routing)
    • کاربر(User)
    • مدیریت منابع وب
    • سرویس‌های وب
  • ساخت افزونه ها
    • نصب و به روز رسانی
    • کامپوننت ها
    • کتابخانه‌ها (Libraries)
    • ماژول‌ها (Modules)
      • مرحله ۱: ماژول پایه
      • مرحله ۲: اضافه کردن فایل tmpl
      • مرحله ۳: اضافه کردن فایل Helper
      • مرحله ۴: افزودن پشتیبانی زبان
      • مرحله ۵: اضافه کردن تنظیمات
      • مرحله ۶: اضافه کردن فایل اسکریپت
      • مرحله 7: افزودن جاوا اسکریپت
      • مرحله 8: تزریق وابستگی (Dependency Injection)
      • مرحله ۹: افزودن Ajax
      • مرحله ۱۰: استفاده از AbstractModuleDispatcher
      • مرحله ۱۱: راه‌اندازی سرور به‌روزرسانی
    • پلاگین ها
      • تغییرات جوملا 4 و 5
      • آموزش پلاگین
      • فهرست رویدادهای پلاگین
      • مثال پلاگین‌ها
        • پلاگین Ajax
        • پلاگین کنسول–Hello World
        • پلاگین کنسول - اجرای فایلی از دستورات SQL
        • قوائد مسیریابی پلاگین سیستم (System Plugin Router Rules)
        • پلاگین سیستم‌فایل – پایه
        • پلاگین سیستم فایل – FTP
        • پلاگین کپچا
        • پلاگین‌های ویرایشگر
        • پلاگین دکمه‌های ویرایشگر (XTD)
    • قالب‌ها (Templates)
    • اسکریپت سفارشی PHP
    • ساخت یک فرآیند دیمون
  • دسترسی‌پذیری
  • بخش امنیت
    • مبانی بخش امنیت
    • آسیب‌پذیری‌های رایج
    • مدیریت ورودی
    • کوئری‌های امن پایگاه داده
    • محافظت در برابر CSRF
    • فرم‌ها و اعتبارسنجی‌ها
  • آزمون نرم‌افزار
    • آزمون خودکار
    • آزمون دستی (Manual Testing) در جوملا
  • API سرویس‌های وب
    • قالب پاسخ JSON

شروع کنید

  • محمد علایی
  • منتشر شده در
  • زمان خواندن 2 دقیقه

به کتابچه راهنمای توسعه دهندگان جوملا خوش آمدید

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

در این بخش، ابزارها و فرآیندهای مورد نیاز برای راه‌اندازی یک محیط توسعه محلی با توانایی استفاده از راهنما به عنوان یک توسعه‌دهنده را بررسی می‌کنیم.

شروع سریع

برای شروع توسعه برنامه های افزودنی خود برای جوملا، باید یک محیط وب محلی راه اندازی کنید - به عنوان مثال با استفاده از WAMP، Bearsampp یا XAMPP.

نصب git و PHP IDE نیز بسیار مفید است، اگرچه ضروری نیست.

جوملا را از سایت دانلود جوملا دانلود و بر روی دستگاه خود نصب کنید.( https://downloads.joomla.org) قبل از شروع تلاش برای توسعه افزونه‌های جوملا، باید واقعاً با مدیریت یک سایت جوملا آشنا شوید - برای مثال انتشار مقالات، استفاده از دسته‌ها و برچسب‌ها، تعریف منوها و آیتم‌های منو، راه‌اندازی کاربران، نصب برنامه‌های افزودنی و تنظیم پارامترهای پیکربندی. اطلاعات زیادی را به صورت آنلاین در دسترس خواهید یافت.

این در مورد آن است! ما توصیه می کنیم که با توسعه یک ماژول پایه شروع کنید. پس از آن می توانید مفاهیم عمومی را بررسی کنید و برخی از پسوندهای نمونه موجود در Building Extensions را امتحان کنید.

می توانید با تماشای ویدیوی نحوه کار جوملا - راهنمای توسعه دهندگان برنامه های افزودنی - نمای کلی از نحوه کار جوملا را بیابید.

اگر گیر کردید، سؤالی را در انجمن جوملا یا سایت‌های تبادل پشته مطرح کنید.

Community

  • آخرین وضعیت کد CMS جوملا را در GitHub
  • آخرین نسخه جوملا Joomla.org
  • به ما در Mattermost-Community بپیوندید
  • مستندات کاربر نهایی End-User documentation را بخوانید

در این مستندات مشارکت کنید

کتابچه راهنمای توسعه دهندگان جوملا با استفاده از Docusaurus پیاده سازی شده است، سیستمی که می تواند به همه کاربران جوملا اجازه دهد تا با استفاده از زبان Markdown در اسناد مشارکت کنند.

یک مکان خوب برای شروع، اگر در Markdown تازه کار هستید

اسناد از طریق کتابچه راهنمای GitHub جوملا نگهداری می شوند که در آن می توانید در هر زمان محتوا را برای بهبود مستندات ایجاد، ویرایش/حذف کنید.

الزامات فنی

تمامی نسخه های پیشنهادی بر اساس آخرین نسخه منتشر شده هر سری هستند.

الزامات نرم افزار پشتیبانی شده

الزامات جوملا! 5.x

نرم افزار

توصیه شده

حداقل

PHP

8.3

8.1.0

 

پایگاه داده

توصیه شده

حداقل

MySQL

8.1

8.0.13

MariaDB

11.1.0

10.4.0

PostgreSQL

16.0

12.0

 

وب سرور

توصیه شده

حداقل

Apache

2.4

2.4

Nginx

1.25

1.21

Microsoft IIS

10

10

IDE

برای توسعه یک افزونه جوملا، توصیه می کنیم از محیط توسعه یکپارچه (IDE) استفاده کنید. یک IDE مزایای زیادی دارد:

  • تکمیل کد
  • دریافت پیشنهادهایی برای تکمیل کد که باعث صرفه جویی در تحقیق در مورد کد موجود می شود و به جلوگیری از خطا کمک می کند
  • پیاده سازی خودکار استفاده از فضای نام
  • هنگام استفاده از کلاس ها، متدها و توابع به خوبی مستند شده، hinting را تایپ کنید
  • ایجاد نظرات خودکار برای کلاس ها / روش ها / توابع

 

  • اشکال زدایی نمادین
  • تحلیلگر کد
  • بازخورد سبک کد را خودکار کنید
  • نکاتی برای "بوی کردن کد" برای بهبود کیفیت کد
  • مدیریت پروژه/پوشه برای پروژه های توسعه
  • بسیاری از افزونه ها / پشتیبانی از برنامه نویسی روزانه

phpStorm

تورفتگی با Spaces

جوملا از فاصله ها برای تورفتگی استفاده می کند. وقتی تورفتگی به جای زبانه ها با فاصله است، بسیاری از مردم برای دیدن کد تودرتو تلاش می کنند. عرض برگه را می توان در ایده تنظیم کرد، اما برای فضاها به این سادگی نیست و برای ارائه این قابلیت باید از یک پسوند استفاده کنید. مهم این نیست که چگونه به نظر می رسد، بلکه در مورد نحوه عملکرد مغز و مدت زمانی است که برای دیدن لانه سازی صرف می کند.

برای کد ویژوال استودیو می‌توانید از [فضاهای کششی](https://plugins.jetbrains.com/plugin/14849-elastic-indents) برای تنظیم عرض بصری تورفتگی‌های با فاصله و نزدیک شدن به مزایای تورفتگی‌های زبانه‌دار استفاده کنید.

Composer

توجه داشته باشید که Composer تنها در صورتی مورد نیاز است که در حال توسعه کد برای پروژه اصلی جوملا هستید.

راهنمای سبک کدنویسی

از زمان جوملا نسخه 4.2، جوملا از استاندارد کد نویسی PSR-12 استفاده می کند. می‌توانید این استاندارد کدنویسی را در IDE خود فعال کنید و اگر از استاندارد کدنویسی پیروی نمی‌کنید یا از یک تعمیر خودکار نیز استفاده می‌کنید، راهنمایی دریافت کنید. توصیه می کنیم هنگام توسعه برنامه های افزودنی خود از این استاندارد پیروی کنید تا با هسته سازگار بمانید و مطمئن شوید که کد شما امیدوار باشد با نسخه های بعدی کار کند.

نصب بررسی کننده سبک کد

https://docs.joomla.org/Joomla_CodeSniffer

از چک کننده یکپارچه استفاده کنید

اگر نسخه توسعه‌دهنده کامل را از GitHub جوملا دانلود کنید (نه بسته زیپ نصب قابل دانلود)، یک به اصطلاح «کد یابی» برای بررسی نقض استاندارد کدنویسی و یک «تثبیت کننده کد» برای رفع اکثر (اما، گاهی اوقات، نه همه) آنها پیدا خواهید کرد.

برای اجرای کد sniffer/fixer باید یک ترمینال راه اندازی کنید، به پوشه ریشه جوملا (پوشه ای که جوملا شما در آن نصب شده است) بروید و یکی از دستورات زیر را اجرا کنید ( علامت "." را فراموش نکنید):

بررسی نقض سبک کد

./libraries/vendor/bin/phpcs --extensions=php -p --standard=ruleset.xml .

این بررسی سبک کد را برای کل جوملا اجرا می کند! نصب، از جمله برنامه های افزودنی شما، هنگام نصب در جوملا!

رفع نقض سبک کد

./libraries/vendor/bin/phpcbf --extensions=php -p --standard=ruleset.xml .

با این کار، ثابت کننده سبک کد برای کل نصب جوملا، از جمله برنامه افزودنی شما، اجرا می شود. ثابت کننده سعی می کند همه موارد نقض را برطرف کند، اما گاهی اوقات نمی تواند همه موارد را برطرف کند. بنابراین توصیه می‌شود که چک‌کننده را اجرا کنید (به بالا مراجعه کنید) و آخرین مشکلات را به صورت دستی برطرف کنید.

 

 

09365879255

با ما تماس بگیرید

joomlife.official@gmail.com

ایمیل ارسال کنید

گیلان-تالش-روبروی شهرداری

آدرس

Images

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

لینک های سریع

    • خانه
    • دانستنی های جوملا!
    • تماس با ما
    • درباره ما

© کلیه حقوق این سایت متعلق به گروه جوملایف می باشد