El enlace al código que deben de descargar de github: https://github.com/hectorbenitez/curso-introduccion-php/tree/deploy
Introducción
PHP: qué aprenderás en este curso
Herramientas
IDEs
Virtualización con Vagrant
Configuración de virtual host
Características avanzadas del lenguaje
Closures
Type Hinting
Agregar imágenes en Jobs
Salvar imágenes en Jobs
Traits
Endpoint to delete Jobs
Third party Traits - Soft Delete
Técnicas de programación
SOLID
SOLID a profundidad
Inyección de dependencias
Contenedor de inyección de dependencias
Middlewares y PSR15
Implementando el server request handler
Creando un middleware
Errores y debug
Error Handling
La biblioteca SPL
Debug
Xdebug
Logs
Trabajando con Monolog
Databases
Migraciones de bases de datos
Comandos y Tareas asíncronas
Comandos
Formulario para contacto
Emails
Async tasks
Procesar tareas asíncronas
Crear un comando para agregar usuarios
Seguridad
Security
Security Examples
Conclusiones
Crea una API Rest
Cierre
Aportes 47
Preguntas 16
El enlace al código que deben de descargar de github: https://github.com/hectorbenitez/curso-introduccion-php/tree/deploy
Para los que han tenido problemas de configuracion como yo prueben lo siguiente:
Esta fue la configuracion que funciono para mi equipo:
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: /root/.ssh/id_rsa.pub
keys:
- /root/.ssh/id_rsa
folders:
- map: /opt/platzi/phpAvanzado
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code/public
- map: cursophp.test
to: /home/vagrant/code/cursopractica/public
databases:
- homestead
- cursophp
Luego de que las rutas esten configuradas correctamente IMPORTANTE EJECUTAR EL COMANDO: vagrant reload --provision o vagrant up --provision
Cuando todo esto funcione deben crear la base de datos, yo utilice MySQL Workbenk con la configuracion que dejo Juan David Rodriguez:
Una vez tienes la conexion y base de datos creada. No olvides modificar el archivo .env que debe tener las credenciones asi usuario: homestead / password: secret
Mi archivo .env quedo asi
DB_DRIVER=mysql
DB_HOST=localhost
DB_NAME=cursophp
DB_USER=homestead
DB_PASS=secret
Espero les sea de ayuda pase 2 dias tratanto de configurar vagrant y homestead pero LO LOGRE!
SE HAN OMITIDOS TILDES POR TECLADO EN INGLES 😅.
Para las personas que utilizaron MySQL Workbench, la configuración queda de la siguiente manera:
Cuando añadas un nuevo dominio a tu MV, no olvides hacer una nueva provisión con este comando:
Primero detener la MV con este comando:
vagrant halt
Luego hagan una nueva provisión con este comando:
vagrant reload --provision
Esto es vital si quieren añadir nuevos dominios editando el archivo /etc/hosts
Hay algunas partes que no se explican en esta clase, como por ejemplo, para que funcione y te reconozca las bases de datos que apuntaste en el archivo Homestead.yaml, la línea que dice:
features:
- mysql: false
- mariadb: false
Debes cambiarla a:
features:
- mysql: true
- mariadb: false
Si no haces esto, no podrás conectar con las bases de datos: cursophp u otras que añadas aquí:
databases:
- homestead
- cursophp
- introphp
Si no haces esto, solo te permitirá conectarte a la base de datos por defecto: homestead
Espero les ayude esto, yo tuve muchos problemas al levantar la máquina virtual en mi equipo Mac.
en windows esto es horrible
si cuando hacen composer install les sale un error de que tienen php 8 pero necesitas el 7 ejecuten dentro de la maquina virtual
php74
y se les cambiarà la version de php
Para aquellos que quieran utilizar phpmyadmin. Les dejo un link donde podrán seguir los pasos: https://github.com/grrnikos/pm
No input file specified. me aparece asi ¿saben por que? gracias
Tuve muchos problemas pero ya logré solucionarlo todo, mi caso es el siguiente:
Debido a eso no podía seguir los mismos pasos que el profe, mi solución fue modificar los archivos de configuración dentro de la maquina virtual, especificamente “/etc/postgresql/11/main/pg_hba.conf” reemplazando en la última línea el 27.0.0.1/32 por all, quedando así host all all all md5. Esto lo que hace es que acepte las conexiones remotas las cuales las hice con pgadmin4 desde Ubuntu.
El comando “vagrant ssh” va a meterte dentro de la máquina virtual que creaste. Esto es bueno porque todo lo que usemos en un equipo de trabajo será estandarizado, todo basado en Linux y con las mismas versiones.
Algo similar se hacer cuando trabajas en tu propia máquina, el archivo hosts a veces es un dolor porque creas tus virtualhosts y te preguntas por qué no funciona y es porque es común olvidar configurar el archivos hosts xD
Hola!!! Se me estar presentando un problema al carga la pagina. No se que significa el error que me esta generando alguien me puede ayudar con estos???
Para los que quieran usar docker homestead Docker
Aquí pueden encontrar la imagen para docker y los pasos seguir para poder usar el ambiente de homestead.
Ayuda, me sale “No route” he clonado el repositorio y me fuí a la rama Deploy, puse composer install, y me sale “No route” a todas las direcciones que pongo estoy usando XAMPP ¿me echan una mano?
Holaa!! Cloné el archivo de git y ahora me sale “No Route”. No sé por qué no capta la ruta. Estoy usando XAMPP. Me ayudan por favor?
Al usar var_dump me sale lo siguiente
No route
Notice: Trying to get property ‘handler’ of non-object in C:\xampp\htdocs\curso-introduccion-php\public\index.php on line 132
NULL
en todas las rutas me sale así!
Es necesario hacer toda la virtualización para el curso?
Hola buenas noches! El codigo de github no coincide o quizá estoy escogiendo mal el branch. ¿Me indicariás el branch que debo agarrar por favor?
que programa parecido a sequel pro recomiendan utilizar para windows?
cómo detenemos la máquina vagrant cuando no queramos utilizarla más ? gran herramienta !
Alguien pudo solucionar el problema del No Route?
Para los que tengan ZoneAlarm : Desbloquear archivo Hosts
en configuracion avanzada del firewall.
Sino se desbloquea, no se puede acceder desde la url.
me quedó pendiente la base de datos. Cuando se configura db cursophp???
Alguien sabe como es el modelo de la base de datos del curso php, al intentar accder, sin utilizar homestead, tengo del anterior curso pero al parecer me falto configurar algo adicional en la base de datos.
`
<code> `CREATE TABLE `jobs` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` text NOT NULL,
`description` text NOT NULL,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
Cuando instala con composer el proyecto que framework viene asociado?
Es increíble esto de la virtualizacion. Para windows prefiero usar Laragon, un servidor local con todo. Nodejs, composer, gui para base de datos como Heidi, etc. Y hasta Host virtuales. Ya que windows es muy molesto de repente con todo esto. Saludos.
Me da este error y no se realmente como resolverlo.
**No input file specified. **
he estado siguiendo todos los tal cual, espero que alguien pueda ayudarme
es necesario utilizar maquina virtual hacer este curso ya que no cuento con un equipo lo suficientemente bueno para hacerlo a penas y anda con 2 pestañas del navegador y el visual studio code
En verdad, no aportan mucha ayuda para los usuarios de windows… personalmente creo que es un fracaso este curo para los que usamos windows
😦
C:/HashiCorp/Vagrant/embedded/mingw32/lib/ruby/2.4.0/psych.rb:377:in `parse’: (<unknown>): did not find expected ‘-’ indicator while parsing a block collection at line 16 column 5 (Psych::SyntaxError)
Cómo solucionaron el problema del “No route”?
El archivo host sirve para indicarle a nuestra computadora que cierta url está relacionada con cierta ip. Debes modificar este archivo si quieres que al escribir cierta url, el computador entienda una ip dada. En este caso usaremos la ip que tenemos en nuestro archivo “Homestead.yaml” y la url será cursophp.test.
Homestead ya cuenta con Composer instalado por default, así que podemos traer todas las dependencias de nuestro proyecto con “composer install” una vez que estemos en la carpeta de nuestro proyecto.
Creamos una conexión ssh para la base de datos y creamos la tabla jobs. Con esto ya funcionará el proyecto del curso pasado, virtualizado.
No sé si hice algo mal, pero solo cambie los datos del .env y funcionó la base de datos. Creando la tabla jobs no funcionaba.
Me di cuenta que vagrant no está tomando el .htaccess
Por lo tanto no está tomando los estilos
El redireccionamiento a /public se hace debido a la configuracion del archivo .yaml, más no porque esté tomando el .htaccess
Excelente conocimientos básico que se aprenden de red local dentro del PC, Ejemplo archivo HOST del sistema Good!!!
en lo personal amo docker
Tambien tenemos otra opción con docker donde se usa laradock para poder crear nuestro ambiente de desarrollo Aquí le dejo el enlace Laradock
me aparece la carpeta VAGRANT dentro del ssh de vagrant VACIA no aparece la carpeta code, que puede ser?
imposible medieron las 12 de la noche tratando de instalar esto en windows, madrugo a hacer doble boot de mi maquina con linux, que horror hacer esto en windows que horrorr con razon todos los cursos de open source los hacen en sus MACS pero uno pobre que anda con su pc windows le toca aguantar horas en esto
Hice todo paso a paso, pero por más que lo he intentado, la aplicación no se conecta a la base de datos, me indica permiso denegado para el usuario:
Error: Access denied for user 'vagrant'@'localhost' (using password: YES)
Por favor profesor, alguna idea de cómo arreglarlo?.. estoy con un equipo Mac.
Para quienes quieran hacer el entorno de desarrollo con docker les dejo el contenido de mi Dockerfile y de mi docker-compose.yaml
Dockerfile:
docker-compose
![](
Pregunta, en teoria el servidor esta arriba pero no logro accesar a el, hay alguna manera de testear si el server esta arriba ? nunca habia usado vagrat
Saludos al momento de acceder a cursophp.test me sale el siguiente error, alguien sabe como solucionarlo, gracias
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.