将要在其他项目中使用的 CMS 中的 composer 放在哪里?
Where to put composer in a CMS that is going to be used in other projects?
目前我正在开发一个小型的无头 CMS。如果有人想使用它,他应该复制我的 CMS 的根文件夹并将其放入他的 public_html 文件夹中。因此,对于对 CMS 的任何请求,URL 看起来像这样:
示例。com/my-cms-name/subfolder/...
为了更好地组织第三方库,我决定使用 composer。但现在我的 CMS 文件夹中有 composer.json 文件和供应商文件,它们将位于 public_html 文件夹中。因此,composer 的所有内容都将对所有人可用,这显然不是一个好的做法。
我该如何克服这个问题?我应该在不同的文件夹中分别做所有作曲家的事情吗?但是我的 CMS 用户必须将多个文件夹包含到多个目录中,这使得一切变得更加复杂...
我同意半疯。无论如何,人们可能不得不通过 FTP 上传您的 CMS 文件并设置根路径。因此,您不妨将您的脚本分为私有脚本和 public 个脚本。所以像这样的目录结构可能是个好主意。
-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,运行 更新命令。然后将供应商 autoload.php 包含在您的 index.php 中,然后按照 router/controller 方式。
目前我正在开发一个小型的无头 CMS。如果有人想使用它,他应该复制我的 CMS 的根文件夹并将其放入他的 public_html 文件夹中。因此,对于对 CMS 的任何请求,URL 看起来像这样:
示例。com/my-cms-name/subfolder/...
为了更好地组织第三方库,我决定使用 composer。但现在我的 CMS 文件夹中有 composer.json 文件和供应商文件,它们将位于 public_html 文件夹中。因此,composer 的所有内容都将对所有人可用,这显然不是一个好的做法。
我该如何克服这个问题?我应该在不同的文件夹中分别做所有作曲家的事情吗?但是我的 CMS 用户必须将多个文件夹包含到多个目录中,这使得一切变得更加复杂...
我同意半疯。无论如何,人们可能不得不通过 FTP 上传您的 CMS 文件并设置根路径。因此,您不妨将您的脚本分为私有脚本和 public 个脚本。所以像这样的目录结构可能是个好主意。
-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,运行 更新命令。然后将供应商 autoload.php 包含在您的 index.php 中,然后按照 router/controller 方式。