php,版本控制和使用声明

时间:2018-11-16 23:45:50

标签: php version-control-migration

是否可以在use语句中使用变量? 如何使用我使用use语句定义的特征和其他文件来实现版本控制?

<?php
namespace SomeNamespace;

$vers = '10'; 

use SomeNamespace2\someTrait_$vers;
use SomeNamespace3\someTrait_$vers;

我希望能够为所有use语句分配一个版本。

2 个答案:

答案 0 :(得分:2)

@Nick的答案是一个不错的选择。但是class_alias可能更合适。 (或更糟的是,取决于您的情况或偏好...)类似

ready

,然后在其余代码中仅引用class_alias("SomeNamespace2\\someTrait_$vers", 'SomeNamespace2\someTrait');

答案 1 :(得分:0)

尽管PHP不支持use语句中的变量,但是您可以通过将use语句(以及其他特定于版本的代码)放入一系列包含文件(每个版本一个)中来克服这一问题。然后在require(或include)语句中使用变量来包含所需的文件。例如:

use_10.php:

use SomeNamespace2\someTrait_10;
use SomeNamespace3\someTrait_10;

use_11.php:

use SomeNamespace2\someTrait_11;
use SomeNamespace3\someTrait_11;

您的主要PHP代码:

$vers = 10;   // or 11, or any value for which you have created an include file
require_once "use_$vers.php";