Ne senaryo içinde bir Phps büyü function toString kullanmak gerekir (olur)

2 Cevap php

Neden bir programcı işlevini kullanmanız gerekir? Nasıl aynı sonuçları php 4 elde olurdu?

2 Cevap

Eğer (bir dizge olarak kullanılan) bir dize bağlamında kullanıldığında bir nesne nasıl davranacağını kontrol etmek istediğiniz herhangi bir senaryoda, örneğin

class FullName
{
    protected $firstName;
    protected $middleNames = array();
    protected $lastName;

    // ... methods ...

    public function __toString()
    {
        return sprintf('%s %s %s', $this->firstName,
                                   implode(' ', $this->middleNames),
                                   $this->lastName);
    }
}

$fullname = new FullName('John', array('Jim', 'Jamie'), 'Jackson');
echo "Hello, my name is $fullname";

Siz PHP4'te bu yöntemi taklit edemez. Aslında, hatta hiç artık PHP4 kullanarak olmamalıdır.

Bakınız this question. Onun varsa, aynı ulaşmak için döküm onun tercih.