簡體   English   中英

OO PHP書面腳本的可能改進

[英]Possible improvements for an OO PHP written script

好的,我想在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方法進行哪些改進。 這純粹是我將自己學到的知識匯總在一起的腳本。 我不是另一個“跟隨人群的人”,因為他們“可以”,所以他們以面向對象的方式創建每個腳本。

我了解這是一個簡短的腳本,但我想確保在前進之前我已經采用了正確的方法。

我唯一想到的可以改善代碼的事情是在主測試文件中減少內容。 使用面向對象代碼的一般想法是,您可以對類本身做很多事情,而在主文件中卻可以做更少的事情。

例如,假設您需要稍后在代碼中再次完全執行測試文件中的操作。 您將需要再次完成重復的while循環。 相反,也許編寫一個方法來處理while循環正在執行的算法,然后調用該方法。 然后,您可以再次調用該方法,就這么簡單!

最好的部分是,您可以在類中的其他方法中使用類中的方法。 就像可以通過說出$this->endFile()來從另一種方法調用endFile()方法,就像通過說出$this->endFile()來調用$file $this->file

否則,我會說你看起來不錯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM