2013-08-21 109 views
5

我在为基于Laravel的应用程序寻找一些插件结构。Laravel 4插件系统

例如论坛软件,CMS或电子商务应用程序可以从插件结构中受益。

我的问题是实现这个插件系统的最佳方式是什么,以便第三方插件可以扩展应用程序。主要问题是它应该是动态可扩展的,用户应该能够轻松地安装这些插件而不会混淆应用程序代码。

这个问题也延伸到主题,但多数民众赞成在另一个问题。有任何想法吗?

+0

您可能感兴趣的[包开发(http://laravel.com/docs/packages) –

+1

有很多不同的方法来做到这一点。如果你远离Laravel 4的细节,在类似的问题上已经列出了一些Stackoverflow。如果你想研究一下在不同系统中发现的多个概念,并讨论它们的利弊,下面是一个包含多个概念的讨论:[模块化应用程序体系结构 - Confoo.ca 2012](http://qafoo.com/会谈/ 12_03_confoo_modular_application_architecture.pdf)([via](http://qafoo.com/resources/presentations.html)) – hakre

回答

0

我对这个问题有点困惑,但我相信你在Laravel 4中已经实现了它们。它们只是叫做Packages,可以在http://www.packagist.org找到,并且可以很容易地安装和自动加载到你的应用程序中作曲家。

+2

此方法可能非常适合希望向软件添加功能的开发人员。但是,当管理站点的用户想要为站点添加插件时,这种方法很复杂。它应该像从面板添加插件并启用或禁用它一样简单。我想知道的是如何使用Laravel来最好地整合这一点。 – Sinan

2

Laravel是框架,不是CMS例如Wordpress或Joomla,适合每个人都可能会相当努力创造为Laravel可以以多种方式使用,这样的插件系统,但我真的可以看到的好处在某些情况下易于打包。

的Packagist已经被提到,并没有解决直接您的问题,但如何:

  1. 查找Packagist好可用的软件包您需要
  2. 定义通用插件架构的目的( Packagist软件包顶部的常见API,安装程序,软件包格式,迁移,更新等)
  3. 创建安装程序,通过Packagist/Composer获取软件包并添加软件包和集成套件的默认设置和配置上课他们进入定义插件架构
  4. 文件,并计划在此真的很好,其他人也将很快跟进