2013-08-21 28 views
5

Poszukuję struktury wtyczek dla aplikacji opartych na Laravel.System wtyczek Laravel 4

Na przykład oprogramowanie forum, aplikacja cms lub e-commerce może korzystać ze struktury wtyczek.

Moje pytanie brzmi, jaki jest najlepszy sposób wdrożenia tego systemu wtyczek, aby wtyczki innych firm mogły rozszerzyć aplikację. Głównym problemem jest to, że powinien on być dynamicznie rozszerzalny, a użytkownicy powinni mieć możliwość łatwego instalowania tych wtyczek bez naruszania kodu aplikacji.

To pytanie obejmuje również tematy, ale to kolejne pytanie. Jakieś pomysły?

+0

może być zainteresowany w [Development] Pakiet (http://laravel.com/docs/packages) –

+1

Jest na to wiele różnych sposobów. Niektóre z nich zostały opisane na Stackoverflow w podobnych kwestiach, jeśli nie ujawnisz szczegółów Laravel 4. Jeśli chcesz zapoznać się z przeglądem wielu pojęć znajdujących się w różnych systemach z omówionymi ich zaletami i wadami, omówimy wiele z nich: [Modularna architektura aplikacji - Confoo.ca 2012] (http://qafoo.com/ talks/12_03_confoo_modular_application_architecture.pdf) ([via] (http://qafoo.com/resources/presentations.html)) – hakre

Odpowiedz

0

Jestem nieco zdezorientowany tym pytaniem, ale wierzę, że to, czego szukasz, jest już zaimplementowane w Laravel 4. Są one po prostu nazywane Paczkami i można je znaleźć pod adresem http://www.packagist.org i łatwo zainstalować i automatycznie załadować do aplikacji za pomocą Kompozytor.

+2

Takie podejście może być dobrze dostosowane do programisty, który chce dodać funkcjonalność do oprogramowania. Ale kiedy użytkownik administrujący witryną chce dodać wtyczkę do strony, podejście to jest skomplikowane. Powinno to być tak proste, jak dodanie wtyczki z panelu i włączenie lub wyłączenie go. Chciałbym wiedzieć, jak najlepiej zintegrować to za pomocą Laravel. – Sinan

2

laravel jest ramy, a nie CMS jak WordPress czy Joomla system więc plugin, który pasuje każdy może być dość trudne do stworzenia jak laravel można wykorzystać na wiele sposobów, ale mogę naprawdę zobaczyć korzyści łatwe pakiety w niektórych kontekstach.

Packagist został już wspomniano i nie rozwiązuje bezpośrednio problemu ale jak o:

  1. znaleźć dobre użytkowe pakiety z Packagist dla celów trzeba
  2. zdefiniować wspólną architekturę wtyczek (wspólny interfejs API do łączenia elementów, instalator, format pakietów, migracja, aktualizacje itp.) na pakietach Packagist
  3. Utwórz instalator, który pobiera pakiety za pomocą Packagist/Composer i dodaje zestawy domyślnych ustawień domyślnych i konfiguracji dla pakietów i integracji es je do określonej wtyczki architektury
  4. dokumentów i zaplanować to naprawdę dobrze, a inni w niedługim czasie nastąpi