Alıcılar ve belirleyiciler için kod Düzeni

4 Cevap php

Ben alıcılar ve belirleyiciler çok olan bir sınıf yazıyorum ve insanlar aşağıdaki hakkında ne düşündüğünü merak edildi:

Normal şekilde aşağıdaki gibi bir kod şudur:

public function setChangeSort($changeSort)
{
    self::$changeSort = $changeSort;
}

public function getChangeSort()
{
    return self::$changeSort;
}

Aşağıdaki yaparak ilgili düşünceleriniz nelerdir:

public function setChangeSort($changeSort) { self::$changeSort = $changeSort; }
public function getChangeSort() { return self::$changeSort; }

Bu yapılamaz omuz nasıl olduğu gibi, bunu resmi şekilde yapıyor sorunum yok. Bu sadece onlar ne gerçekten ortada benim Classon fonksiyonlarda alan bir sürü almak gibi görünüyor.

Şimdiden teşekkürler.

4 Cevap

Onlar, tutarlı, açık ve sezgisel eğer onlar yerine bazı kod tek bir satır daha işlevler olduğunu hemen belli yüzden ben dikkatle onları aralığı teşvik ediyorum rağmen tek satırlık koşullu bloklar, ince!

Ben "tek satır" varyasyon ile gitmek istiyorum. Ama only yaptığı tüm ayar ve bir değer oluyor eğer. Eğer null ya da başka herhangi bir doğrulama denetimi veya almak ya da ben daha okunabilir kod tutmak için ilk ve uzun varyasyon ile giderdim ayar başka bir şey yapıyor eklerseniz.

I diğer yöntemler ile aynı şekilde, genellikle tehdit tek hat yöntemleri. Ben onu daha okunabilir ve sürdürülebilir olduğu anlamına gelir eğer benim kaynak kodu artık N-çizgileri olmak umursamıyorum.

I would also suggesto to checkout the following document http://framework.zend.com/manual/en/coding-standard.html IMHO it's the best PHP coding standard reference available so far.

Ben çok sayıda alıcılar / ayarlayıcıları ile uğraşırken PHP5 sihirli alıcılar / setters gerçekten yararlı olduğunu düşünüyorum.

http://fr.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.members

Ve bir örnek.

<?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;
  }
}
?>