OO PHP编写脚本的可能改进

时间:2015-06-02 17:09:58

标签: php oop csv

好的,我想在PHP中扩展我的军械库,所以我一直在研究OO PHP。通过我的研究知识,我继续创建一个快速脚本,读取CSV文件并输出结果。

CSV类:

class CSV {

    private $file; 

    public function __construct($filename, $mode) {
        $this->file = fopen($filename, $mode); 
    }

    public function endFile() {
        return feof($this->file); 
    }

    public function getCSV($mode) {
        return fgetcsv($this->file, $mode);
    } 

    public function close() {
        fclose($this->file); 
    }
}

测试文件:

require('class.csv.php');

$csv = new CSV('postcodes.csv', 'r'); 

while(!$csv->endFile()) {

    $postcode = $csv->getCSV(1024); 
    echo $postcode[0] . "<br />"; 

}

$csv->close();

我只是想知道是否有......或者我对OO方法有什么改进。这纯粹是一个脚本,让我把我学到的知识放在一起。我不是另一个“跟随人群”的人,因为他们“可以”,他们以OO方式制作每个剧本。

我知道这是一个简短的剧本,但我想确保在前进之前有正确的方法。

1 个答案:

答案 0 :(得分:0)

我能想到的唯一可能是改进代码的方法是在主测试文件中少用。使用面向对象代码的一般概念是,您可以在类本身中做很多事情而在主文件中做得更少。

例如,假设您需要在代码中稍后再次执行您在测试文件中执行的操作。您需要再次完成复制while循环。相反,也许可以编写一个方法来处理你的while循环正在执行的算法并调用它。然后,您可以再次调用该方法,就这么简单!

最好的部分是,您可以在类中的其他方法中使用类中的方法。就像endFile()方法可以通过说$this->endFile()来调用$file一样,通过说$this->file

来调用ProxyPass /blog https://mynewblog.com/ ProxyPassReverse /blog https://mynewblog.com/

否则,我说你看起来很好!