Herkes mysqli->commit ve mysqli::commit arasındaki farkı söyleyebilir misiniz?
In başlık this page olan mysqli::commit, ancak örneklerde kullandıkları mysqli->commit.
Kafam karıştı.
Herkes mysqli->commit ve mysqli::commit arasındaki farkı söyleyebilir misiniz?
In başlık this page olan mysqli::commit, ancak örneklerde kullandıkları mysqli->commit.
Kafam karıştı.
Bir nesnenin bir üyesi atıfta -> kullanılır.
:: olan Scope Resolution Operator ve A Sınıfı bir statik üyesi başvurmak için kullanılır.
Aşağıdaki sınıfı düşünün:
class FooBar {
public static function fizz() {
echo "Fizz";
}
public function buzz() {
echo "Buzz";
}
}
Sen fonksiyonunu buzz() kullanarak çağırır ->:
$myFooBar = new FooBar();
$myFooBar->buzz();
Ama ::, bir statik üye (çağrılacak sınıfının bir örneğini gerektirmeyen bir üyesi) olduğu gibi, fizz() functon aramak için kullanabilirsiniz:
FooBar::fizz();
Biz instantiated üyelerine karşı static üyeleri arasındaki fark hakkında konuşurken Ayrıca, size $this içinde geçerli örneğine başvurmak için kullanamazsınız {[(0) }] üyeleri. Geçerli sınıfa gelir self instead (no leading $) hangi kullanmak, ya da parent if you want to refer to the parent class, or if you have the pleasure of working with PHP 5.3.0, static a> (bağlama geç statik olanak sağlayan .)
Dokümantasyon kullanımları :: başlığında sınıf adı gibi bir sınıf içinde bir işleve başvurmak için sınıfının bir örneği değil. Yine aynı örneği kullanarak, işlevine atıfta dokümantasyon giriş buzz() şu başlığı kullanabilirsiniz:
FooBar::buzz
Dokümantasyon statik üyesi belirtmediği sürece Ama, onu aramak için bir örnek üzerinde -> kullanmanız gerekir:
$myFooBar = new FooBar();
$myFooBar->buzz();
Eğer bir nesnenin örneği varsa, kullanmak -> Bu örneği içinde bir yönteme başvurmak için:
$foo = new Foo();
$foo->bar();
Nesnesinin bir örneğini oluşturmak zorunda kalmadan, statik yöntemini çağırır :: Kullanımı:
Foo::baz();
Statik bir yöntem $this aracılığıyla bir o mevcut örneğine bakın, ancak self kullanarak kendisi (geçerli sınıf) başvurabilirsiniz.
:: aslında bir nesneyi başlatmasını olmadan çağrılabilir statik (sınıf) yöntemini belirtir. Kullanmak mümkün örneği bir nesne gerekir bunun için ->, bir örneği (nesne) yöntemini belirler.
Yani, örneğin, size sınıfının bir örneği mysqli, sen $m->commit() söyleyerek commit dediğimiz oldu $m bir değişken olsaydı, ya diyerek statik taahhüt diyebiliriz MySQLi::commit()