1️⃣ Creează repository-ul pe GitHub
- Creează un repository nou:
webrteu/my-package - Poate fi public sau privat (pentru public Packagist, trebuie să fie public)
2️⃣ Structura pachetului PHP
Pachetul trebuie să aibă cel puțin următoarea structură:
my-package/
├─ src/
│ └─ MyClass.php
├─ composer.json
└─ README.md
Exemplu composer.json
{
"name": "webrteu/my-package",
"description": "My custom PHP package",
"type": "library",
"autoload": {
"psr-4": {
"Webrteu\\MyPackage\\": "src/"
}
},
"require": {}
}
nametrebuie să fie unic (vendor/package).autoloaddefinește namespace-ul și folderul cu cod.
3️⃣ Commit și push pe GitHub
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/USERNAME/my-package.git
git push -u origin main
4️⃣ Publică pe Packagist
- Mergi la Packagist.org
- Creează un cont sau loghează-te
- Click “Submit” → Introdu URL-ul repository-ului GitHub
- Packagist va indexa repository-ul și va crea automat pachetul
⚡ Recomandare: activează GitHub Service Hook ca Packagist să primească automat update-uri la fiecare commit.
In GitHub -> Repository -> Settings -> WebHooks se adauga:
- Payload URL: https://packagist.org
- Secret: valoarea obtinuta din https://packagist.org -> Profile -> Show Main API Token
5️⃣ Folosește pachetul în proiecte
După publicare:
composer require webrteu/my-package
Composer va descărca codul automat din repository-ul tău.