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

Vendor/Package

۱. Vendor Name (نام شرکت)

• نشان‌دهنده هویت منتشرکننده پکیج است
• انواع رایج:

  • نام سازمان (مثلاً laravel برای لاراول)

  • نام کاربری توسعه‌دهنده (مثلاً fzaninotto برای Faker)

  • نام دامنه معکوس (مثلاً com-github برای پکیج‌های GitHub)

۲. Package Name (نام پکیج)

• باید تنشاندهنده عملکرد پکیج باشد
• انواع متداول:

  • نام فریمورک (laravel, symfony)

  • نام عملکردی (http-client, database)

  • نام کتابخانه (monolog, phpunit)

مزایای ساختار نامگذاری Vendor/Package در پکیج‌های PHP

1. جلوگیری از تداخل نام‌ها (Name Collision Prevention)

  • مثال: دو توسعه‌دهنده می‌توانند پکیج logger بسازند:

    • monolog/monolog (کتابخانه معروف لاگینگ)

    • acme/logger (پکیج اختصاصی یک شرکت)

  • مزیت: هر پکیج با ترکیب vendor/package منحصربه‌فرد می‌شود.

2. سازماندهی سلسله‌مراتبی (Hierarchical Organization)

هر شرکت پکیچ های خود را بصورت زیرشاخه ایجاد میکند