En una de las clases pasadas habíamos creado otro archivo con el nombre de Base.php y al extender mis clases hijas de Base, me toma la cl...

Christian Alvarenga

Christian Alvarenga

Pregunta
studenthace 4 años

En una de las clases pasadas habíamos creado otro archivo con el nombre de Base.php y al extender mis clases hijas de Base, me toma la clase creada en ese archivo y no en el que estoy, como pueden ver, me salta un error que dice que no estoy implementando el método store, que fue un método abstracto que habíamos creado en clases anteriores. ¿Cómo podría solucionar esto? Es decir que al extender me tome del archivo en el que estoy y no de otro.

Es más que nada para saber si es que existe otras formas que no sean cambiar los nombres de mi archivos, como el namespace, solamente que no sé como implementarlo.

problema.png

2 respuestas
para escribir tu comentario
    Christian Alvarenga

    Christian Alvarenga

    studenthace 4 años

    Excelente, muchas gracias.

    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    teacherhace 4 años

    ¡Hola! Es porque no puedes tener dos clases que se llamen igual. No importa en qué archivo estés, si estas usando composer no puedes tener dos clases con el mismo nombre.

    Te recomiendo usar namespaces, básicamente son como los "nombres con apellidos" de tus clases :D

    Por ejemplo, no es lo mismo decir

    app\Clases\Auth\Base.php
    que decir
    app\Clases\Base.php
    . Aunque tienen el mismo nombre como archivo, no tienen el mismo namespace. Y básicamente los namespaces son la ruta en la cual tu archivo se encuentra :D

Curso de Programación Orientada a Objetos en PHP

Curso de Programación Orientada a Objetos en PHP

Domina la programación orientada a objetos en PHP creando clases, objetos y aplicando conceptos como herencia, polimorfismo y modularidad. Aprende a integrar pruebas con PHPUnit para asegurar la calidad del código.

Curso de Programación Orientada a Objetos en PHP
Curso de Programación Orientada a Objetos en PHP

Curso de Programación Orientada a Objetos en PHP

Domina la programación orientada a objetos en PHP creando clases, objetos y aplicando conceptos como herencia, polimorfismo y modularidad. Aprende a integrar pruebas con PHPUnit para asegurar la calidad del código.