Php 类中需要配置文件
我想在类中使用config.php文件中声明的变量进行测试。我不确定这样做是否正确,就像我做的那样 我有一个配置文件config.php:Php 类中需要配置文件,php,require,Php,Require,我想在类中使用config.php文件中声明的变量进行测试。我不确定这样做是否正确,就像我做的那样 我有一个配置文件config.php: class Config { public $hosts = array( 'a' => '192.168.1.10' 'b' => '192.168.1.11', ); public $ports = array( 'a' => 22, 'b' =
class Config {
public $hosts = array(
'a' => '192.168.1.10'
'b' => '192.168.1.11',
);
public $ports = array(
'a' => 22,
'b' => 22,
);
}
我希望在名为Tests.php的文件中包含以下变量:
require_once 'config.php';
class Test extends PHPUnit_Framework_TestCase
{
protected $hosts;
protected $ports;
public function __construct()
{
$config = new Config();
$this->hosts = $config->hosts;
$this->portsSsh = $config->ports;
}
public function testConnect()
{
$session = $this->connect($this->hosts['a'], $this->ports['a']);
$this->closeConnection($session);
}
...
}
这样做对吗?
我觉得太复杂了。我必须为config.php文件创建一个类,在测试类中,我必须像映射$this->hosts=$config->hosts那样做
难道没有更简单的方法吗?我不想用globals 那太好了 PhpUnit有一个名为setUp的方法,用于这种情况。 在运行每个测试方法之前调用它
还有一个tearDown()以防万一。为什么不使用parse_ini_file PHP函数解析一个真正的配置文件(config.ini)?就其本身而言,这里唯一直接的问题是与
config
相关的代码应该在setUp
方法中,而不是在构造函数中。但是我更担心的是你编写Config
类的方式。用PHP硬编码配置被认为是相当不安全的,并且会使代码难以在大型项目中使用。请考虑发布您的一些代码来获取更多的细节,以及如何更好地解决这些问题的一些建议。issue@Elias范奥特格姆:谢谢你的回答和推荐。我做到了。你是说用setUp()方法而不是构造函数?是的!这样,如果在其他文件中需要这些设置,可以将其移动到父类中。