Sie sind auf Seite 1von 99

DESARROLLO WEB

CON LARAVEL
FRAMEWORK
ROADMAP

CLASE 1 CLASE 2 CLASE 3-4

FUNDAMENTOS Laravel Proyecto


INICIALES Mini-Blog
Herramienta
• EDITOR DE CÓDIGO

VISUAL STUDIO CODE


VISUAL STUDIO CODE
1. INSTALACIÓN
• https://code.visualstudio.com/
2. INTEGRANDO EXTENSIONES
• BEAUTIFY
• LARAVEL 5 SNIPPETS
• LARAVEL BLADE SNIPPETS
• PHP DOCBLOCKER
• PHP INTELLISENSE
• MATERIAL ICON THEME
• SUBLIME MATERIAL THEME
XAMP
Es un paquete de instalación independiente de plataforma,
software libre, que consiste principalmente en el sistema
de gestión de bases de datos MySQL, el servidor web
Apache y los intérpretes para lenguajes de script: PHP y
Perl.
XAMP
1. INSTALACIÓN
2. ACTIVAR SERVIDOR
XAMP
• localhost
XAMP

DISCO LOCAL XAMPP HTDOCS


XAMP

• CREAR CARPETA CON EL NOMBRE DE CLASE1

CLASE1
CLASE 1

FUNDAMENTOS
INICIALES
FUNDAMENTOS INICIALES
 PROGRAMACIÓN ORIENTADA A OBJETO (POO) CON PHP

1. CLASES Y OBJETOS
2. MÉTODOS YATRIBUTOS
3. CONSTRUCTORES
4. MODIFICADORES
5. HERENCIA
6. STATIC
7. MÉTODOS ABSTRACTOS
8. INTERFACES
9. TRAITS
10. NAMESPACE
 COMPOSER
COMPOSER
¿QUÉ ES COMPOSER?

ES UN ADMINISTRADOR DE DEPENDENCIA, PARA LA


PROGRAMACIÓN EN PHP. ESO QUIERE DECIR QUE
NOS PERMITE GESTIONAR (DECLARAR, DESCARGAR
Y MANTENER ACTUALIZADOS) LOS PAQUETES DE
SOFTWARE EN LOS QUE SE BASA NUESTRO
PROYECTO PHP.
COMPOSER
INSTALACIÓN
• WEBSITE => https://getcomposer.org/
COMPOSER
INSTALACIÓN
• CLICK COMPOSER-SETUP.EXE
COMPOSER
INSTALACIÓN
• INDICAR LA RUTA DE NUESTRO PHP.EXE
COMPOSER
INSTALACIÓN
• VERIFICAR LA INSTALACIÓN DE COMPOSER
• ABRIR VSCODE
• B.MENU + VIEW + OUTPUT || (CTRL + SHIFT + U)
• TECLEAR COMPOSER EN EL TERMINAL
COMPOSER
PROGRAMACIÓN ORIENTADA A
OBJETO

CLASES Y OBJETOS
PROGRAMACIÓN ORIENTADA A
OBJETO

¿QUÉ ES?
ES UNA FORMA ESPECIAL DE PROGRAMAR,
UN PARADIGMA DE ALTAMENTE RECOMENDADO,
CON EL CUAL PUEDES ESCRIBIR CÓDIGO MUCHO
MAS ORDENADO Y CREAR APLICACIONES MÁS
FÁCILES DE MANTENER.
POO
OBJETOS
POO
OBJETOS

«ES UN MÁQUINA DE
SOFTWARE QUE CONTIENE
DATOS Y EXPONE
OPERACIONES»
POO
OBJETOS

«SE DEFINE COMO UNA CLASE


QUE CONTIENE ATRIBUTOS Y
MÉTODOS, PUEDE HEREDAR
DATOS DE OTRAS Y TAMBIEN
PUEDE DEFINIR ALGUNOS
MÉTODOS ESPECIALES»
POO
OBJETOS
ATRIBUTOS MÉTODOS
• COLOR • ARRANCA()
• VELOCIDAD • FRENA()
• MOTOR • GIRAR()
• MODELO
POO
CLASES
POO
CLASES

Podríamos definir a una clase como una


plantilla o molde desde donde es posible generar
objetos(instancias). La estructura de una clase
contiene dos elementos básicos:
atributos(variables) y métodos(funciones).
CLASES Y OBJETOS
PROGRAMAR
• CREAR UN ARCHIVO INDEX.PHP
• DEFINIR UNA CLASE

NOMBRE DE
PALABRA LA CLASE
RESERVADA
CLASS
CLASES Y OBJETOS
PROGRAMAR
• DEFINIR ATRIBUTOS Y MÉTODOS
CLASES Y OBJETOS
PROGRAMAR
• INSTANCIAR UN OBJETO DE LA CLASE AUTO
• ACCEDER A LOS ATRIBUTOS Y METODOS
CLASES Y OBJETOS
INSTANCIAR UN OBJETO
ATRIBUTOS Y MÉTODOS
ATRIBUTOS
• Son Variables
• Definir Tipos de Atributo(Public, Private, Protected)
ATRIBUTOS Y MÉTODOS
Atributos
• Acceder a los Atributos con $this->nombreAtributo

ESTE PROCESO SE REALIZA


DENTRO DE LA CLASE
ATRIBUTOS Y MÉTODOS
Métodos
• Acceder a otro Métodos con $this->nombreFunction o
self::nombreFunction

CÓDIGO

ESTE PROCESO SE REALIZA


DENTRO DE LA CLASE
ATRIBUTOS Y MÉTODOS
Programar
 PONER EN FUNCIONAMIENTO NUESTRO NUEVO MÉTODO
MOSTRARMOTOR()

CÓDIGO
CONSTRUCTOR
¿QUÉ ES?

 ES UN MÉTODO MÁGICO DE PHP QUE


AL INSTANCIAR UNA CLASE ESTE
MÉTODO SE EJECUTA AL COMIENZO
DE MANERA AUTOMÁTICA .

 CADA VEZ QUE SE CREA UNA


INSTANCIA DE UNA CLASE, SE
EJECUTA ESTE MÉTODO DE
CONSTRUCTOR.
CONSTRUCTOR
CREAR UN MÉTODO CONSTRUCTOR
CÓDIGO
CONSTRUCTOR
NORMAS
 EL MÉTODO CONSTRUCTOR TIENE
QUE SER DE TIPO PUBLIC Y NO PUEDE
RETORNAR NADA.
CONSTRUCTOR
PRUEBAS

CÓDIGO
MODIFICADORES

MODIFICADORES DE ACCESO
« PUBLIC / PRIVATE / PROTECTED »
SE INCORPORA EL USO DE MODIFICADORES DE
ACCESO « PUBLIC / PRIVATE / PROTECTED »
PARA ATRIBUTOS Y MÉTODOS.
MODIFICADORES

TIPO PUBLIC

ESTA PROPIEDAD
ES MUY SIMPLE, SE
PUEDE REALIZAR
DE TODO CON EL
ATRIBUTO O EL
MÉTODO
MODIFICADORES

TIPO PRIVATE

HACE QUE LOS


ATRIBUTOS Y
MÉTODOS SE
PUEDA UTILIZAR
DESDE LA MISMA
CLASE QUE LAS
DEFINE.
MODIFICADORES

TIPO PROTECTED

HACE QUE LOS


ATRIBUTOS Y MÉTODOS
SE PUEDA ACCEDER
DESDE LA CLASE QUE
LAS DEFINE Y TAMBIÉN
DESDE CUALQUIER
OTRA CLASE QUE
HEREDE DE ELLA.
MODIFICADORES
EJERCICIO:
• CREAR UNA CLASE CON EL NOMBRE DE
USUARIO CON LAS SIGUIENTES DATOS…

1
MODIFICADORES
2
MODIFICADORES
3
MODIFICADORES
PRUEBAS

4
MODIFICADORES
5
HERENCIA

¿QUÉ ES?
UN CONCEPTO IMPORTANTE EN LA
ORIENTACIÓN A OBJETOS ES EL DE
HERENCIA: CUANDO UNA CLASE DERIVA DE
OTRA AUTOMÁTICAMENTE HEREDA SUS
ATRIBUTOS Y MÉTODOS.
HERENCIA

EN PHP, A DIFERENCIA DE OTROS


LENGUAJES ORIENTADOS A OBJETOS(C++),
UNA CLASE SÓLO PUEDE DERIVAR DE UNA
ÚNICA CLASE, ES DECIR, PHP NO PERMITE
HERENCIA MÚLTIPLE
HERENCIA
EJERCICIO:
• Crear la clase Papa con la siguiente características:
HERENCIA
EJERCICIO:
• Crear la clase Hijo con la siguiente características:

PARA HEREDAR LOS ATRIBUTOS Y MÉTODOS DE OTRA CLASE


SE DEBE UTILIZAR LA PALABRA RESERVADA EXTENDS.
HERENCIA
PRUEBA

CÓDIGO
HERENCIA
EJERCICIO:
• Crear un método llamado miCarroAmarillo() en la
clase Papa de tipo private(Privado) con la siguiente
características:
HERENCIA
PRUEBA

NO PUEDO HEREDAR ATRIBUTOS Y MÉTODOS DE TIPO PRIVADO


HERENCIA
EJERCICIO:
• Crear un método llamado miCarroAmarillo() en la
clase Papa de tipo protected(Protegido) con la
siguiente características:
HERENCIA
PRUEBA

NO PUEDO USAR ATRIBUTOS Y MÉTODOS DE TIPO PROTECTED


A TRAVÉS DE OBJETO
HERENCIA
PRUEBA

NO PUEDO USAR ATRIBUTOS Y MÉTODOS DE TIPO PROTECTED


A TRAVÉS DE OBJETO
HERENCIA
ENTONCES…

SI NO PUEDO A TRAVES DE OBJETOS…


Y DENTRO DE UNA CLASE PUEDO HEREDAR?
HERENCIA
EJERCICIO:
• Crear un método llamado miCarroAzul() en la clase
Hijo con la siguiente característica:
HERENCIA
PRUEBA
STATIC

MÉTODOS Y ATRIBUTOS ESTÁTICOS

UN MÉTODO ESTÁTICO PERTENCE A LA CLASE PERO NO


PUEDE ACCEDER A LOS ATRIBUTOS DE UNA INSTANCIA. LA
CARACTERÍSTICA FUNDAMENTAL ES QUE UN MÉTODO
ESTÁTICO SE PUEDE LLAMAR SI TENER QUE CREAR UN
OBJETO DE DICHA CLASE.

UNA PROPIEDAD DECLARADA COMO STATIC NO PUEDE SER


ACCEDIDA CON UN OBJETO DE CLASE INSTACIADO(AUNQUE
UN MÉTODO ESTÁTICO SÍ LO PUEDE HACER)
STATIC

MÉTODOS Y ATRIBUTOS ESTÁTICOS

• UN MÉTODO ESTÁTICO NO PUEDE ACCEDER A LOS


ATRIBUTOS DE LA CLASE.
• PARA CREAR SE NECESITA EL NOMBRE DE LA CLASE
SEGUIDO DEL OPERADOR ‘ :: ’ Y POR ÚLTIMO EL NOMBRE
DEL MÉTODO ESTÁTICO A LLAMAR.
• LAS PROPIEDADES ESTÁTICAS NO PUEDEN SER
ACCEDIDAS A TRAVÉS DEL OBJETO UTILIZANDO EL
OPERADOR FLECHA ‘ -> ’.
STATIC

EJERCICIOS:
• CREAR UNA CLASE PERSONA CON LOS SIGUIENTES
DATOS:
1
STATIC
2
STATIC
PRUEBAS

3
INTERFACES
LAS INTERFACES DE OBJETOS PERMITEN CREAR
CÓDIGO CON EL CUAL ESPECIFICAMOS QUÉ
MÉTODOS DEBEN SER IMPLEMENTADOS POR UNA
CLASE.

PARA CREAR UNA INTERFACE DEBEMOS COLOCAR


LA PALABRE RESERVADA ‘’interface’’, DE LA MISMA
FORMA QUE CON UNA CLASE ESTÁNDAR.

TODOS LOS MÉTODOS DECLARADOS EN UNA


INTERFAZ DEBEN SER PÚBLICOS.
INTERFACES
CUANDO UNA CLASE IMPLEMENTA UNA INTERFAZ,
PODREMOS ESTAR SEGUROS QUE EN SU CÓDIGO
ESTÁN DEFINIDAS LAS FUNCIONES QUE INCLUÍA ESA
INTERFAZ.
CÓDIGO PARA DEFINIR UNA INTEFAZ

LOS MÉTODOS NO SE DEBEN CODIFICAR, SINO


ÚNICAMENTE DECLARARSE.
INTERFACES
IMPLEMENTACIÓN DE INTERFACES
AHORA VAMOS A IMPLEMENTAR UNA INTERFAZ EN
UNA CLASE.
INTERFACES
PARA IMPLEMENTAR UNA INTERFAZ, EN LA
DECLARACIÓN DE LA CLASE, SE DEBE UTILIZAR LA
PALABRA IMPLEMENTS, SEGUIDA DEL NOMBRE DE LA
INTERFAZ QUE SE VA A IMPLEMENTAR. SE PODRÍAN
IMPLEMENTAR VARIAS INTERFACES EN LA MISMA
CLASE, EN CUYO CASO SE INDICARÍAN TODOS LOS
NOMBRES DE LAS INTERFACES SEPARADAS POR
COMAS.
INTERFACES
RESUMEN
• LAS INTERFACES AYUDA A QUE TU CÓDIGO SEA
MÁS SOLIDO.
• ES MAQUETAR LAS CLASES
• UNA INTERFACE SIRVE PARA DECIRTE ALGO QUE
TIENES QUE HACER MAS NO COMO DEBES
HACERLO.
CLASES Y MÉTODOS ABSTRACTOS
LAS CLASES DEFINIDAS COMO ABSTRACTAS NO SE PUEDEN
INSTANCIAR Y CUALQUIER CLASE QUE CONTIENE AL MENOS UN
MÉTODO ABSTRACTO DEBE SER DEFINIDA COMO TAL. LOS
MÉTODOS DEFINIDOS COMO ABSTRACTOS SIMPLEMENTE
DECLARAN LA FIRMA DEL MÉTODO, PERO NO PUEDEN DEFINIR
LA IMPLEMENTACIÓN.

SU INTENCIÓN ES DEFINIR UNA ESTRUCTURA (PLANTILLA), QUE


PUEDE ESTAR PARCIALMENTE IMPLEMENTADA, PARA
CUALQUIER CLASE QUE QUIERA EXTENDERLA. PUEDE
IMPLEMENTEAR CIERTAS FUNCIONALIDADES Y DEJAR QUE SUS
HEREDERAS TERMINEN DE IMPLEMENTEARLA.
CLASES Y MÉTODOS ABSTRACTOS
LAS CLASES DEFINIDAS COMO ABSTRACTAS NO SE PUEDEN
INSTANCIAR Y CUALQUIER CLASE QUE CONTIENE AL MENOS UN
MÉTODO ABSTRACTO DEBE SER DEFINIDA COMO TAL. LOS
MÉTODOS DEFINIDOS COMO ABSTRACTOS SIMPLEMENTE
DECLARAN LA FIRMA DEL MÉTODO, PERO NO PUEDEN DEFINIR
LA IMPLEMENTACIÓN.

SU INTENCIÓN ES DEFINIR UNA ESTRUCTURA (PLANTILLA), QUE


PUEDE ESTAR PARCIALMENTE IMPLEMENTADA, PARA
CUALQUIER CLASE QUE QUIERA EXTENDERLA. PUEDE
IMPLEMENTEAR CIERTAS FUNCIONALIDADES Y DEJAR QUE SUS
HEREDERAS TERMINEN DE IMPLEMENTEARLA.
CLASES Y MÉTODOS ABSTRACTOS
PARA CREAR UNA CLASE ABSTRACTA DEBEMOS USAR LA
PALABRA CLAVE abstract:
CLASES Y MÉTODOS ABSTRACTOS
UNA CLASE ABSTRACTA DEBE CONTENER COMO MÍNIMO UN
MÉTODO ABSTRACTO. LOS MÉTODOS ABSTRACTOS NO TIENEN
IMPLEMENTACIÓN, SINO QUE DEFINEN UNA FUNCIONALIDAD
QUE SERÁ IMPLEMENTADA OBLIGATORIAMENTE EN LAS
CLASES HEREDERAS.
CLASES Y MÉTODOS ABSTRACTOS
 CREAMOS UNA CLASE GATO QUE HEREDA DE LA CLASE
ABSTRACTAS ANIMAL.

LA CLASE QUE HEREDERA ESTARÁ


OBLIGADA A IMPLEMENTAR LOS
MÉTODOS ABSTRACTOS.
CLASES Y MÉTODOS ABSTRACTOS
PROBAR CÓDIGO

CARACTERÍSTICAS PRINCIPALES DE LAS CLASES ABSTRACTAS


• Como ya hemos comentado una clase abstracta no puede
instanciarse. Pero si que se puede instanciar una clase hija no
abstracta.
• Una clase abstracta debe de contar como mínimo con un método
abstracto.
• Una clase abstracta A puede ser extendida por una clase abstracta
B. Y esta última puede implementar o no los métodos abstractos de
su antecesora A. Si no fuera abstracta si que estaría obligada a
implementar los métodos.
TRAITS
• SON UN MECANISMO DE REUTILIZACIÓN DE CÓDIGO EN
LENGUAJES DE HERENCIA SIMPLE, COMO PHP. EL OBJETIVO
DE UN TRAITS ES EL DE REDUCIR LAS LIMITACIONES PROPIAS
DE LA HERENCIA SIMPLE PERMITIENDO QUE LOS
DESARROLLADORES REUTILICEN A VOLUNTAD CONJUNTOS
DE MÉTODOS SOBRE VARIAS CLASES INDEPENDIENTES Y
PERTENECIENTES A CLASES JERÁRQUICAS DISTINTAS.

• UN TRAIT ES SIMILAR A UNA CLASE, PERO CON EL ÚNICO


OBJETIVO DE AGRUPAR FUNCIONALIDADES MUY
ESPECÍFICAS Y DE UNA MANERA COHERENTE. NO SE PUEDE
INSTANCIAR DIRECTAMENTE UN TRAIT. ES POR TANTO UN
AÑADIDO A LA HERENCIA TRADICIONAL
TRAITS
PARA CREAR UN TRAIT DEBEMOS USAR LA PALABRA CLAVE trait:
TRAITS
¿QUÉ PUEDE CONTENER UN TRAIT?
TRAITS
USANDO TRAIT
TRAITS
PROBAR CÓDIGO
COMPOSER
¿QUÉ ES COMPOSER?

ES UN ADMINISTRADOR DE DEPENDENCIA, PARA LA


PROGRAMACIÓN EN PHP. ESO QUIERE DECIR QUE
NOS PERMITE GESTIONAR (DECLARAR, DESCARGAR
Y MANTENER ACTUALIZADOS) LOS PAQUETES DE
SOFTWARE EN LOS QUE SE BASA NUESTRO
PROYECTO PHP.
COMPOSER

EJERCICIO

1. CREAR UNA CARPETA EN HTDOCS CON EL NOMBRE DE


composer.
2. ABRIR CARPETA composer CON NUESTRO EDITOR VSCODE.
3. CREAR UN DOCUMENTO PHP CON EL NOMBRE DE index.php
DENTRO DE LA CARPETA DE composer

COMANDOS DE COMPOSER
• composer init
• composer require vendor nombrePaquete
• composer install
• composer update [vendor/paquete]
COMPOSER

EJERCICIO

1. CREAR UNA CARPETA EN HTDOCS CON EL NOMBRE DE


composer.
2. ABRIR CARPETA composer CON NUESTRO EDITOR VSCODE.
3. CREAR UN DOCUMENTO PHP CON EL NOMBRE DE index.php
DENTRO DE LA CARPETA DE composer

COMANDOS DE COMPOSER
• composer init
• composer require vendor nombrePaquete
• composer install
• composer update [vendor/paquete]
COMPOSER

EJERCICIO

• ABRIR CONSOLA DE WINDOW


• COLOCAR EN LA CONSOLA DE WINDOW EL SIGUIENTE:
 cd C:\xampp\htdocs\composer
 composer init
 Nombre del Paquete: programate/ejercicio
 Descripción: Clase de POO con Composer
 Presionar el botón de [enter]
 Presionar el botón de [enter]
 Tipo de Paquete: project
 Licencia: MIT
 Instalar algunas dependencias: NO
 Instalar algunas dependencias de desarrollo: NO
 Confirmar: YES
COMPOSER

SINTAXIS DE COMPOSER JSON


COMPOSER

CONFIGURACIÓN DE COMPOSER JSON

COLOCAR EN LA
CONSOLA:
 composer install
COMPOSER

INFORMACIÓN

• AUTOLOAD NOS PERMITE USAR CLASES DE PHP SIN


NECESIDAD DE REQUIRE() O INCLUDE().
• EL AUTOLOAD DEL COMPOSER FUNCIONAR DE DOS MANERAS:

 EL ESTANDAR PSR-4
 CLASSMAP

 PSR-4 = REQUIERE DE UNA ESTRICTA ESTRUCTURA DE


SISTEMA DE ARCHIVOS BASADAS EN NAMESPACES.
 CLASSMAP = NO REQUIERE QUE TENGAS CASI NINGÚN
ARCHIVO O ESTRUCTURA DE DIRECTORIOS DETERMINADOS.
COMPOSER

EJERCICIO

• CREAR UNA CARPETA LLAMADA app.


• CREAR DOS CLASES LLAMADA ANIMAL Y EL OTRO PERRO
DENTRO DE LA CARPETA app.
COMPOSER

EJERCICIO

• CREAR UNA CARPETA LLAMADA app.


• CREAR DOS CLASES LLAMADA ANIMAL Y EL OTRO PERRO
DENTRO DE LA CARPETA app.
COMPOSER
EJERCICIO
EN EL ARCHIVO DE INDEX.PHP COLOCAR EL SIGUIENTE CÓDIGO:
require_once 'vendor/autoload.php';

ESTA LÍNEA DE CÓDIGO NOS PERMITE ACTIVAR EL CARGADOR


AUTOMÁTICO INTEGRADO DE COMPOSER.
NAMESPACE

• LOS NAMESPACE SON UNA DE LAS


UTILIDADES QUE HAN APARECIDO EN PHP 5,
EN LA VERSIÓN PHP 5.3.
• NOS AYUDAN A COLOCAR SUB-NOMBRES A
NUESTRO ARCHIVOS, CLASES O FUNCIONES.
• SIRVEN PARA ORGANIZAR EL CÓDIGO, DE
MANERA QUE LOS NOMBRES QUE NOSOTROS
RESERVEMOS A LA HORA DE CREAR CLASES
O FUNCIONES NO ENTREN EN CONFLICTO
CON LOS QUE HAYAN PODIDO, O PUEDAN EN
EL FUTURO, CREAR OTRAS PERSONAS.
NAMESPACE

¿CÓMO DECLARAR UN NAMESPACE PHP?


INDICAS EL NAMESPACE DE ESTA MANERA:

A partir de esa línea puedes escribir


cualquier tipo de código, donde cada
uno de los elementos declarados se
quedarán en el NAMESPACE definido
NAMESPACE

 DECLARAMOS UN NAMESPACE A LA CLASE


PERRO
NAMESPACE

DECLARAR EL USO DE UN MIEMBRO DEL


NAMESPACE

ARCHIVO INDEX.PHP
COMPOSER
INSTALAR UN PAQUETE EN COMPOSER

• VAMOS A INSTALAR EL PAQUETE CARBON

http://carbon.nesbot.com/
COMPOSER
INSTALAR UN PAQUETE EN COMPOSER

• VAMOS A NUESTRA CONSOLA Y COLOCAMOS LO SIGUIENTE:


 composer require nesbot/carbon

INSTALANDO EL PAQUETE DE CARBON…


COMPOSER
NUESTRO ARCHIVO COMPOSER JSON
COMPOSER
UTILIZAR NUESTRO PAQUETE

Namespace + clase
Carbon

Llamo la Clase Carbon +


una Function now()

format() es una de function que


da formato a nuestra fecha
FIN DE LA CLASE

Das könnte Ihnen auch gefallen