Przestrzenie nazw w PHP
Stronę tą wyświetlono już: 1902 razy
Tworząc bardziej zaawansowane skrypty PHP, które są tworzone z myślą o ich załączaniu często zachodzi konieczność zastosowania przestrzeni nazw, by uniknąć kolidowania nazw utworzonych funkcji czy deklaracji klas z kodem innego skryptu. Bardzo ważne też jest, aby kod określający przestrzeń nazw był umieszczony w pierwszej linijce pliku. Oto przykład:
- <?php namespace my_namespace; // nazwa przestrzeni nazw
- function myFunction(){
- echo("<p>" . __FUNCTION__ . "</p>");
- }
- class myClass{
- public function myMethod(){
- echo("<p>Namespace: " . __NAMESPACE__ . "</p>");
- }
- }
- ?>
Powyższy kod zapisany do pliku np. file.php można załączyć i wykorzystać w innym skrypcie w następujący sposób:
- <?php
- require("file.php");
- $obj = new my_namespace\myClass();
- $obj->myMethod();
- my_namespace\myFunction();
- ?>
Wynik działania powyższego kodu:
Namespace: my_namespace
my_namespace\myFunction
Operator jest tutaj znakiem separującym od przestrzeni nazw. Aby ułatwić sobie życie można skrócić nazwę przestrzeni nazw w następujący sposób:
- <?php
- require("file.php");
- use my_namespace as mnsp;
- $obj = new mnsp\myClass();
- $obj->myMethod();
- mnsp\myFunction();
- ?>
Przestrzenie nazw można również zapisywać z klamrami w następujący sposób:
- <?php namespace my_namespace{ // nazwa przestrzeni nazw
- function myFunction(){
- echo("<p>" . __FUNCTION__ . "</p>");
- }
- class myClass{
- public function myMethod(){
- echo("<p>Namespace: " . __NAMESPACE__ . "</p>");
- }
- }
- }
- ?>
Możliwe jest również zagnieżdżanie przestrzeni nazw np. tak:
- <?php namespace my_namespace/namespace2; ?>

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