PHP bu değişkeni $

4 Cevap php

Ben sadece PHP OO özelliklere aşina almak başladım, ve sana $this değişken hakkında bir şey sormak istiyorum. Ben $this anahtar sözcüğünü kullanarak olduğum bir sınıf tanımlanmış bir özellik değişken yoksa şeyden önce, foo, bu aşağıdaki kodu kullanarak anlamına gelmez:

$this->foo = 5;
echo $this->foo;

JavaScript gibi runtime nesne üzerinde foo özelliğini yaratacak? Bu özelliğin görüş nedir?

4 Cevap

Evet, bu foo mülkiyet yaratacak, ve görünürlük (varsayılan) public olacaktır.

Siz bu oldukça kolay test edebilir:

<?php
class Foo {
    public function setFoo($foo) {
        $this->foo = $foo;
    }
}

$f = new Foo();
$f->setFoo(5);
echo $f->foo;

Hiç hata ile 5 basacaktır.

Bahsetmemiz __get ve __set sihirli işlevidir. Tanımsız bir özellik denir her Postadölesan yöntemleri çağrılır.

Bu oldukça serin ve dinamik nesneleri oluşturmak için bir yol sağlar. Bilinmeyen özellikleri ile webservices ile kullanım için mükemmel.

Evet kesinlikle olacak.

Özellikler, bağımsız bir şekilde sınıfının herhangi bir nesne, eklenebilir. Bu yazmak mümkündür

$obj = new stdClass();
$obj->foo = 'bar';