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()