⊗ppOpNsSn 96 of 107 menu

Sintaxe de namespaces na POO em PHP

Para definir um namespace para uma classe, é necessário escrever, na primeira linha do arquivo onde essa classe está armazenada, o comando namespace, e após ele, separado por um espaço, o nome desse namespace.

Se uma classe pertence a um namespace, para criar um objeto da classe será necessário especificar não apenas o nome da classe, mas também seu namespace, separados por uma barra invertida. Vamos ver um exemplo.

Suponha que temos uma classe Page, que não pertence a nenhum namespace. Nesse caso, criamos um objeto dessa classe da seguinte forma:

<?php $page = new Page; ?>

Agora, suponha que esta classe pertença ao namespace Admin. Neste caso, criamos um objeto desta classe da seguinte forma:

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

Vamos separar as classes para usuários e classes para administradores em namespaces diferentes, para evitar os conflitos de classes descritos anteriormente.

Para a classe Page do arquivo /admin/page.php, especificamos o namespace Admin:

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

E para a classe Page do arquivo /users/page.php, especificamos o namespace Users:

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

Agora, vamos no arquivo /index.php criar um objeto de cada uma das classes Page:

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

Suponha que você tenha uma pasta core e uma pasta project. Em cada uma das pastas existe sua própria classe Controller. Faça com que essas classes pertençam a namespaces diferentes. No arquivo index.php crie objetos de cada uma das classes.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar