PHP OOP - iyi / kötü, doğrudan adresleme özellikleri var mı?

3 Cevap php

Ben bir örnek ile bu göstermeye çalışacağım:

class DogShelter
{
  private $dog;

  public function handleDogDirect( )
  {
     $this->dog = trim( $this->dog );
     $this->dog = rtrim( $this->dog, 'abc' );
     $this->dog = strtolower( $this->dog );
     $this->dog = basename( $this->dog );
  }

  public function handleDogIndirect( )
  {
     $dog = $this->dog;

     $dog = trim( $dog );
     $dog = rtrim( $dog, 'abc' );
     $dog = strtolower( $dog );
     $dog = basename( $dog );

     $this->dog = $dog;
  }
}

Farklı durumlarda daha iyi işlev hangisi - handleDogDirect veya handleDogIndirect?

  • Neden?
  • Hangisi muhtemelen daha hızlı?
  • Hangisini kullanmalıyım?

By the way: Since the rep recalc, I can't login with my OpenID from wordpress anymore. It keeps saying No OpenID endpoint found.. I would really appreciate any help.

3 Cevap

O instance $dog hangi elde etmek istediğini gibi görünüyor erişen beri I handleDogDirect kullanmak istiyorsunuz. Ikinci fonksiyon same fonksiyonu gerçekleştirmek için gereksiz bir değişken oluşturmak gibi görünüyor.

Ben sınıfının özelliklerini kullanıyorum her bir kongre olarak ben her zaman doğrudan $this anahtar kelime kullanın içindeki sınıf fonksiyonları içinde değilim.

Iki, onun muhtemelen önemsiz biriyle bir performans sorunu varsa. I strongly bu performans endişelenecek zamanı geldiğinde performans sorunları dert öneririz.

Ben sebepsiz yeni bir değişken yaratarak bir nokta var sanmıyorum. Ben herhangi bir ihmal olup olmadığını performans isabet düşünüyorum. Aslında ne olması gerektiğini değeri sınıf değişkeni yerleştirilir önce setDog içinde yani temizlemek () gerektiğidir.

Ben bu kişisel kodlama stili daha bir konu olduğunu söyleyebilirim.

Bana benim kodu görselleştirmek şekilde daha mantıklı, çünkü ben bazen (özellikle az shift tuşunun basılı tutarak) daha az yazmaya içerir becuase, () handleDogIndirect gibi yapmak, ve ben daha iyi okur düşünüyorum çünkü.

Ben bana daha mantıklı neden anlatmaya çalışacağım. Fonksiyonlar kendi kapsamı var, bu yüzden kendi küçük dünya vardır. Onlar bu kapsamda çalışırken mutlu olurlar, bu yüzden ilk ben onların kapsam içine ihtiyacınız olacak her şeyi çekin emin olmak istiyorum. Bu işlem tamamlandıktan sonra bu görevi yerel bulunuyor ne sadece, başka bir yerde oluyor ne düşünmek zorunda değilsiniz. Az zihin dağınıklığı.

Onların işi bittiğinde, Sonra geri ait olduğu onların yararlı veriler koydu.

Ben biraz uzun ya da karmaşık bir yöntem varsa özellikle yardımcı oluyor.