[英]Code Layout for getters and setters
我正在編寫一個包含許多吸氣劑和吸氣劑的課程,並且想知道人們對以下內容的看法:
正常的方式是如下代碼:
public function setChangeSort($changeSort)
{
self::$changeSort = $changeSort;
}
public function getChangeSort()
{
return self::$changeSort;
}
您對執行以下操作有何看法:
public function setChangeSort($changeSort) { self::$changeSort = $changeSort; }
public function getChangeSort() { return self::$changeSort; }
我完全可以按原樣進行操作,因為這應該做到。 它似乎在我的classon函數中占據了很多空間,這些空間在它們的工作中確實很明顯。
提前致謝。
如果它們是一致的,顯而易見的和直觀的,則單行條件塊就可以了,盡管我鼓勵小心地將它們隔開,所以很明顯它們是函數而不是某些單行代碼!
我會選擇“單行”變體。 但是, 只有要做的就是設定並獲得價值。 如果您添加了一個用於null或其他任何驗證的檢查,或者執行除獲取或設置以外的任何其他操作,則我會采用第一個也是更長的版本,以使代碼更具可讀性。
我通常以與其他方法相同的方式威脅單行方法。 我不介意我的源代碼更長一些,因為這意味着它更具可讀性和可維護性。
我也建議您查看以下文檔http://framework.zend.com/manual/zh-CN/coding-standard.html恕我直言,這是迄今為止最好的PHP編碼標准參考。
我認為PHP5的神奇的getter / setter在處理大量的getter / setter時確實很有幫助。
http://fr.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members
還有一個例子。
<?php
class A {
private $properties = array();
public function __set($key, $value) {
if (is_array($value)) {
$this->$key = $value;
} else {
$this->properties[$key] = $value;
}
}
public function __get($key) {
if (array_key_exists($key, $this->properties)) {
return $this->properties[$key];
}
return null;
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.