>> Usted puede recordar de la última vez que nos miramos
en este último ejemplo de MVC,
un controlador de vista de modelo arquitectura,
y casi hervía
a la organización de las cosas un poco más limpiamente
en los directorios.
Y si lo hago árbol, que es sólo un comando
que me muestra el sistema de archivos así, tuvimos una agradable
y ordenada plantillas de directorio, un directorio público, y así sucesivamente.
Y la impresión general sólo se puso
en el directorio público los archivos que realmente necesitan
a ser público, y todo más debe ser muy bien organizado.
Pero de manera efectiva, dentro de este directorio público que tuvimos durante toda
manojo entero de los controladores, controladores individuales
que de alguna manera requerida o incluidos otros archivos.
Pero en realidad no tuvimos mucho más funcionalidad que eso,
y, de hecho, que de alguna manera tenía que poner en práctica esta idea de opiniones,
o plantillas, nosotros mismos, con la función de extracción
y una función de hacer que implementamos nosotros mismos.
Y como es que empezamos a hacer esto, vamos a empezar a darse cuenta -
vamos a empezar a construir una Lista de productos deseados, como, oh, wow,
Me gustaría tener una biblioteca para el envío de correos electrónicos.
Me gustaría tener una biblioteca para la creación de una base de datos.
Ojalá Tengo biblioteca de punto punto punto.
Y es por eso que estos existen bibliotecas.
Esto es por qué las personas usan Django con Python,
porque simplemente le da más.
Es por eso que la gente usa Rails con Ruby
porque simplemente le da más.
Es por eso que vamos a utilizar Laravel porque en la parte superior de PHP,
sólo te da más.
Y sólo para enseñar, a continuación, por un momento, que voy a ir
en un directorio v-host
en una aplicación de ejemplo utilizando Laravel.
A primera vista, francamente, es probablemente un poco abrumador
porque hay muchos archivos, por lo que muchos directorios,
pero lo importante, y como vamos a ver después de un pequeño descanso,
es a centrarse sólo en las cosas más pertinentes
para conseguir que se hagan algunos trabajos inicialmente, y que va
para estar en el directorio de apt.
Como usted podrá ver y escuchar, no siguen siendo un montón de carpetas,
pero los de ir a cuidar acerca de, principalmente, son de este.
Si yo abro el camino parada PHP, el aviso como un reclamo,
cómo esta solicitud está a punto de trabajar.
Esta es una reimplementación en Laravel
del super simple aplicación supuesto estúpido
eso me dio la semana cero, semana uno, conferencias, y los archivos PDF.
Simplemente voy a especificar - la pantalla se ve un pequeño corte apagado,
nuevo - Voy a especificación de los siguientes,
que quiero definir una ruta utilizando HTTP GET para barra,
y cada vez que un usuario de este visitas aplicación slash
en mi sitio web, quiero ejecutar el trozo de código en el anonimato,
es decir, devolver la vista de colon make.
Así que esto significa una llamada método estático dentro
de una clase llamada vista, y marca muestra una plantilla
eso se llama índice, y que pasa en un montón
de pares de valores clave, en este caso, el título.
Mientras tanto, si el usuario visitas slash conferencias,
Este código debe ejecutar,
y la plantilla de conferencias debe quedar rendido.
Por último, si el usuario visita conferencias slash algo,
donde ese algo es, por el fondo aquí, un número,
uno o más dígitos decimales,
entonces quiero hacer las conferencias plantilla,
pasando en el título también.
Así, el resultado final es que -
si realmente levanto esta aplicación en el navegador,
el resultado final - gritos.
El resultado final es exactamente de la misma,
aunque con poco URLs más sexy ahora.
Ahora bien, es una barra charla 0 en lugar de la semana cero punto PHP.
Pero, hagamos una pausa aquí.
Vamos a tomar una de dos minutos romper, y cuando volvamos,
Tim va a venir en pie y nos introducirá
para el funcionamiento interno de Laravel y el tipo
de funcionalidad somos a punto de salir de la caja.
>> Muy bien, entonces, ahora estamos va a tomar una inmersión más profunda
en el marco Laravel PHP, que David menciona.
Así Laravel, el primer lugar vamos a comenzar está pasando
al inicio rápido
y su instalación a través de algo llamado Compositor.
Así Composer es una sistema de gestión de paquetes
para PHP similar a gemas de rubí o Pit
para Python o MPM para No JS.
Compositor ayuda a gestionar todos las diferentes dependencias
que Laravel depende del momento - Algo así, bajo el capó.
Se utiliza una gran cantidad de la sinfonía,
de otro framework PHP funcionamiento interno.
Y, así, vamos utilizar la línea de comandos
que nos dan aquí, Compositor crear proyectos Laravel Laravel,
después de que hemos instalado la utilidad Compositor,
que ya tengo hecho en el - vamos a ver.
Así que estoy usando el CS 50 aparato
porque esto tiene toda la Las versiones de PHP y My SQL
y todo lo que necesitamos para empezar a correr.
Así que voy a seguir adelante y tire hacia arriba de la terminal de aquí
y saltar en el v-host directorio, y voy
pegar este - ¡oh, yo no puede hacerlo de esa manera.
Así que voy a SSH a la instancia de Linux
que me estoy quedando en el VMWare.
Y yo voy a ejecutar este Compositor crear proyecto Laravel,
y yo voy a cambiar el nombre del proyecto
a dev solo ejemplo de puntos.
Y detrás de las escenas,
esto toma un poco de tiempo la primera vez que vas
para hacerlo, pero es instalar todas las dependencias
que usted va a deberá ejecutar Laravel.
Así que espero que esto hace No tome demasiado tiempo.
Sólo debe tomar un segundo.
La primera vez que lo haces, tomará unos pocos minutos,
probablemente, porque tiene que tener todo.
Lo tengo todo aquí en caché.
Así que ahora que tenemos ejemplo de punto dev, lo que vamos a necesitar
que hacer para poder acceder a este
en nuestro navegador Chrome es seguir adelante y saltar a -
vamos a pseudo a través del archivo hosts Etsy.
Y vamos a seguir adelante y añadir una nueva línea aquí con la IP
del 50 aparato, que se muestra aquí
en la esquina inferior derecha de la pantalla, el 192 168 -
y esto podría ser diferente dependiendo de su máquina,
por lo que 192 168 69 128 [audio romper] Ejemplo de proyecto dot prog.
Okay. Guarde eso.
Así que, ahora, si vamos al ejemplo los puntos sobre dev, vemos el - vamos a ver.
Oh, yo estaba en el mal directorio, así que me vaya por delante
y mover el dev ejemplo dot en el directorio de v-host.
Y ahora si nos refrescamos, nos ver que dice prohibido.
Usted no tiene acceso.
Así que tenemos que ir a la dev ejemplo dot
en V-host, y necesitamos chmod para 0711, el dev ejemplo de punto,
así como al público - ¡oh, Lo hice mal en ambas ocasiones.
Así el dev ejemplo de punto, como así como el directorio público
que está debajo , de modo que es capaz
para llegar al punto PHP índice.
Y ahora, si nos refrescamos - oh, todavía estamos teniendo problemas.
Así que en el interior del ejemplo directorio público,
si una lista de todos los archivos, incluyendo los escondidos,
hay un archivo de acceso a HD, y esto es utilizado por Apache
para ayudar a determinar, por este directorio específico,
donde deben ser colocados de solicitudes.
Así que esto también tiene que tener permisos para 0644, y ahora que has llegado.
Así que esa fue la instalación rápida de Laravel mediante la línea de comandos.
Así que vamos a seguir adelante, y me voy usar algo que se llama Samba.
Si usted no está familiarizado con él, puede - en el menú Finder,
ir a ir y conectarse a servidor, y usted puede seguir adelante
y hacer SMB de colon slash tala y la dirección IP
de la instancia de Linux que estamos que se ejecuta en VMWare y seguir adelante
y conectar con el servidor de modo que usted puede montarlo
como sistema de archivos y utilizarlo
como si estuviese localmente conectado a él.
Así que me voy a ir adelante y sacar esto adelante
en un editor llamado texto sublime.
Si no está familiarizado, se es un muy buen editor
que está disponible para editar los archivos de código.
Y así vamos para echar un vistazo
en el directorio estructura para el proyecto.
Así que hay un pocos diferentes carpetas en el nivel superior.
No hay aplicación, que David ha mencionado ya.
Hay bootstrap, que son algunos archivos utilizados internamente
por Laravel para arrancar todos los dependencias, se cargan a todos en,
asegurarse de que toda la magia métodos se denominan correctamente
para poder [pausa de audio].
No es el público directorio, que es donde todos
de nuestros activos orientación al público, tales como el PHP punto índice
donde se encaminan peticiones, imágenes, archivos CSS, JavaScript,
cualquier cosa que necesita ser directamente accesibles
por el mundo vive en el directorio público.
Y entonces el directorio de proveedores son todos los activos -
o la totalidad de la [pausa audio] bajo el capó que hace mucho
parte del trabajo pesado que depende de Laravel.
Así típicamente, en un público directorio, esto es una especie
de lo que se ve, la CSS, JavaScript,
esos archivos no están allí cuando de instalar el marco,
pero esas son cosas que es probable que desee añadir
como usted está construyendo a sus aplicaciones.
El archivo de acceso HD que mencionados y el PHP punto índice,
que es el frente controlador para el -
donde todas las peticiones ir a través de un principio.
Así que dentro de la aplicación carpeta, estos son -
hay realmente una pareja -
en realidad hay unos pocos carpetas diferentes aquí.
Hay un montón de ellos, y como David mencionó,
Puede ser abrumador al principio, pero lo que desea es concentrarse
en éstos específicamente.
Así que no hay las rutas salpican PHP, que es lo que hemos visto anteriormente
para demostrar que usted puede enrutar un método de URL y HTP específica
a un cierto ya sea anónimo función, como David estaba usando,
o un controlador, el cual estamos a punto de pasar.
Ahí está la carpeta CONFIG,
que es donde se establece ninguna configuración de la aplicación
que usted necesita, como configuración de base de datos o cualquier API
que podría estar tratando.
Si usted está usando algo enviar correo
o si se va a conectar a Amazon para almacenar las imágenes,
se debe establecer todas esas configuraciones
en un punto central en el aplicación para que -
tipo de convenios que todos, ya que están trabajando
en un equipo, usted no tiene que pensar en dónde está esto.
Es que tienes una establecer el lugar donde va.
Eso sería en CONFIG.
Los controladores son la colocar en la solicitud
donde normalmente enrutar las solicitudes.
Así el controlador maneja una gran parte de la lógica de la aplicación
y en cierto modo lo que recoge el visualización de la pantalla se va
para ser, los puntos de vista, y luego también conchas
a los diferentes modelos que contienen los datos
y aprobar aquellas a la vista.
Así que una especie de - el controlador es una especie de la operadora
para las solicitudes, ya sabes, lo que vas a hacer
con los datos - o con - dependiendo de la solicitud es,
qué datos deben figurar y ¿de dónde sacamos desde.
Y las vistas son normalmente sólo HTML,
tal vez utilizando una plantilla motor, ya que vamos a ir
sobre con la hoja de plantillas del motor que se entrega con Laravel.
Y luego los otros directorios por ahora, sólo vamos
glosar especie de sobre y no preocuparse.
Pero estos incluyen pruebas, por lo que aplicaciones de prueba gratuita de unidad,
filtros, almacenamiento.
Sigo haciendo esto.
Muy bien, el salto copia aquí.
Así que lo primero que viene con esta ruta se consigue
y no vista hace hola.
Así que si nos fijamos en el directorio de puntos de vista,
vemos que hay PHP es un punto hola,
y ahí es donde esta usted han llegado está viniendo.
Pero también podemos cambiar esto a -
así, podemos cambiar esto a hola, y ahora, si tratamos de ir
a una ruta que no está definido obtenemos este tipo de bandejas de la pila
en cuanto a lo que salió mal con la aplicación.
Pero si vamos a recortar hola,
en realidad hay una error interno del servidor.
Así que hay un poco de magia sucede detrás de las escenas
en el CS 50 al aparato asegúrese de que usted es capaz de
designar a todos ellos directorios convenientemente.
El nombre de la - por lo que el ejemplo de puntos dev que dimos.
Así que en realidad tenemos que cambiar una cosa más
en el archivo de acceso HD.
Así que vamos a seguir adelante
y agregar esta línea, reescribir la barra base.
Y que, básicamente, es otra directiva.
David, usted puede hablar con más de lo que hace la base de reescritura.
>> Es esencialmente corrige más de lo que piensa el servidor.
Se supone que debe ser [Inaudible] host virtual.
Así especificando ignorar que por reescribir direcciones diagonales base.
>> Derecho. Así que, ahora, recortar hola funciona correctamente.
Así que vamos a saltar de nuevo por aquí.
Así que junto con sólo hacer un función anónima como este,
hay - por lo que este es sólo un resumen
del MVC que era sólo discutir.
Se entra en las rutas y luego conchas fuera los controladores,
que trata de la modelos y puntos de vista y cómo todos
que deberían abordarse.
Así que los controladores son una especie de - ayudar a centralizar todo eso,
y se puede acceder a ellos a través de rutas por diciendo ruta conseguir.
Así que podemos decir ruta obtener hola,
y entonces el controlador nombrar al y un nombre de método.
Así que vamos a seguir adelante y dar a ese un tiro.
Así que vamos a decir de ruta conseguir recortar hola,
y que vamos a hacer un saludo controlador en el show hola.
Así que para que esto funcione,
tenemos que añadir un archivo llamado hola controlador PHP punto.
Voy a seguir adelante y - por lo que se extiende un controlador de base,
que Laravel ya naves con,
que se extiende un controlador, que es una especie de debajo del capó
y hace un montón de la cosas detrás de las escenas
que ayuda a los controladores para gestionar todo este estado
que entra en la aplicación.
Así que el controlador de casa, nos dijo que sería nombrado espectáculo hola.
Y sólo tendremos que - en su lugar de devolver una vista,
sólo tendremos que regresemos hola mundo.
Oh, hola - oh, lo copié.
Hola controlador.
Así que hola mundo.
Así que eso es sólo una verdad, realmente simple ejemplo
de cómo se puede crear controladores.