Composer: directory structuur aanpassen?
Ben dus van plan om Composer te gebruiken want ik zou graag gebruik maken van PHPUnit en een paar Symfony components.
M'n structuur ziet er nu zo uit:
Wat je ziet is m'n framework, Twig, en Spyc (voor parsen .yml bestanden).
Moet ik nu die lib/ veranderen in vender/ omdat Composer daar ook z'n dependencies in plaatst?
En ik zag ook dat Composer hun eigen autoloader heeft. Ik heb mijn eigen autoloader geschreven waar heel wat werk in zit en die ook het beste werkt met m'n framework, moet ik daar nu ook van afstappen?
Raoul
Gewijzigd op 01/01/2013 22:46:15 door - Raoul -
Quote:
Moet ik nu die lib/ veranderen in vender/ omdat Composer daar ook z'n dependencies in plaatst?
Wat je kan doen is lib zo laten en alleen je 3th party libraries in vendor te stoppen. Twig en Spyc zijn beide ook 3th parties.
En anders hernoem je lib helemaal naar vendor.
Je kan composer overigens ook een andere map toegeven: http://getcomposer.org/doc/04-schema.md#config
Ik heb vaak een structuur als:
Quote:
Ik heb mijn eigen autoloader geschreven waar heel wat werk in zit en die ook het beste werkt met m'n framework, moet ik daar nu ook van afstappen?
Moeten is een groot woord, het is wel zeer verstandig. composer slaat de 3th party libraries zo op dat hun autoloader ze makkelijk kan vinden. Jou code vinden is dan een kwestie van "": "lib/" toevoegen.
Het is jammer dat je dan van je autoloader moet afstappen, maar misschien dat je hem nog eens gaat gebruiken als je geen composer gebruikt.
Thx voor je reactie. Ik ga toch kijken of ik toch niet mijn eigen autoloader kan blijven gebruiken, hij is namelijk heel flexibel en gebaseerd op die van Symfony.
Symfony heeft zijn autoloader ook weggegooid en is die van composer gaan gebruiken in 2.1.
Echt? Dan ga ik toch eens gaan moeten testen hoe dat allemaal werkt. Thanks!
En mocht je Framework in lib houden dan voeg je dit toe aan je composer.json:
Of als Raoul\Framework je namespace is in je Framework map maak je er dit van:
Gewijzigd op 02/01/2013 00:53:23 door - Raoul -
Ik raad je wel aan de PSR-0 standaard te volgen, hierin staat dat je hem altijd moet prefixen met een vendor. Bijv. Symfony\Component\Console\Application, Wj\AdminBundle\Controller\DashboardController en Zend\EventManager\SharedEventManager.