使用laravel 5.3为cms创建一个扩展安装程序


Creating An extension installer for a cms using laravel 5.3

你好,所以我正在创建基本的cms,这是在laravel 5.3,我想使用我的很多网站,我在未来的工作。目前,我已经创建了核心后端,其中包含文章和类别的创建以及设置处理程序。但是,我希望其余的后端功能可以像其他CMS的扩展一样安装。我所要做的就是放下一个json或xml文件的Zip文件夹来说明一些基本信息,然后它会自动创建可能需要的路由和模板。我想要的一个例子是一个媒体管理器扩展。这可能是json文件的样子:

{
    "ExtensionName":"Media Manager",
    "Alias":"media-manager",
    //Routes in the admin area. First is the route the second is the class
    "RoutesAdmin":[{"media/manager":"MediaManager"},{"media/manager/new":"MediaNew"}],
    "RoutesFront":'[{"/img/{imgName}":"ImageGet"}]
}

这只是我认为应该发生的事情的一个简短的例子。但我希望所有这一切都要加上我需要编码它一遍又一遍从一个网站到另一个。处理这件事的最好方法是什么?然而,这取决于变化。如果需要,请重定向到教程。但是我想不通。

谢谢

来自MJH的答案(所以我可以关闭而不删除):将它们开发为编写器包。然后,您需要做的就是将其添加到编写器中。Json和编写器更新使其工作。如果不喜欢CLI,您甚至可以为此创建某种UI。不需要发明自己的JSON格式,不需要…好吧,任何事情,你"只"需要开发实际的业务逻辑,让composer完成其余的工作,它甚至支持版本控制等。