sirve que para nombre new namespace mismo funcion error current con clases php namespaces

que - Usando espacios de nombres PHP



php 7 use namespace (3)

Los espacios de nombres son una forma de agrupar sus clases relacionadas en paquetes. Lo que usted describe podría ser puesto bajo un solo espacio de nombres como

<?php // people.php namespace com/example/johnslibrary/people; abstract class People { }

y entonces

<?php // manager.php namespace com/example/johnslibrary/people; require_once ''path/to/People.php''; // can better use autoloading though class Manager extends People { }

porque un administrador es una subclase de personas, por lo que no hay muchas razones para ponerlas en su propio espacio de nombres. Son personas especializadas.

Si desea que los Administradores estén en su propio espacio de nombres, puede hacerlo, pero debe usar el nombre completo al usar la palabra clave extended, por ejemplo

<?php // manager.php namespace com/example/johnslibrary/managers; require_once ''path/to/People.php''; class Manager extends /com/example/johnslibrary/people/People { }

o importar primero la clase Gente

<?php // manager.php namespace com/example/johnslibrary/managers; use com/example/johnslibrary/People as People; require_once ''path/to/People.php''; class Manager extends People { }

Consulte el Manual de PHP sobre espacios de nombres para obtener una amplia documentación.

He estado buscando sitios web para tratar de controlar el uso de los espacios de nombres de PHP, pero todos parecen ser bastante vagos, pero lo que están tratando de hacer es fácil de entender

Mi pregunta es: Tengo un archivo llamado people.php y en él se define la clase llamada people . Si creo otro archivo llamado managers.php en la misma carpeta, puedo definir una clase llamada people que amplíe la clase de people original pero en el espacio de nombres de los managers , si es así, tengo que "incluir" el people.php original y si así que pongo la inclusión después de la escritura: namespace managers ?


Tengo una antigua clase de PHP y necesito usarla en un nuevo archivo PHP como por ejemplo: index.php tiene que usar iClass.php . Pero antes de usar el OLD iClass.php tengo que modificarlo como se muestra a continuación, para poder usarlo en index.php.

iClass.php:

namespace ic; class iClass { public static function callMeFromClass() { echo ''OK - you have called me!''; exit; } }

index.php

namespace inex; require_once ''iClass.php''; use ic/iClass; iClass::callMeFromClass();


// people.php <?php namespace People; class People {} // managers.php <?php namespace Managers; require_once __DIR__.''/people.php''; class People extends /People/People {}