我在Symfony的1.4创建的任务载荷在一些CSV文件导入表 - 很简单 - >添加自定义的类/方法
protected function execute($arguments = array(), $options = array())
{
$databaseManager = new sfDatabaseManager($this->configuration);
$connection = $databaseManager->getDatabase($options['connection'])->getConnection();
......
$query = "LOAD DATA INFILE '" . $cdrfile . "'
INTO TABLE ....
etc
$connection->execute($query);
}
但我想重用的代码别的地方本节 - 所以我创建了一个新的PHP类,并创建了一个名为loadDataFromCSV
的新静态方法。
我把所有的代码到该方法然后叫class::loadDataFromCSV
...
这给了我一些问题 - 首先在方法$this
关键字不作为类它不是一个对象有效(即不实例化) - 所以我可以实例化该类,然后调用方法class->loadDataFromCSV
- 下一个问题是在第一行上的$this->configuration
- 是否必须将配置传递给该方法才能使其工作?
什么是最简单的方法来创建一个简单的方法来运行一段简单的代码 - 而不必传递大量变量。
我会看看依赖注入 - 谢谢。 – ManseUK