Archivos externos
Parte de la sección Programación Orientada a Objetos del Journey de PHP de Coddy — lección 1 de 91.
Los archivos externos le permiten organizar sus clases en archivos PHP separados e incluirlos en su programa principal utilizando require_once.
Crea un archivo PHP separado llamado my_class.php
<?php
class MyClass {
// cuerpo de la clase
}Incluye el archivo en tu archivo principal usando require_once
<?php
require_once 'my_class.php';Ahora puedes usar la clase en tu archivo principal
$obj = new MyClass();
echo get_class($obj);Salida:
MyClassLa sentencia require_once 'my_class.php'; conecta el archivo my_class.php a tu programa. El nombre del archivo debe incluir la extensión .php y estar entre comillas. require_once asegura que el archivo se cargue solo una vez, incluso si la sentencia aparece varias veces.
Desafío
IntermedioSe te proporcionan archivos PHP (my_class.php y driver.php). ¡Añade la sentencia require_once correcta en el archivo driver.php para conectar los archivos y usar la clase del archivo externo!
Hoja de referencia
Usa require_once para incluir archivos PHP externos en tu programa principal:
require_once 'my_class.php';El nombre del archivo debe incluir la extensión .php y estar entre comillas. require_once asegura que el archivo se cargue solo una vez, incluso si la sentencia aparece varias veces.
Ejemplo de uso de una clase desde un archivo externo:
<?php
require_once 'my_class.php';
$obj = new MyClass();
echo get_class($obj); // Output: MyClassPruébalo tú mismo
<?php
// TODO: Agregar la sentencia require_once para incluir my_class.php
$testCase = trim(fgets(STDIN));
$obj = new MyClass();
echo "Test completed\n";
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Fundamentos de OOP
Archivos externosIntroducción a OOPClases vs ObjetosLa palabra clave $thisMétodosPropiedadesConstructor (__construct)Destructor (__destruct)Resumen - Calculadora simple4Herencia
Herencia básicaLa palabra clave parent::Sobrescritura de métodosLa palabra clave finalClases abstractasResumen - Jerarquía de empleados7Encapsulamiento
Público, Protegido, PrivadoModificadores de acceso a fondoGetters y SettersOcultamiento de informaciónPromoción de constructor (8.0)Resumen - Sistema de registros de estudiantes10Conceptos avanzados de POO
Composición vs. HerenciaInyección de dependenciasClases anónimasEnums (PHP 8.1)Fibers (PHP 8.1)Clonación de objetos a fondoGeneradores e Iteradores13Patrones de diseño Parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón CompositePatrón Repository2Espacios de nombres y Autoloading
Introducción a los espacios de nombresLa palabra clave useEstándar de Autoloading PSR-4Autoloader de ComposerResumen - Proyecto organizado5Interfaces y Contratos
Introducción a las InterfacesImplementación de InterfacesImplementación de Múltiples InterfacesInterfaz vs Clase AbstractaType Hinting con InterfacesResumen - Calculadora de Formas8Métodos mágicos
Introducción a los métodos mágicos__toString y __debugInfo__get, __set, __isset, __unset__call y __callStatic__clone y clonación de objetos__serialize y __unserializeResumen - Colección personalizada3Propiedades de clase
Propiedades de instancia vs. estáticasConstantes en clasesMétodos y propiedades estáticosPropiedades privadas y protegidasPropiedades de solo lectura (PHP 8.1)Resumen - Gestor de cuenta bancaria6Polimorfismo
Sobrescritura de métodos revisadaPolimorfismo mediante interfacesType Hinting y tipos de uniónEnlace estático tardíoResumen - Procesador de pagos9Traits
Introducción a los TraitsUso de múltiples TraitsResolución de conflictos de TraitsMétodos abstractos en TraitsTraits frente a herencia12Patrones de diseño Parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón Strategy