Скачиваний:
19
Добавлен:
27.11.2023
Размер:
99.15 Кб
Скачать

Array get_class_methods(string class_ati)

Bul funktsiyamiz klasting ishinde tanitilg’an funktsiyalardi ko'rsetib beradi. Misal ushin joqaridag’in tekserip ko'rayek yag’niy en’ aqirina:

$test=get_class_methods(Webpage); print $test[0]; print $test[1];

jazip tekshirip ko'rin’, sizde setbgcolor ha’m getbgcolor shiqiwi kerek.

Array get_class_var(string class_ati)

Classtin’ ishindegi o'zgermeslerdi qaytaradi. Yag’niy joqaridag’i get_class_methods siyaqli biraq, parqi o'zgermeslerdi qaytariwinda bolip esaplanadi.

Array get_object_vars(obiekt_ati)

Jaratilgan obiektning ishinde egerde qanday da bir o'zgermeske qandayda bir na’rseni tanitilg’an bolsa usilardin’ ha’mmesin ko'rsatip beredi.

Kelin’ misalg’a qarayiq:

<?

class Vehicle{ var $wheels;

} class Land extends Vehicle{ var Sengine;

} 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;

?> sonda aynan’izda doors==>2 engine==>400 wheels==>2 shig’adi.

Method_exists()

Obiektimizde qandayda bir funktsiya bar joqlig’in tekserip shig’adi. Egerde bar bolsa onda TRUE egerde joq bolsa onda FALSE qaytadi.

Get_class()

Qandayda bir obiektimiz qaysi klastin’ ishinde ekenligi qaytaradi.

Misalg’a qarayiq:

Class Vehicle {

...

} class Land extends Vehicle {

...

}

$car=new Land;

$class_a=get_class($car); sonda class_a=Land boladi.

get_parent_class()

Usi joqaridag’i siyaqli biraq, tiykarg’i ayna classti qaytaradi, yag’niy

$class_a=get_parent_class($car); class_a=Vehicle boladi.

is_subclass_of()

Bul funktsiya qandayda bir obiekt qaysi bir klasstan jaratilip jaratilmaganin tekseredi.

Bool is_subclass_of(object obiekt_ati, string class_ati) get_declared_classes()

Bul funktsiya bolsa, qanday klasslar jaratilg’an yag’niy tanitilg’an bolsa ha’mmesin ekrang’a shig’aradi.

A’meliy jumis

Konstruktor ha’m destruktor

Konstruktor

PHP 5 konstruktorlar metodin ja’riya qiliwdi a’melge asiradi. Konstruktor metodi ja’riya qiling’an klassi ha’r bir jan’a obiekt jaralg’anda shaqiriladi, sonday eken bul obiekt paydali bolip esaplanadi, misali; obiektti qollaniwdan aldin oni initsializatsiya qiliw.

Eskertiw: ata-analar klasindag’I konstruktorlar avtomatikaliq shaqirilmaydi. Konstruktordi shaqiriw ushin, ata-analar klassinda ja’riyalang’an parent::__construct() konstruktorin shaqiriw kerek.

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() metodi shaqirilmag’an bolsa, konstruktordi shaqiriw aldin’g’i sxema boyinsha shaqiriladi. Alding’i kod boyinsha tek bir mashqala payda boliwi mu’mkin, eger onda

__construct() metodi klasi bar bolsa.

Dekonstruktorlar

PHP5 __destruct() kontseptsiyasin usinadi.

Konstruktor jag’daylarina uqsas destruktorlar ata-analar klasinda avtomatik shaqirilmaydi. Konstruktordi shaqiriw ushin ata-analar klasindag’i parent::__destruct() metodina itibar qaratiw kerek.

Metod ko’rinisi.

Klass metodi public arqali an’latiliwi kerek, Private yamasa protected.Metod bul gilt so’zlersiz public dep aniqlanip ketedi

Metodtin’ aniqlaniwi to’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 не работает ?>

Оператор ::

"Paamayim Nekudotayim" yamasa qos noqat. Bul leksemani qollana otirip, da’stu’rshi konstantalarg’a mu’ra’jat etiwi mu’mkin, statistikaliq yamasa ha’dden tisqari ma’nisine yamasa klass metodina.

Bul elementlerge klass ishten mu’rajat qilg’anda da’stu’rshi usi klasstin’ atin qollaniwi kerek.

"Paamayim Nekudotayim" bir qarastan bul o’zgeshe so’z qurami bolip, bul qos noqatti an’latip beriwshi so’z. Biraq Zend Engine версии 0.5 versiyasi jaratiliw waqtinda (yag’niy PHP3 ke kirgen) Andi ha’m Zeey yag’niy usi ma’nisti aniq tan’lap aldi. "Paamayim Nekudotayim" rasinda da qos noqatti bildiredi. Bul ma’nis PHP jaratilg’annan baslap hesh o’zgertilmedi

Qollaniliw::Klass ishindegi jariyalaw

<?php class MyClass { const CONST_VALUE = 'Значение константы';

}

echo MyClass::CONST_VALUE; ?>

Obiekt iteratorlari

PHP 5 obiektlerdin’ qa’siyetlerin saqlay aladi ha’m de onda iterator mexanizmleri jaylasqan. Misali, foreach operatorin birge paydalaniw. Ko’pshilik jag’daylarda iteratsiyalarda barliuq qa’siyetler saqlanadi ha’m ol public dep dag’azalanadi.

Onnan tisqari da’stu’rshi o’z klassina PHP 5 tin’ ishki obiektlerin (ishki Iterator) jaylastiriw mu’mkin. Bul da’stu’rshige iteratsiya qalay a’melge asiriliwin aniqlap beredi.

Соседние файлы в папке REFERAT KURS JUMISI