⊗ppOpNsSn 96 of 107 menu

Σύνταξη των namespaces στην OOP στην PHP

Για να ορίσετε ένα namespace σε μια κλάση, πρέπει να γράψετε ως πρώτη γραμμή του αρχείου, στο οποίο αποθηκεύεται αυτή η κλάση, την εντολή namespace, και μετά από αυτήν, διαχωρισμένο με κενό - το όνομα αυτού του namespace.

Εάν μια κλάση ανήκει σε κάποιο namespace ονομάτων, τότε για τη δημιουργία αντικειμένου της κλάσης θα πρέπει να καθορίσετε όχι μόνο το όνομα της κλάσης, αλλά και το namespace της, διαχωρισμένα με ανάποδη παύλα. Ας δούμε ένα παράδειγμα.

Ας υποθέσουμε ότι έχουμε μια κλάση Page, που δεν ανήκει σε κανένα namespace. Τότε το αντικείμενο αυτής της κλάσης θα το δημιουργήσουμε ως εξής:

<?php $page = new Page; ?>

Ας υποθέσουμε τώρα ότι αυτή η κλάση ανήκει στο namespace ονομάτων Admin. Σε αυτήν την περίπτωση, το αντικείμενο αυτής της κλάσης θα το δημιουργούμε ήδη με αυτόν τον τρόπο:

<?php $page = new \Admin\Page; ?>

Ας χωρίσουμε τις κλάσεις για χρήστες και τις κλάσεις για διαχειριστές σε διαφορετικά namespaces ονομάτων, για να αποφύγουμε τις παραπάνω συρράξεις κλάσεων.

Για την κλάση Page από το αρχείο /admin/page.php ας ορίσουμε το namespace Admin:

<?php namespace Admin; class Page { } ?>

Και για την κλάση Page από το αρχείο /users/page.php ας ορίσουμε το namespace Users:

<?php namespace Users; class Page { } ?>

Ας δημιουργήσουμε τώρα στο αρχείο /index.php ένα αντικείμενο και των δύο κλάσεων Page:

<?php require_once '/admin/page.php'; require_once '/users/page.php'; $adminPage = new \Admin\Page; $usersPage = new \Users\Page; ?>

Ας υποθέσουμε ότι έχετε έναν φάκελο core και έναν φάκελο project. Σε κάθε έναν από τους φακέλους υπάρχει η δική του κλάση Controller. Κάντε έτσι ώστε αυτές οι κλάσεις να ανήκουν σε διαφορετικά namespaces ονομάτων. Στο αρχείο index.php δημιουργήστε αντικείμενα και των δύο κλάσεων.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη