[英]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.