Curso de Programación Orientada a Objetos en PHP

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

Instruido por:
Italo Morales F
Italo Morales F
Básico
2 horas de contenido
Ver la ruta de aprendizaje
Curso de Programación Orientada a Objetos en PHP

Curso de Programación Orientada a Objetos en PHP

Progreso del curso:0/19contenidos(0%)

Contenido del Curso
Tutoriales de estudiantes
Preguntas de estudiantes

Progreso del curso:0/19contenidos(0%)

Fundamentos

Material Thumbnail

Lo que aprenderás sobre POO en PHP

05:47 min

Material Thumbnail

Deuda técnica

03:59 min

Material Thumbnail

Code smell

04:08 min

Material Thumbnail

Código espagueti

05:32 min

Material Thumbnail

Inclusión de archivos

06:35 min

Programación orientada a objetos

Material Thumbnail

Introducción a clases y objetos

07:11 min

Material Thumbnail

Alcance o Encapsulamiento

05:31 min

Material Thumbnail

Polimorfismo: interfaz

07:23 min

Proyecto en PHP

Material Thumbnail

Iniciando nuestro proyecto: PHPUnit y clases heredadas

10:32 min

Material Thumbnail

Continuando nuestro proyecto

10:14 min

Material Thumbnail

Revisión del proyecto

05:10 min

Material Thumbnail

Conclusión - Frameworks PHP

01:14 min

nuevosmás votadossin responder
Mateo6
Mateo6
Estudiante

Se podría decir entonces que, una interfaz es abstracta y al mismo tiempo se aplica polimorfismo?

1
José Miguel Pérez González
José Miguel Pérez González
Estudiante

Alguien sabe ¿por que cuando ejecuto mi código me imprime warnings?

https://drive.google.com/file/d/1Hm9T80LzOj-OkF3wE6AKingGEMoIM-Si/view?usp=sharing
(No se subir imagenes 😦, pero adjunto en lace 😉 )
Adjunto Mi codigo

<?phpclassPerson{
    publicfunctiongreet()
    {
        return"Hola $this->name";
    }
}

classUser{
    public$type;
}

classAdminextendsPerson{
    public$name = "Administrador";
}

$user = new User;
$user->$type = new Admin;

echo$user->$type->greet();
1
Guillermo Camacho
Guillermo Camacho
Estudiante

Hola, desde la finalizacion de la clase pasada cuando ejecuto php unit no me genera el test, se carga una lista de comandos php unit.

1
cesar perez guimaraez
cesar perez guimaraez
Estudiante

hola me sale un errorerror.png

1
cesar perez guimaraez
cesar perez guimaraez
Estudiante

hola

1
Monserrath Manjarrez Avila
Monserrath Manjarrez Avila
Estudiante

Hola!
Soy muy muy nueva en programación. ¿Cómo abro la página web para correr mi programa?

2
Enrique Gamboa
Enrique Gamboa
Estudiante

¿Por qué en la clase Guest colocó el nombre de esa manera y no usó el $this->name como lo vino haciendo en las otras clases?
Entiendo que al usar el $this te estás refiriendo a la propiedad declarada en la clase base, y al colocar el nombre con $this estarías sobreescribiendo esta propiedad. ¿Estoy en lo correcto? De ser así, entonces en la clase Guest no se está modificando la propiedad $name, sino que se está volviendo a declarar? si es así, qué consecuencias traería esto? tiene algún uso que se le pueda dar el declarar propiedades con el mismo nombre de la propiedad de la clase de la que hereda?
Estoy confundido jajaja

1
Walddys Emmanuel Dorrejo Cespedes
Walddys Emmanuel Dorrejo Cespedes
Estudiante

Ayudita, no me carga directamente el test usando el xml como referencia

vendor/phpunit/phpunit/phpunit
<?xml version="1.0" encoding="UTF-8"?><phpunitbootstrap="vendor/autoload.php"colors="true"><testsuites><testsuitename="Test directory"><directorysuffix=".php">./tests/</directory></testsuite></testsuites></phpunit>
1
Angel Daniel Almanza Trejo
Angel Daniel Almanza Trejo
Estudiante

Ayuda please, me sale este error en la terminal, ya revise el codigo y no entiendo porque me sigue dando error.
Screenshot_1.png

Aqui los codigos de php

Para PostTest

<?phpusePHPUnit\Framework\TestCase;
useApp\Post;
useApp\Comment;

classPostTestextendsTestCase{
    publicfunctiontest_add_comment_to_post()
    {
        $post = new Post();
        $comment = new Comment();

        $post->addComment($comment);

        $this->assertEquals(1, $post->countComments());
        $this->assertInstanceOf(Comment::class, $post->getComments()[0]);
    }
}

?>

Para Post

<?phpnamespaceApp;

classPost{
    protected$comments = [];

    publicfunctionaddComment(Comment $comment)
    {
        $this->comments[] = $comment;
    }

    publicfunctioncountComments()
    {
        return count($this->$comments);
    }

    publicfunctiongetComments()
    {
        return$this->$comments;
    }
}

?>

Y para Comment

<?phpnamespaceApp;

classComment{
    
}

?>
1
geanruca
geanruca
Estudiante

No me quedo claro la diferencia entre clase abstracta e interfaz. Al parecer ambas funcionan igual. Cuando se usa una o la otra?

1