目前我正在开发一个小型的无头CMS。如果有人想使用它,他应该复制我的CMS的根文件夹并将其放入他的public_html文件夹中。因此,对于对CMS的任何请求,URL如下所示:
example.com/my-cms-name/subfolder/...
为了更好地组织第三方库,我决定使用composer。但是现在我的CMS文件夹中有composer.json文件和供应商文件,该文件将位于public_html文件夹中。因此,作曲家的所有内容都将提供给所有人,这显然不是一个好的做法。
我怎样才能克服这个问题?我应该在不同的文件夹中分别执行所有作曲家的操作吗?但是我的CMS的用户必须将多个文件夹包含在多个目录中,这使一切变得更加复杂......
我同意半疯狂。可能人们无论如何都必须通过FTP上传您的CMS文件并设置根路径。因此,您不妨将脚本分为私有脚本和公共脚本。因此,像这样的目录结构可能是个好主意。
-config
-public_html (root path that people must point their domain to)
-css
-javascript
-images
-index.php
-.htaccess (optional)
-src (where your namespaced script should reside )
--MyApp
-vendor
-composer.json
-composer.lock
更新 composer.json 并添加您自己的 src,运行 update 命令。然后在索引中包含供应商自动加载.php.php然后采用路由器/控制器方式。