Im ersten Teil der Artikelserie zu Magento mit Vagrant habe ich Vagrant und die automatische Synchronisation mit Rsync vorgestellt, im zweiten Teil ein einfaches Basis-Setup der Vagrantbox für Magento. In diesem Teil soll es nun um die Projektstrukturierung gehen.
Mögliche Strukturen, aufbauend auf dem Basis-Vagrant-Setup:
Eigener Code separiert von Core und Extensions in src/
Das meiner Meinung nach ideale Setup habe ich im letzten Beitrag bereits beschrieben:
Die hier vorgestellte Struktur empfehle ich für neu entwickelte Shops. Mögliche Alternativen werden in einem separaten Beitrag erläutert. Der Quellcode verteilt sich auf folgende Verzeichnisse:
Verzeichnis | Inhalt |
/.modman | Magento-Extensions |
/src | Projektspezifischer Code (inkl. gekaufter Extensions) |
/vendor | Nicht-Magento-spezifische Bibliotheken |
/www | Magento-Core |
Durch Modman werden auf der Vagrantbox zusätzlich Symlinks in .modman (nach src) und www (nach .modman) erstellt.
In /www/ gibt es also keinerlei custom code, alles kommt mit Composer und Modman entweder aus /vendor bzw. /.modman (für fremden Code und eigene, projektübergreifende Module) oder aus /src (für eigenen, shop-spezifischen Code).