Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Área: NEGOCIOS
Introducción ......................................................................................................................................................... 1
1. El funcionamiento de un MVC .......................................................................................................................... 2
2. Framework en PHP ........................................................................................................................................... 2
2.1. Instalar Laravel ........................................................................................................................................................... 3
a. Pasos Instalar Composer ........................................................................................................................................... 3
2.2. Estructura de Laravel .................................................................................................................................................. 8
2.3. Estructura de las carpetas .......................................................................................................................................... 9
2.4. Funciones de archivos y carpetas ............................................................................................................................. 10
a. Composer.json......................................................................................................................................................... 10
b. Carpeta Storage....................................................................................................................................................... 10
c. Carpeta Resources ................................................................................................................................................... 10
d. Carpeta Vendor ....................................................................................................................................................... 10
e. Carpeta Public ......................................................................................................................................................... 10
f. Carpeta App ............................................................................................................................................................. 10
g. Carpeta Routes ........................................................................................................................................................ 10
3. Procedimiento ................................................................................................................................................ 11
3.1. Modificación de la página de inicio de laravel. ......................................................................................................... 11
3.2. Vistas y Rutas ............................................................................................................................................................ 14
4. Controladores ................................................................................................................................................. 18
5. Enviar información del sistema web a una Vista ............................................................................................ 22
6. Conexión con base de datos ........................................................................................................................... 25
Cierre .................................................................................................................................................................. 30
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB
Instalación
Validación y aprendizaje
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 1
Introducción
En el mundo de la programación y en nuestras primeras experiencias en
la codificación, nos hemos percatado que cada persona tiene un estilo
muy particular en su forma de programar, llegando a ser muy distinta
una de otra, además, en algunos casos, llega a ser incomprensible.
Debido a estas grandes diferencias se han creado diversos patrones de
programación. Actualmente, uno de los más conocidos es el Modelo
Vista Controlador, ocupado por diversos framework, pero qué es el
Patrón Modelo Vista Controlador.
El Modelo Vista Controlador o popularmente conocido por sus siglas MVC, se encarga de segmentar los
diversos códigos de programación, separando la lógica del negocio de la interface del usuario. De esta
manera, creamos una página web netamente funcional para que luego sea posible entregar este código a un
diseñador gráfico, el cual será el encargado de realizar los ajustes gráficos pertinentes a nuestra página web.
MVC se encuentra dividido tal como su nombre lo dice en 3 secciones:
•Es donde está programada •Es toda la codificación •Es donde están todas las
toda la lógica y arquitectura pública que se muestra al clases para poder realizar la
del proyecto, se encuentra usuario, tanto la interfaz comunicación entre las Vista
comunicada directamente gráfica como también los CSS y el modelo, esta se
con la base de datos. y JS utilizados. encuentra formada por clases
y funciones, llegando a ser el
sector con más codificación
de nuestro proyecto.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 2
2. El usuario realiza una acción en la página web (Por ejemplo: Presiona un Botón)
4. El controlador mediante una o varias funciones realiza una acción que llama al
modelo.
2. Framework en PHP
Existen miles de framework de trabajo en MVC, por lo general, existe al menos uno para cada lenguaje de
programación utilizado en la actualidad. A continuación, aprenderemos sobre Laravel, el cual es un
framework altamente demandado en el mercado laboral y bastante utilizado por los programadores de PHP.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 3
IMPORTANTE
Recordatorio: Primero hay que tener instalado nuestro servidor Web (Xampp, Mamp, Lamp, Wamp o también
Apache, Mysql instalados independientemente en la máquina)
Si están en un computador Windows, les aparecerá al inicio el link para descargar el archivo ejecutable.
d. Instalamos Composer, y preocúpense de descargar la instalación de Shell Menús (Si es que no la quieren
instalar) → Realizamos clic en Next
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 5
Una vez instalado, solo debemos comprobar si todo está correcto en la consola de comandos CMD. Para esto,
ejecutamos los siguientes comandos:
php –v
composer -version
Si se encuentran en Mac o Linux, esta opción no aparecerá y deberán realizar la instalación por comandos
como se indica en la página.
php composer-setup.php
php -r "unlink('composer-setup.php');"
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 6
a. En primer lugar, nos ubicamos en una carpeta de nuestro servidor, en este caso lo estamos viendo con
MAMP y este se encuentra en la dirección /Applications/MAMP/htdocs (en Xampp es C:\xampp\htdocs). Una
vez en la carpeta, creamos otra carpeta para que todo quede más ordenado, en este caso se creó una
carpeta llamada Laravel.
c. Ahora ejecutamos el siguiente código para poder crear un proyecto de laravel. La sintaxis es la siguiente:
Después de dar enter tardará un momento, (esto dependerá del computador que cada uno tenga).
Antes de comenzar, debemos comprobar si todo se instaló correctamente, para esto tenemos dos
opciones:
Donde HTTP, es la carpeta más importante, dentro de esta estarán los controladores de nuestro proyecto.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 10
a. Composer.json: Este archivo se encuentra al momento de ingresar a nuestro proyecto laravel, este
contiene la información de composer.
b. Carpeta Storage: Esta carpeta nos ayudará mucho para realizar el debug de nuestra aplicación web,
debido que en esta carpeta se almacenará la información de sesiones, logs, cache, etc. Se recomienda no
tocar esta carpeta, pero si verificarla contantemente.
c. Carpeta Resources: En esta carpeta estarán los recursos de nuestro sitio web, es dónde se almacenarán los
assest de nuestra página web, como vimos en la unidad 1, están los css, js e imágenes. También ésta página
contendrá nuestra vista (HTML), es este caso todas las vistas tendrán el nombre.blade.php, estas son la
plantilla básica de Laravel.
d. Carpeta Vendor: En esta carpeta contendrá todas las librerías necesarias para nuestro proyecto. Se
recomienda no manipular esta carpeta dado que Composer se encargara de su generación y modificación.
e. Carpeta Public: Esta carpeta, como su nombre lo dice es pública y se puede acceder desde afuera por
mediando el servidor web, dentro de ellas existen varios archivos que serían importante si queremos generar
una buena página web.
- Robots.txt = Este archivo nos ayudara mucho para posicionar nuestra página en los motores de
búsqueda.
- Index.php = Este archivo que trabaja como primer controlador hacia el sistema web, siendo este la
vía de entrada del proyecto, siendo este el front controller.
f. Carpeta App: En esta carpeta ira toda la configuración personalizada de nuestra aplicación, dentro de ella
puedes encontrar:
- Http → Controllers : En esta sub carpeta estarán todos los controladores de la lógica de nuestro
proyecto
- Http → Middleware: Los filtros encargados de los accesos de nuestro sitio web
- Dentro de app también están los modelos, estos son los archivos que se encuentran solos en esta
carpeta, por defecto nos crea un solo archivo que se llama User.php.
g. Carpeta Routes: Dentro de esta carpeta se encuentra un archivo llamado web.php, este archivo es muy
importante debido que dentro de este se le indicará al sistema que caminos deberá tomar para las peticiones
realizadas por el usuario.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 11
a. Nos dirigimos a Resources /View y por defecto deberemos encontrar un archivo llamado
welcome.blade.php
b. Al abrir esta página nos encontraremos con un código HTML, en este nos será muy fácil modificarlo.
Entonces cambiaremos el título y el nombre en el body de la tabla, que eran laravel por Ipp Clases. También
se eliminaron los links estaban en el body, quedando el siguiente archivo.
<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>IPP Clase</title>
.full-height {
height: 100vh;
}
.flex-center {
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 12
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 12px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@auth
<a href="{{ url('/home') }}">Home</a>
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 13
<div class="content">
<div class="title m-b-md">
Ipp Clase
</div>
</div>
</div>
</body>
</html>
Al realizar enter nos mostrara un error, este es el famoso error 404 en donde no encuentra la página web.
<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<title>Pagina 2 </title>
</head>
<body>
Esta es una segunda pagina
</body>
</html>
Route::get('/', function () {
return view('welcome');
});
1. Es una ruta con método get, el cual es llamada con ‘/’(es pagina de inicio) con una función en blanco.
2. Dentro de la función, nos indica que tiene que retornar la vista llamada welcome.
Entonces siguiendo estos 2 pasos ahora crearemos nuestra 2 ruta, informando que para la url /hola nos
retorne pagina2.
Route::get('/', function () {
return view('welcome');
});
Route::get('/hola', function () {
return view('pagina2');
});
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 16
Si seguimos con rutas, nos encontraremos que para el ejemplo anterior nos encontramos que, al momento
de retornar, esté era una vista, pero también podemos retornar otro tipo de información, como cadenas de
texto, números o funciones.
Ejemplo: Para nuestra url hola le pondremos que en vez de retornar a la pagina2 solo envíe un mensaje
saludando.
Route::get('/hola', function () {
return 'Hola Mundo IPP';
});
Como se ve en la imagen, al momento de inspeccionar nos muestra un código html, siendo que solo se envió
el texto, esto ocurre siempre en los navegadores web de la actualidad, los cuales interpretan información.
En php normalmente para obtener información por método get, se utiliza la variable $_GET[‘nombre
variable’], en este caso ocurre los mismo.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 17
Route::get('/', function () {
return view('welcome');
});
Route::get('/hola', function () {
return 'Hola Mundo IPP';
});
Route::get('/hola/informacion', function () {
return 'la información en la página es '. $_GET['numero'];
});
Se recomienda por su sencillez escribir hola/20 y que ya sepa que información mostrar, esto con laravel es
muy sencillo, se tiene que realizar de la siguiente manera.
Entre llaves después del / se coloca el nombre del objeto que entrega por url, posteriormente en nuestra
función que antes era variable ahora se informa que el valor que entrego por la url, ahora se llama $numero.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 18
4. Controladores
Primeramente se debe conocer que en los controladores es donde estará toda la lógica de nuestro proyecto,
estos archivos se encuentran en APP→HTTP→Controllers.
Para poder crear un controlador, este se realiza por consola, mediante artisan, con el siguiente código:
Nos dirigimos a nuestro proyecto en el navegador y verificamos que el controlador este creado.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 19
Ejemplo:
Ahora el controlador tiene un método público llamado index, el cual solo retorna un mensaje llamado Hola
Mundo IPP.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 20
Luego la ruta llamada /hola quedo mucho más limpia, debido a que llamo al controlador.
Es importante que para llamar a un controlador considera que lo primero va es el nombre del controlador,
arroba(@) y después el método, en este ejemplo seria Colores@index.
Ahora traspasamos nuestra otra ruta a los controladores y quedaría de la siguiente forma.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 21
$color = ['verde','rojo','amarillo','azul','blanco','negro'];
Posterior a esto de crear un enlacen el cual se envié la información a la vista, esto se puede realizar con el
siguiente código.
return view('pagina2',[
'colors' => $color
]);
ahora se está enviado la variable color con el nombre de colors, a nuestra vista.
IMPORTANTE
El foreach, es una función cíclica el cual recorre cada uno de los ciclos de un arreglo u objeto, para este ejemplo
recorre el arreglo.
Este código lo que realiza, que del arreglo colors, lo cambia a una variable color cada uno de los objetos
dentro de este arreglo y lo empieza a recorrer.
a. Lo primero que tenemos que realizar es crear nuestra base de datos, para este ejemplo utilizaremos
phpmyadmin.
b. Una vez creada nuestra base de datos, configuremos laravel, para que trabaje con nuestra base de datos
recién creada.
En el buscamos una línea que diga ‘DB_CONNECTION=mysql’, posterior a esta línea estarán todas las líneas
de comando relacionada a la base de datos.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=claseipp
DB_USERNAME=root
DB_PASSWORD=root
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 26
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'claseipp'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
'unix_socket' =env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Ahora este código lo que realiza es insertar un nuevo texto a la base de datos, pero para poder realizar esto
debemos colocar en el otro seeder, la relación de este nuevo que creamos.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 29
Ahora para probar que este todo bien. Por consola ingresamos el siguiente código:
Para verificar los cambios vamos a phpmyadmin para ver si se ejecutaron los cambios.
Con la práctica y estudio de todos estos procedimientos usted tendrá los conocimientos básicos para iniciarse
y comenzar a aprender más de Laravel.
Área: NEGOCIOS M4
Curso: PROGRAMACIÓN DE APLICACIONES WEB Pág. 30
Sigan creciendo como profesionales, PHP en Laravel es solo el comienzo de este gran mundo, aprendan
diferentes lenguajes de programación, para que en un futuro puedan decidir cuál es su lenguaje de
especialización, dependiendo del segmento profesional quieran apuntar.
Muchas felicidades a todos por cada día aprender más de programación y sigan practicando, creen varios
sistemas, creen interacción con otras plataformas.
APORTE A TU FORMACIÓN
En cualquier portal de trabajo, siempre verán que se busca programadores, al realizar clic en cualquiera de estos
avisos verán que se refieren a programadores web, pero una vez interiorizado en la propuesta de trabajo (si es una
mediana o pequeña empresa) verán que no es solo la programación web, sino que deberán poseer manejo de todo
lo que es el Front End del sistema web y también en muchos casos realizar toda la conexión con la base de datos
ustedes mismos. Todo lo aprendido en este módulo es utilizable
En la actualidad la programación web es lo más utilizado por las empresas para la administración de información,
debido a su bajo costo de implementación (que solo se tiene que implementar en el servidor) y el fácil acceso que
se puede obtener desde cualquier medio tecnológico (computador, Tablet o celular)