How to structure a platform with sub apps in Laravel 4?

核能气质少年 提交于 2019-12-04 13:26:31

问题


I need to develop several websites with common features and flows, the only thing that will dramatically change is the CSS, even the HTML will be common.

I'm having troubles to assemble this structure in Laravel 4, since I'm still a begginer at the framework.

  • I need to have a "super project" that all "sub projects" will inherit from.
  • I need to be able to implement custom features and flows in a specific "sub project".
  • I need to separate every project in it's own GIT repository.

I would love to have an opinion of someone who already had to create such structure.

Thanks in advance!


回答1:


You can use package feature, first of all you need to make a kernel package as your basic project and then extends 'sub projects' from your git repository, it's easy way, as Laravel introduction says:

"Packages might be anything from a great way to work with dates like Carbon, or an entire BDD testing framework like Behat."

With packages you can single out each feature on composer.json and load them one by one.




回答2:


Assuming that the separate Git repos is required, one approach could be to have an "app" folder for each project plus one for the main project. I.e.:

  • App
  • Subapp1
  • Subapp2
  • ...

Then you need to add an autoloader that checks if the given file is present in the subapp-folder. If not, then load from the app folder. This way you can centralize app files, but also create custom other files, or override app files via the subapp-folders. Each subapp folder can then be an individual Git repo, while the root folder excluding the subapp folders are the main repo.

Config and routing would be handled via the main app.

You could also add namespaces or a similar folder end structure to control in more detail what functionality is customized by the subapps, without having to override an entire controller or model from the app.



来源:https://stackoverflow.com/questions/22307075/how-to-structure-a-platform-with-sub-apps-in-laravel-4

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!