如何在版本控制下处理特定于平台的代码

时间:2012-05-14 22:15:53

标签: php svn version-control

我们在Windows和Linux上都有使用SVN的Web开发人员。一些PHP文件引用本地路径(例如Smarty / Geolocation库),因此在它们各自的平台上是不同的。我们需要保留这些文件,但开发人员开始只是在这些特定文件上添加svn:ignore属性以防止冲突。我能提出的唯一解决方案是使用一些代码来确定正在运行的操作系统,但这对于生产代码来说似乎很臃肿。

if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
        define('SMARTY_DIR', 'c:/xampp/smarty/');
    } else { 
        define('SMARTY_DIR', '/usr/local/lib/php/Smarty/');
    }

我很想知道其他人是如何解决这个问题的。

1 个答案:

答案 0 :(得分:2)

执行此操作的典型方法是使用config.php.template文件。模板文件受版本控制,开发人员将其复制到config.php以进行本地设置。