![](/user_photo/_userpic.png)
Array get_class_methods(string class_ati)
Bulfunktsiyamizklastingishindetanitilg’anfunktsiyalardiko'rsetibberadi. Misalushinjoqaridag’intekseripko'rayekyag’niyen’aqirina:
$test=get_class_methods(Webpage); print $test[0]; print $test[1];
jaziptekshiripko'rin’, sizdesetbgcolorha’mgetbgcolorshiqiwikerek.
Array get_class_var(string class_ati)
Classtin’ishindegio'zgermeslerdiqaytaradi. Yag’niyjoqaridag’iget_class_methodssiyaqlibiraq, parqio'zgermeslerdiqaytariwindabolipesaplanadi.
Array get_object_vars(obiekt_ati)
Jaratilganobiektningishindeegerdeqanday da biro'zgermeskeqandaydabirna’rsenitanitilg’anbolsausilardin’ha’mmesinko'rsatipberedi.
Kelin’misalg’aqarayiq:
<?
class Vehicle{ var $wheels;
} class Land extends Vehicle{ varSengine;
} class car extends Land{ var $doors; function car($doors, $eng, $wheels){
$this> doors=$doors; $this> engine=$eng; $this> wheels=$wheels;
} function get_wheels(){ return $this> wheels;
}
}
$toyota=new car(2, 400, 4);
$vars=get_object_vars($tooyota);
while (list($keys, $value)=each($vars)):
print $keys==> $value <br>”; endwhile;
?>sondaaynan’izda doors==>2 engine==>400 wheels==>2 shig’adi.
Method_exists()
Obiektimizdeqandaydabirfunktsiya bar joqlig’intekseripshig’adi. Egerde bar bolsaonda TRUE egerdejoqbolsaonda FALSE qaytadi.
Get_class()
Qandaydabirobiektimizqaysiklastin’ishindeekenligiqaytaradi.
Misalg’aqarayiq:
Class Vehicle {
...
} class Land extends Vehicle {
...
}
$car=new Land;
$class_a=get_class($car); sondaclass_a=Land boladi.
get_parent_class()
Usijoqaridag’isiyaqlibiraq, tiykarg’iaynaclasstiqaytaradi, yag’niy
$class_a=get_parent_class($car); class_a=Vehicle boladi.
is_subclass_of()
Bulfunktsiyaqandaydabirobiektqaysibirklasstanjaratilipjaratilmaganintekseredi.
Bool is_subclass_of(object obiekt_ati, string class_ati) get_declared_classes()
Bulfunktsiyabolsa, qandayklasslarjaratilg’anyag’niytanitilg’anbolsaha’mmesinekrang’ashig’aradi.
A’meliyjumis
Konstruktorha’mdestruktor
Konstruktor
PHP 5 konstruktorlarmetodinja’riyaqiliwdia’melgeasiradi. Konstruktormetodija’riyaqiling’anklassiha’rbirjan’aobiektjaralg’andashaqiriladi, sondayekenbulobiektpaydalibolipesaplanadi, misali; obiekttiqollaniwdanaldinoniinitsializatsiyaqiliw.
Eskertiw: ata-analarklasindag’Ikonstruktorlaravtomatikaliqshaqirilmaydi. Konstruktordishaqiriwushin, ata-analarklassindaja’riyalang’anparent::__construct() konstruktorinshaqiriwkerek.
Misal.
<?php class BaseClass { function __construct() { print "КонструкторклассаBaseClass\n"; } } class SubClass extends BaseClass { function __construct() { parent::__construct(); print "КонструкторклассаSubClass\n"; } } $obj = new BaseClass(); $obj = new SubClass(); ?>
Eger PHP5 construct() metodishaqirilmag’anbolsa, konstruktordishaqiriwaldin’g’isxemaboyinshashaqiriladi. Alding’ikodboyinshatekbirmashqalapaydaboliwimu’mkin, egeronda
__construct() metodiklasi bar bolsa.
Dekonstruktorlar
PHP5 __destruct() kontseptsiyasinusinadi.
Misal.
Destruktorqollanilg’an missal:
Konstruktorjag’daylarinauqsasdestruktorlarata-analarklasindaavtomatikshaqirilmaydi. Konstruktordishaqiriwushinata-analarklasindag’i parent::__destruct() metodinaitibarqaratiwkerek.
Metodko’rinisi.
Klassmetodi public arqalian’latiliwikerek, Private yamasaprotected.Metodbul gilt so’zlersiz public dep aniqlanipketedi
Metodtin’ aniqlaniwito’mendegishe:
<?php /** * Define MyClass */ class MyClass { // Contructors must be public public function __construct() { } // Declare a public method public function MyPublic() { } // Declare a protected method protected function MyProtected() { } // Declare a private method private function MyPrivate() { } // This is public function Foo() { $this->MyPublic(); $this->MyProtected(); $this->MyPrivate(); } } $myclass = new MyClass;$myclass->MyPublic(); // Работает $myclass->MyProtected(); // Fatal Error $myclass->MyPrivate(); // Fatal Error $myclass->Foo(); // Public, Protected и Private работают /** * Define MyClass2 */ class MyClass2 extends MyClass { // This is public function Foo2() { $this->MyPublic(); $this->MyProtected(); $this->MyPrivate(); // Fatal Error } } $myclass2 = new MyClass2; $myclass2->MyPublic(); // Работает $myclass2->Foo2(); // Public и Protected работает, Private неработает ?>
Оператор ::
"PaamayimNekudotayim" yamasaqosnoqat. Bulleksemaniqollanaotirip, da’stu’rshikonstantalarg’amu’ra’jatetiwimu’mkin, statistikaliqyamasaha’ddentisqarima’nisineyamasaklassmetodina.
Bulelementlergeklassishtenmu’rajatqilg’andada’stu’rshiusiklasstin’ atinqollaniwikerek.
"PaamayimNekudotayim" birqarastanbulo’zgesheso’zquramibolip, bulqosnoqattian’latipberiwshiso’z. Biraq Zend Engine версии 0.5 versiyasijaratiliwwaqtinda (yag’niy PHP3 kekirgen) Andi ha’mZeeyyag’niyusima’nistianiqtan’lapaldi. "PaamayimNekudotayim" rasinda da qosnoqattibildiredi. Bulma’nis PHP jaratilg’annanbaslaphesho’zgertilmedi
Qollaniliw::Klassishindegijariyalaw
<?php class MyClass { const CONST_VALUE = 'Значениеконстанты';
}
echoMyClass::CONST_VALUE;
?>
Obiektiteratorlari
PHP 5 obiektlerdin’ qa’siyetlerinsaqlayaladiha’m de onda iterator mexanizmlerijaylasqan. Misali, foreachoperatorinbirgepaydalaniw. Ko’pshilikjag’daylardaiteratsiyalardabarliuqqa’siyetlersaqlanadiha’mol public dep dag’azalanadi.
A’piwayiiteratsiyaobiekti
<?php class MyClass { public $Ataxanov1 = 'Allayar 1'; public $Ataxanov2 = 'Allayar 2'; public $Ataxanov3 = 'Allayar 3'; protected $protected = 'protected'; private $private = 'private'; } $class = new MyClass(); foreach($class as $key => $Allayar) { print "$key => $Allayar\n"; }
?>
Na’tiyje:
Ataxanov1
=>Allayar 1
Ataxanov2 =>Allayar 2
Ataxanov3 =>Allayar
3
Na’tiyjeniko’ripturg’anin’izdayforeachfunktsiyasi public obiektlerinin’ qa’siyetlerinko’rsetedi. Onnantisqarida’stu’rshio’zklassina PHP 5 tin’ ishkiobiektlerin (ishki Iterator) jaylastiriwmu’mkin. Bulda’stu’rshigeiteratsiyaqalaya’melgeasiriliwinaniqlapberedi.