Php 允许开源项目的用户将自己的文件添加到副本中
因此,我正在创建一个新的应用程序,并正在为其用户寻找自定义副本的方法 基本上,我没有使用git子模块的经验,几乎没有使用git子模块的经验。我将此文件结构推送到git:Php 允许开源项目的用户将自己的文件添加到副本中,php,git,open-source,updates,composer-php,Php,Git,Open Source,Updates,Composer Php,因此,我正在创建一个新的应用程序,并正在为其用户寻找自定义副本的方法 基本上,我没有使用git子模块的经验,几乎没有使用git子模块的经验。我将此文件结构推送到git: /ROOT ----/subdirectory/ ---------/another.file.php ----/main.class.php ----/config.default.php 如果用户能够将config.default.php复制到同一目录,将其重命名为config.php(这样做会覆盖默认配置值),我希望他们
/ROOT
----/subdirectory/
---------/another.file.php
----/main.class.php
----/config.default.php
如果用户能够将config.default.php
复制到同一目录,将其重命名为config.php
(这样做会覆盖默认配置值),我希望他们也能够将自己的文件添加到/子目录/
,允许他们将工具扩展到其独特的需求
我的问题是,在执行pull(在git子模块的情况下)或Composer更新时,这些文件不会被修剪吗?如果是这样,我如何在尽可能不打扰最终用户的情况下实现要求:
提前感谢您的耐心。现在大多数应用程序框架/CMS正在做的是将此过程分为两个包:
- 一个库包(例如symfony/symfony、laravel/framework),其中包含大部分代码,将在供应商中安装/
- 一个“bootstrap”包(例如symfony/framework standard edition,laravel/laravel),其中包含用户可以从中启动的应用程序外壳。这将包含默认配置和composer.json,其中包括库包+在“require”部分中需要的任何其他内容。此引导程序包通常不会通过composer进行更新,因为它将成为用户的应用程序/站点。因此,它应该包含尽可能少的代码,并且本质上只是配置
- 一个库包(例如symfony/symfony、laravel/framework),其中包含大部分代码,将在供应商中安装/
- 一个“bootstrap”包(例如symfony/framework standard edition,laravel/laravel),其中包含用户可以从中启动的应用程序外壳。这将包含默认配置和composer.json,其中包括库包+在“require”部分中需要的任何其他内容。此引导程序包通常不会通过composer进行更新,因为它将成为用户的应用程序/站点。因此,它应该包含尽可能少的代码,并且本质上只是配置
if ( is_readable( KINT_DIR . 'config.php' ) ) {
require KINT_DIR . 'config.php';
}
如果您添加了一个公共setConfig()属性,那么该配置可以位于任何位置,并且您的默认设置仍然有效(代码在我的小脑袋顶部):
当前在类加载时加载用户配置:
if ( is_readable( KINT_DIR . 'config.php' ) ) {
require KINT_DIR . 'config.php';
}
如果您添加了一个公共setConfig()属性,那么该配置可以位于任何位置,并且您的默认设置仍然有效(代码在我的小脑袋顶部):
谢谢,我是你的php控制台的粉丝,顺便说一下,我一直想从Krumo请求升级到Kint。我会记住你的答案,但我仍然希望有一个更简单的解决方案来解决这个看似常见的问题。谢谢,我是你的php控制台的粉丝,顺便说一下,我一直想从Krumo请求升级到Kint。我会记住你的答案,但我仍然希望有一个更简单的办法来解决这个看起来很普遍的问题。。