Composer szybko stał się standardem do zarządzania pakietami oraz ich zależnościami dla aplikacji PHP. Dzisiaj jest to podstawowe i niemal niezbędne narzędzie do pracy i rozwoju aplikacji. W tym wpisie chcę pokazać, jak w prosty i łatwy sposób utworzyć własny pakiet - repozytorium, by następnie pobrać go za pomocą Composera.
Oczywiście, można użyć Satis lub Toran Proxy, aczkolwiek na własne potrzeby np. testów, wystarczy prostsze rozwiązanie, które opisuje w dalszej części posta.
Oczywiście, można użyć Satis lub Toran Proxy, aczkolwiek na własne potrzeby np. testów, wystarczy prostsze rozwiązanie, które opisuje w dalszej części posta.
Repozytorium Composera możemy utworzyć we własnej sieci np. na tym samym komputerze, na którym rozwijamy główny projekt, a następnie pobierać go przez Composera, bez publikowania go na GitHUB.
Czasem może zdarzyć się taka sytuacja, kiedy nie chcemy publikować naszego pakietu i umieszczać go publicznie na GitHUB. Może to być sytuacja w której, dopiero zaczynamy pracować nad własnym pakietem, nasz pakiet może być specyficzny tylko dla naszej aplikacji i nie nadaje się dla innych aplikacji, jak również może to być rozwiązanie zamknięte rozwijane na potrzeby projektu komercyjnego.
W tym wpisie nie będę opisywał podstaw Composera. Można z nimi się zapoznać w oficjalnej dokumentacji.
Zaczynamy!
Na początku utworzymy nowy projekt. Jego struktura będzie wyglądała następująco:
main-project-directory
|-src
| \-module
| \-Start.php
|-examples
\-test
|-src
| \-module
| \-Start.php
|-examples
\-test
Utwórzmy powyższą strukturę katalogów, a następnie zainicjujmy repozytorium git:
cd main-project-directory
git init
git add .
git commit -m "Pierwszy commit"
Już mamy utworzony projekt. Teraz możemy przystąpić do konfiguracji Composera w naszym projekcie. W tym celu tworzymy plik composer.json w głównym katalogu projektu, a następnie definiujemy konfigurację:
{
"name": "my-projects/my-module",
"description": "Description of my project",
"type": "library",
"license": "BSD",
"keywords": [
“keywords"
],
"authors": [
{
"name": "Name Surname",
"email": "email@email.com"
}
],
"version": "dev-master",
"require": {
},
"autoload": {
"psr-0": {
"MyModule\\": "src/"
}
}
}
Z kolei w pliku composer.json projektu, do którego chcemy zaciągnąć nasz wcześniej utworzony moduł, musimy dodać wpis z repozytorium, z którego należy pobrać moduł:
{
"name": "my_projects/main_project",
"repositories": [{
"type": "vcs",
"url": "/path_to_module/my_module"
}
],
"require": {
"my-projects/my-module" : "dev-master"
}
}
Wartość dla “url” w sekcji "repositories" może być ścieżką na komputerze lokalnym albo adresem URL do którego jest dostęp w sieci.
Teraz wystarczy wydać polecenie > composer update, by pobrać do naszego miejsca docelowego utworzone wcześniej repozytorium.
Podczas konfiguracji composer.json w projekcie, do którego będzie zaciągane repozytorium, należy zwrócić szczególną uwagę na poprawność ścieżek - wielkość znaków ma znaczenie.
Brak komentarzy:
Prześlij komentarz