[ Pobierz całość w formacie PDF ]
.com_isenum (PHP 4 >= 4.1.0)Grabs an IEnumVariantvoid com_isenum ( object com_module) \linebreakOstrzeżenieTa funkcja jest obecnie nieudokumentowana, dostępna jest jedynie lista jejargumentów.com_load_typelib (PHP 4 >= 4.1.0)Loads a Typelibvoid com_load_typelib ( string typelib_name [, int case_insensitive]) \linebreakOstrzeżenieTa funkcja jest obecnie nieudokumentowana, dostępna jest jedynie lista jejargumentów.com_load (PHP 3>= 3.3)Creates a new reference to a COM componentstring com_load ( string module name [, string server name [, int codepage]]) \linebreakcom_load() creates a new COM component and returns a reference to it.ReturnsFALSEon failure.Possible values forcodepageareCP_ACP,CP_MACCP,CP_OEMCP,CP_SYMBOL,CP_THREAD_ACP,CP_UTF7andCP_UTF8.331COMcom_propget (PHP 3>= 3.3, PHP 4 >= 4.5)Gets the value of a COM Component s propertymixed com_propget ( resource com_object, string property) \linebreakThis function is an alias for com_get().com_propput (PHP 3>= 3.3, PHP 4 >= 4.5)Assigns a value to a COM component s propertyvoid com_propput ( resource com_object, string property, mixed value) \linebreakThis function is an alias for com_set().com_propset (PHP 3>= 3.3, PHP 4 >= 4.5)Assigns a value to a COM component s propertyvoid com_propset ( resource com_object, string property, mixed value) \linebreakThis function is an alias for com_set().com_release (PHP 4 >= 4.1.0)Decreases the components reference counter.void com_release ( void) \linebreakDecreases the components reference counter.com_set (PHP 3>= 3.3, PHP 4 >= 4.5)Assigns a value to a COM component s propertyvoid com_set ( resource com_object, string property, mixed value) \linebreakSets the value of theproperty of the COM component referenced bycom_object.Returns thenewly set value if succeeded,FALSEon error.332IX.Klasy/ObiektyWprowadzenieTe funkcje pozwalają uzyskać informacje o klasach i ich egzemplarzach, obiektach.Możesz uzyskaćinformację o nazwie klasy do jakiej należy obiekt, a także jej właściwości i metody.Używając tychfunkcji możesz dowiedzieć się nie tylko do jakiej klasy należy obiekt, ale także ustalić jegoprzodków (np.jaką klasę rozszerza klasa tego obiektu).PrzykładyW tym przykładzie najpierw zdefiniujemy bazową klasę i jej rozszerzenie.Klasa bazowa opisujenormalne warzywo, czy jest jadalne czy nie oraz jego kolor.PodklasaSzpinakdodaje metodępozwalającą go zagotować i drugą, która pozwala dowiedzieć się, czy jest zagotowany.Przykład 1.classes.incjadalne = $jadalne;$this->kolor = $kolor;}function jest_jadalne() {return $this->jadalne;}function jaki_kolor() {return $this->kolor;}} // koniec klasy Warzywo// rozrzesza klasę bazowąclass Szpinak extends Warzywo {var $ugotowane = false;function Szpinak() {$this->Warzywo( true, "zielone" );}function ugotuj() {333Klasy/Obiekty$this->ugotowane = true;}function jest_ugotowane() {return $this->ugotowane;}} // koniec klasy Szpinak?>Teraz możemy stworzyć dwa egzemplarze tych klas i wydrukować informacje o nich, włączając w toinformacje o przodkach.Zdefiniujemy także kilka użytecznych funkcji, głównie po to by uzyskaćładny wydruk zmiennych.Przykład 2.test_script.phpWartą odnotowania rzeczą w powyższym przykładzie jest to, że obiekt$lisciastejestegzemplarzem klasySzpinakktóra to jest podklasą klasyWarzywo, i tak ostatnia częśćpowyższego skryptu pokaże na wyjściu:[.]Przodkowie:Obiekt lisciasty nie należy do podklasy SzpinakObiekt lisciasty należy do klasy Szpinak, podklasy Warzywo335Klasy/Obiektycall_user_method_array (PHP 4 >= 4.5)Wywołuje metodę użytkownika zadaną z tablicą parametrów [przestarzałe]mixed call_user_method_array ( string nazwa_metody, object obiekt [, array tabparam]) \linebreakOstrzeżenieFunkcja call_user_method_array() jest przestarzała od PHP 4.1.0, zamiastniej użyj wariacji funkcji call_user_func_array() posługując się składniąarray(&$obiekt, "nazwa_metody").Wywołuje metodę nazwanąnazwa_metody z obiektuobiektzdefiniowanego przezużytkownika, używając parametrów ztabparam.Patrz także: call_user_func_array(), call_user_func(), call_user_method().Notatka: Funkcja ta została dodana do kodu w CVSie po wydaniu PHP 4.4pl1call_user_method (PHP 3>= 3.3, PHP 4 )Wywołuje metodę użytkownika na zadanym obiekcie [przestarzałe]mixed call_user_method ( string nazwa_metody, object obiekt [, mixed parametr [, mixed.]]) \linebreakOstrzeżenieFunkcja call_user_method() jest przestarzała od PHP 4.1.0, zamiast niej użyjwariacji funkcji call_user_func() posługując się składnią array(&$obiekt,"nazwa_metody").Wywołuje metodę nazwanąmethod_namez obiektuobiektzdefiniowanego przez użytkownika.Przykład użycia znajdziesz niżej, gdzie definiujemy klasę, tworzymy jej egzemplarz i używamyfunkcji call_user_method() by pośrednio wywołać jej metodędrukuj_info.NAZWA = $nazwa;$this->TLD = $tld;}function drukuj_info($przedc="") {echo $przedc."Kraj: ".$this->NAZWA."\n";echo $przedc."Domena TLD: ".$this->TLD."\n";}336Klasy/Obiekty}$krj = new Kraj("Peru","pe");echo "* Wywołuję metodę na obiekcie bezpośrednio\n";$krj->drukuj_info();echo "\n* Wywołuję tę samą metodę pośrednio\n";call_user_method ("drukuj_info", $krj, "\t");?>Patrz także: call_user_func_array(), call_user_func(), call_user_method_array().class_exists (PHP 4 )Sprawdza czy klasa została zdefiniowanabool class_exists ( string nazwa_klasy) \linebreakFunkcja ta zwracaTRUEjeżeli klasa zadana przez parametrnazwa_klasy została zdefiniowana,FALSEw przeciwnym wypadku.get_class_methods (PHP 4 )Zwraca tablicę nazw metod danej klasyarray get_class_methods ( mixed nazwa_klasy) \linebreakFunkcja ta zwraca tablicę nazw metod zdefiniowanych dla klasy określonej przez parametrnazwa_klasy.Notatka: Od PHP 4.6, możesz określić obiekt przez jego samego, zamiast przez parametrnazwa_klasy.Dla przykładu:$metody_klasy = get_class_methods($moja_klasa); // zobacz niżej większy przykład337Klasy/ObiektyPrzykład 1.get_class_methods() przykładWyświetli:mojaklasamojafunk1mojafunk2Patrz także: get_class_vars(), get_object_vars().get_class_vars (PHP 4 )Zwraca tablicę domyślnych właściwości klasyarray get_class_vars ( string nazwa_klasy) \linebreak338Klasy/ObiektyFunkcja ta zwróci tablicę asocjacyjną domyślnych właściwości klasy.Elementy wynikowej tablicysą w formienazwzmien => wartośćNotatka: Niezainicjalizowane zmienne klasy nie będą raportowane przez funkcjęget_class_vars().Przykład 1.get_class_vars() przykład$wartosc) {echo "$nazwa : $wartosc\n";}?>Wyświetli:zm2 : xyzzm3 : 100Patrz także: get_class_methods(), get_object_vars()339Klasy/Obiektyget_class (PHP 4 )Zwraca nazwę klasy zadanego obiektustring get_class ( object obiekt) \linebreakFunkcja ta zwraca nazwę klasy, którejobiektjest egzemplarzem.ZwracaFALSEjeżeliobiektnie jest obiektem.Notatka: get_class() zwraca nazwę klasy zdefiniowanej przez użytkownika małymi literami.Klasa zdefiniowana w rozszerzeniu PHP jest zwracana w jej oryginalnej notacji.Patrz także: get_parent_class(), gettype(), is_subclass_of().get_declared_classes (PHP 4 )Zwraca tablicę z nazwami zdefiniowanych klasarray get_declared_classes ( void) \linebreakFunkcja ta zwraca tablicę nazw klas zdefiniowanych w bieżącym skrypcie.Notatka: W PHP 4.1pl2, zwracane są trzy dodatkowe klasy na początku tablicy: stdClass(zdefiniowana w Zend/zend.c), OverloadedTestClass (zdefiniowana wext/standard/basic_functions.c) oraz Directory (zdfiniowana w ext/standard/dir.c).Warto zauważyć, że zależnie od tego jakie biblioteki zostały dodane do PHP, mogą pojawić siędodatkowe klasy.To znaczy, że nie będzie można zdefiniować własnych klas używając tychnazw
[ Pobierz całość w formacie PDF ]