⊗ppOpNsCA 104 of 107 menu

Ψευδώνυμα Κλάσεων για Χώρους Ονομάτων στην Αντικειμενοστραφή Προγραμματισμό στην PHP

Ας υποθέσουμε ότι έχουμε δύο κλάσεις Data, που ανήκουν σε διαφορετικούς χώρους ονομάτων. Ας υποθέσουμε ότι σε κάποια κλάση χρειαζόμαστε αντικείμενα και από τις δύο αυτές κλάσεις:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // δημιουργούμε αντικείμενο $data2 = new \Core\Admin\Data; // δημιουργούμε αντικείμενο } } ?>

Ας υποθέσουμε ότι αποφασίσαμε να απλοποιήσουμε τις κλήσεις των κλάσεων μέσω της εντολής use. Σε αυτή την περίπτωση μας περιμένει ένα πρόβλημα: και οι δύο κλάσεις έχουν το όνομα Data, και αυτό σημαίνει ότι θα έχουμε σύγκρουση ονομάτων:

<?php namespace Project; // Θα υπάρξει σύγκρουση ονομάτων: use \Core\Users\Data; // συνδέουμε την πρώτη κλάση use \Core\Admin\Data; // συνδέουμε τη δεύτερη κλάση class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

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

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Απλοποιήστε τον ακόλουθο κώδικα χρησιμοποιώντας την use:

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Απλοποιήστε τον ακόλουθο κώδικα χρησιμοποιώντας την use:

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη