Tworzenie deklaracji klas w PHP
Stronę tą wyświetlono już: 1940 razy
W PHP obiekty klas są typami referencyjnymi, to znaczy takimi, które przechowują wskaźnik na miejsce w pamięci, gdzie dane klasy są przechowywane. Utwórzmy sobie małą deklarację klasy, której jedynym celem będzie ułatwienie tworzenia prostych tabelek html. Oto deklaracja takiej klasy:
- <?php
- class html_table{
- // prywatne pola klasy:
- private $header; // nagłówek kolumn tabelki
- private $records; // rekordy tabelki
- // konstruktor klasy wywoływany przy tworzeniu obiektu klasy:
- public function __construct($header_array){
- $this->header = $header_array; // przypisanie do pola klasy o nazwie header jedynego argumentu kontruktora
- $this->racords = array(); // to będą rekordy tableki
- }
- // publiczne metody klasy htm_table
- // metoda dodająca nowy rekord do tabeli
- public function AddRecord($record_array){
- if(count($record_array) == count($this->header)){ // jeżeli liczba rekordów tabeli zgadza się z liczbą nagłówków to
- $this->records[] = $record_array; // dodawaj rekord
- return true; // i zwracaj prawdę
- }
- return false; // w przeciwnym przypadku zwracaj fałsz
- }
- // metoda tworząca kod html tabeli
- public function GetTable(){
- echo("<table border='1' cellspacing='0' align='center'><tr style='background:#000000;color:#ffffff;'>");
- foreach($this->header as $title){
- echo("<td>$title</td>"); // dodawanie podpisów kolumn
- }
- echo("</tr>");
- foreach($this->records as $record){
- echo("<tr>");
- foreach($record as $ceil){
- echo("<td>$ceil</td>"); // dodawanie poszczególnych komórek rekordów
- }
- echo("</tr>");
- }
- echo("</table>");
- }
- // destruktor klasy wywoływany przy jej niszczeniu
- public function __destruct(){
- }
- }
- ?>
Tworzenie obiektu klasy html_table odbywa się za pomocą słowa kluczowego new. Oto przykład:
- <?php
- $myTable = new html_table(array("Nr.", "Jezioro", "Powierzchnia [ha]"));
- $myTable->AddRecord(array("1", "Śniardwy", "11487,5"));
- $myTable->AddRecord(array("2", "Mamry", "9851,0"));
- $myTable->AddRecord(array("3", "Łebsko", "7020,0"));
- $myTable->AddRecord(array("4", "Dąbie", "5408,0"));
- $myTable->AddRecord(array("5", "Miedwie", "3491,0"));
- $myTable->GetTable();
- ?>
Rezultat działania powyższego kodu:
Nr. | Jezioro | Powierzchnia [ha] |
1 | Śniardwy | 11487,5 |
2 | Mamry | 9851,0 |
3 | Łebsko | 7020,0 |
4 | Dąbie | 5408,0 |
5 | Miedwie | 3491,0 |
W kodzie deklaracji klasy można wyróżnić trzy typy modyfikatorów dostępu:
- public - metody i pola klasy są dostępne z zewnątrz;
- private - metody i pola klasy są dostępne jedynie w wewnętrznych metodach klasy;
- protected - metody i pola klasy są dostępne jedynie w wewnętrznych metodach klasy i klasie dziedziczącej.

Tytuł:
PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach
Autor:
Mariusz Duka

Tytuł:
CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP
Autor:
Łukasz Sosna

Tytuł:
PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik
Autor:
Steve Prettyman, Adrian W. West

Tytuł:
PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V
Autor:
Larry Ullman

Tytuł:
PHP 7. Algorytmy i struktury danych
Autor:
Mizanur Rahman

Tytuł:
PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V
Autor:
Luke Welling, Laura Thomson

Tytuł:
PHP i jQuery. Techniki zaawansowane. Wydanie II
Autor:
Keith Wald, Jason Lengstorf

Tytuł:
Laravel 4. Podstawy tworzenia aplikacji w PHP
Autor:
Raphaël Saunier

Tytuł:
Magento. Przewodnik dla programistów PHP
Autor:
Allan MacGregor

Tytuł:
JavaScript dla programistów PHP
Autor:
Stoyan Stefanov