Nauka programowania php
Prosty kurs dla amatorów
XII. Klasy/Obiekty
Wstęp
Te 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 tych funkcji możesz dowiedzieć się nie tylko do jakiej klasy należy obiekt, ale także ustalić jego przodków (np. jaką klasę rozszerza klasa tego obiektu).
Wymagania
Do zbudowania tego rozszerzenia nie są wymagane żadne zewnętrzne biblioteki.
Instalacja
By używać tych funkcji, nie trzeba niczego instalować. Są one częścią jądra PHP.
Konfiguracja uruchomieniowa
To rozszerzenie nie definiuje posiada żadnych dyrektyw konfiguracyjnych w pliku php.ini.
Typy zasobów
To rozszerzenie nie posiada żadnych rodzajów zasobów.
Stałe predefiniowane
To rozszerzenie nie posiada żadnych stałych.
Przykłady
W tym przykładzie najpierw zdefiniujemy bazową klasę i jej rozszerzenie.
Klasa bazowa opisuje normalne warzywo, czy jest jadalne czy nie
oraz jego kolor. Podklasa Szpinak dodaje metodÄ™
pozwalającą go zagotować i drugą, która pozwala dowiedzieć się, czy
jest zagotowany.
Teraz możemy stworzyć dwa egzemplarze tych klas i wydrukować informacje o nich, włączając w to informacje o przodkach. Zdefiniujemy także kilka użytecznych funkcji, głównie po to by uzyskać ładny wydruk zmiennych.
Przykład 2. test_script.php
|
Wartą odnotowania rzeczą w powyższym przykładzie jest to,
że obiekt $lisciaste jest egzemplarzem klasy
Szpinak która to jest podklasą klasy
Warzywo, i tak ostatnia część powyższego
skryptu pokaże na wyjściu:
- Spis treści
- call_user_method_array -- Wywołuje metodę użytkownika zadaną z tablicą parametrów [przestarzałe]
- call_user_method -- Wywołuje metodę użytkownika na zadanym obiekcie [przestarzałe]
- class_exists -- Sprawdza czy klasa została zdefiniowana
- get_class_methods -- Zwraca tablicÄ™ nazw metod danej klasy
- get_class_vars -- Zwraca tablicę domyślnych właściwości klasy
- get_class -- Zwraca nazwÄ™ klasy zadanego obiektu
- get_declared_classes -- Zwraca tablicÄ™ z nazwami zdefiniowanych klas
- get_declared_interfaces -- Returns an array of all declared interfaces
- get_object_vars -- Zwraca tablicę asocjacyjną właściwości obiektu
- get_parent_class -- Pobiera nazwÄ™ klasy przodka dla obiektu lub klasy
- interface_exists -- Checks if the interface has been defined
- is_a -- Zwraca TRUE jeżeli obiekt jest tej klasy, lub ta klasa jest jednym z jego przodków
- is_subclass_of -- Zwraca TRUE jeżeli klasa jest jednym z przodków obiektu
- method_exists -- Sprawdza czy metoda klasy istnieje
- property_exists -- Checks if the object or class has a property
| Poprzedni | Spis treści | Następny |
| ccvs_void | Początek rozdziału | call_user_method_array |
Newsy:
Nowości z listy dyskusyjnej
Mam taki test i co prawa ju¿ go pisa³em ale nie wiem jakie s± dobre odpowiedzi moze kto¶ mi pomo¿e??
http://www.kolejland.rail.pl/iz/Forum%20-%...wania/jipp2.jpg
Moje odpowiedzi to:
1. a
2. abc
3. bc
4. d
5. ad
Plisss bardzo potrzebny nam jest taki program!!!
Witam,
Jak w temacie zlecê napisanie od nowa lub zmodyfikowanie istniej±cej ju¿ wersji programu do obliczania sum md5. Zainteresowanych proszê o kontakt.
Autor strony Polishwords rozwa¿a przej¶cie na model Open Source. Aby u³atwiæ sobie decyzjê umie¶ci³ ankietê, w której mo¿na zag³osowaæ za albo przeciwko przej¶ciu na Open Source. Pomó¿my autorowi!
Strona Polishwords jest przeznaczona dla programistów i ogó³ informatyków. Zawiera filmy instrukta¿owe z programowania i zarz±dzania baz± danych. Autor rozwa¿a obecnie przej¶cie na model Open Source i opublikowanie kodu strony. Chcia³by przez to osi±gn±æ szybszy rozwój strony i zaanga¿owanie wiêkszej liczby programistów PHP.
W umieszczonej ankiecie mo¿na zag³osowaæ czy autor powinien przej¶æ na model Open Source. Pomó¿ podj±æ dobr± decyzjê autorowi.
Wiêcej na: http://polishwords.com.pl/blog/2008/polishwords-open-source/
Witam pisze program klient-serwer. Próba nr.1:
Skorzysta³em z najprostszech komponentów tego rodzaju czyli ClientSocket i ServerSocket. Posutawialem porty oraz ip w kliencie.
Je¿eli wpsize ip localhosta (127.0.0.1) to klient polaczy sie z serwerem. Jezeli wpisze IP wewnetrzne tez sie polaczy. Ale jezeli wpisze juz ip zewnetrzne to wyskauje blad asynohrous socket error 10061.
Podejscie nr.2
Zmieni³em komponenty na Indy. Wszystko zosta³o odpowiednio skofigurowane. Wiec sytuacja jest identyczna jak powyzej wszystko dziala na ip wewnetrznym i na localhoscie a na zewnetrznym juz. Prosze o pomoc w tej sprawie.
Mo¿e jeszcze dodam, ¿e jest w sieci typu WLan.
Pozdro
Prosze o jak najszybsza odpowiedz
Jak nie znasz jezyka C++ i wskaznikow i programowania obiektowego
Kurs
Kurs powstał w celu nauki podstawowych zagadnień z dziedziny php.
Losowe tagi:
xmlnsapi
mhas
soap
image