Iyi PHP bir nesne veya bir Statik Fonksiyonu kullanmak için?

3 Cevap php

Ben OO ve sınıfları ve PHP bütün bu iyi şeyler, nihayet bunu biraz kullanmak için yeterince iyi sytax öğreniyorum öğrenmeye çalışıyorum ve yeni bir nesne başlangıç ​​yerine sadece statik yöntemleri kullanarak herhangi bir yararı olup olmadığını merak ediyorum .. . bana ne demek için bazı kod göstereyim ...

<?PHP
test class
{
    public function cool()
    {
         retunr true;

    }
}

//Then calling it like this
$test = new test();
$test->cool();
?>

VEYA

<?PHP
test class
{
    public static function cool()
    {
         retunr true;

    }
}

//Then calling it like this
test::cool();

?>

Ben bu hayal en temel örneği gerçekleştirmek ve cevap muhtemelen duruma bağlıdır ama belki bana biraz daha iyi anlamanıza yardımcı olabilir

3 Cevap

Lütfen Örneğin, statik işlevi kullanmak daha iyidir, ancak çoğu durum bu kadar basit olmayacaktır. Ile başlamak etmeniz gereken bir kural, bir yöntem $this değişkeni kullanmak değilse, o zaman statik yapılmalıdır olmasıdır.

Bir nesneye 'planlar' gibi sınıfların düşünün. Bunu her yerde geçerli olabilecek genel bir fonksiyonu olduğunda statik yöntemini kullanın ve bu belirli bir nesne başvurusu istediğinizde yöntemleri kullanmak istiyorum.

Here is an article that discusses differences in performance between these concepts: http://www.webhostingtalk.com/showthread.php?t=538076.

Temelde performansında herhangi bir büyük fark yoktur, böylece daha sonra seçim sizin tasarım dayalı yapılır.

Bir nesneyi birkaç kez yaratmak için gidiyoruz eğer, o zaman tabii ki bir sınıf mantıklı.

Eğer belirli bir nesneye bağlı olmayan bir yardımcı işlev oluştururken, o zaman statik bir işlevi oluşturun.