Inne elementy składni
Include i require
Tworzenie dynamicznych stron byłoby bardzo kłopotliwe, gdybyśmy musieli kopiować wszystkie pracowicie utworzone przez nas funkcje do każdego pliku PHP z osobna. Na szczęście PHP udostępnia mechanizmy na dołączanie jednego skryptu do drugiego. To instrukcje include, require, include_once oraz require_once. Oto składnia tych wyrażeń:
<?php
include 'plik.php';
include_once 'plik.php';
require('plik.php');
require_once('plik.php');
W miejscu include czy require zostanie wstawiony kod podanego pliku (w czasie wykonywania skryptu). Choć require wywołuje się identycznie jak funkcję, funkcją nie jest. Różnica między nim, a include jest taka, że w przypadku nieznalezienia pliku require generuje komunikat "Fatal error" zatrzymujący skrypt, include tylko ostrzeżenie. Istnieją także include_once oraz require_once, które są ignorowane, jeśli próbujemy po raz drugi dołączyć ten sam plik.
Budowanie kompletnej strony z mniejszych plików jest bardzo pożyteczne. Generalnie nie zaleca się pisania wszystkiego ciurkiem bez podziału na funkcje, mniejsze moduły itd. gdyż zmniejsza to odporność skryptu na błędy, wprowadza chaos i utrudnia dodawanie/modyfikowanie nowych opcji. Wielu programistów główkowało jak poukładać kod by był najbardziej czytelny i łatwy do edycji. Efektem ich "przemyśleń" i praktyki jest programowanie strukturalne, obiektowe oraz wzorce projektowe - m.in. popularny MVC. Tą tematykę poruszymy przy omawianiu frameworków. Framework to narzędzie - skrypt narzucające określoną strukturę kodu (wzorzec MVC) i ułatwiającą korzystanie z niej.
require jak i include oczekują jako parametru ścieżki do pliku PHP jaki ma być dołączony. W powyższym przypadku instrukcje te będą szukały pliki we wszystkich katalogach jakie mają skonfigurowane w php.ini, co spowalnia ich działanie. Dodanie ./ na początku naszej ścieżki spowoduje iż instrukcje te nie będą szukać podanego pliku we wszystkich katalogach z listy, lecz zastosują od razu katalog skryptu:
<?php
include './plik.php';
include_once './funkcje/plik.php';
Stałe
Do zdefiniowania stałych używamy funkcji define(), w której definiujemy nazwę stałej oraz jej wartość. Zwyczajowo stałe mają nazwy złożone z samych dużych liter, a wartościami mogą być wyłącznie typy skalarne (czyli nie tablice, nie obiekty oraz nie zasoby). Podczas wywoływania stałych nie poprzedzamy znakiem dolara.<?php
define('STALA', 'test');
echo STALA;
?>
- Stałe nie mają znaku dolara ($) przed nazwą
- Stałe mogą być definiowane oraz używane wszędzie bez zważania na zasady dotyczące zakresu ich dostępności
- Stałe nie mogą być ponownie definiowane lub "oddefiniowane" po tym jak raz zostały zdefiniowane
- Stałe mogą zawierać tylko wartości skalarne
Na podstawie kursu PHP na Wikibooks, licencja GNU Free Documentation License
Comment article