>> Alright.
Así que los cursos de instrucción.
Catálogo de cursos de la Universidad de Harvard tiene varios miles de cursos,
hay varios cientos de la facultad
y hay varios docenas de campos,
ciencias de la computación sólo siendo uno de ellos,
y pensé que usaríamos esto como una oportunidad para empezar a pensar
acerca de cómo implementa un aplicación basada en web estándar
usando PHP y Laravel y también cómo podríamos modelar algunos
de estas entidades del mundo real.
Así que para hacer esto usaremos Laravel, que es sólo un marco
que añade una gran cantidad de características de PHP,
al igual que agrega Jango el mismo que Python,
Rails añade el mismo a Ruby.
Así que hay un par de diferentes maneras
en el que se puede instalar Laravel.
La documentación para Laravel, como usted puede recordar
desde la semana pasada, es realmente muy rico
y que sin duda puede por su cuenta en el juego en casa
con esto y seguir las instrucciones específicamente,
pero voy a seguir adelante y sólo nos dan una rápida,
gira relámpago por algunos de ellos,
similar a lo que Tim hizo el otro día,
y yo estoy primero va a utilizar esto.
Así Composer es una especie de característica nueva y mejorada
para el mundo de PHP que hace más fácil instalar las cosas.
Si está familiarizado con la Ley Entra en el [inaudible] mundo
o [inaudible] mundial o Yum en el [inaudible]
y el mundo de Red Hat, esta es todavía una herramienta más
que le permite instalar cosas
para este entorno particular.
Así que si lo hago Compositor, Crear un proyecto y así sucesivamente,
que voy a hacer aquí, vamos a ir por delante y justo, yo te acompaño
a través de algunos de estos pasos como lo hicimos la última vez
sin el signo de porcentaje, Maldita sea, sin Compositor.
Así que con el compositor-estoy utilizando una máquina virtual diferente
que lo hacía antes.
Vamos a hacer esto muy rápido.
Muy bien, lo que la instalación Compositor es tan simple como esto.
Así que voy a hacer una, me levantaré en mi caja de jabón por un rato también.
Esto es realmente una muy paradigma cada vez más común
para la instalación de las cosas en computadoras de la gente en estos días,
donde esencialmente recuperar una dirección URL arbitraria,
canalizarla a través de un intérprete y luego simplemente hacer lo que
que trozo de código arbitrario que acaba de descargar dice que hacer.
Es muy fácil, ya que está a punto para ver pero se dan cuenta que el escéptico
en su debe pensar que esta es uno de los más inseguros
cosas que usted podría hacer; la descarga de un archivo arbitrario
desde Internet y luego ciegamente ejecutarlo a modo
de la tubería, pero lo haremos confía en que el instalador es
De hecho legítimo hoy.
Voy a seguir adelante y ejecutar esto y esto va
para descargar el programa.
Se va a descargar un archivo llamado composer.farphparchive,
y yo voy a ir adelante y hacer esto,
sudo-primera realidad chmod755composer.far,
que se va a hacer ejecutable por todos,
y luego me voy a hacer sudo mv compositor
al usuario compositor bin locales, y lo que es fácil de la bandeja local
para aquellos familiarizados con Linux?
Para que quede claro que estoy haciendo esto dentro
del aparato, incluso aunque Estoy usando el terminal en mi MAC.
[Bajo audio] Exactamente, por lo que en un directorio,
en realidad una ligera clarificación.
En el directorio normalmente llamado / bin
o / userbin son de hecho algunos programas muy populares
como el CD y LS y así sucesivamente.
En usuario bin locales por convención no es otra cosa de manera predeterminada y que,
los usuarios del sistema, puede poner lo que queramos en allí
y por defecto está en su llamada ruta de búsqueda de modo que
cuando sólo tiene que teclear el compositor el sistema operativo, Linux,
va a mirar en esa directorio entre otras
para encontrar el programa en cuestión, y resulta que está bien
para cambiar su nombre con la extensión de archivo
porque hemos hecho ejecutable.
Esta cosa realmente funcionar como se pretende.
Bueno por lo que ahora voy a volver
a la línea que propuse que ejecutar antes, lo que es esto;
compositor y entonces toma una línea de argumento de comando,
que sé que sólo a partir la lectura de la documentación,
llamado crear un proyecto.
Tengo que especificar el nombre del el proyecto en el que quiero
a la mía base y Laravel / Laravel esencialmente se refiere
a un repositorio hub get en el que dicho código vive.
Catálogo es un nombre arbitrario Yo voy a dar a mi proyecto,
el catálogo de cursos, pero se podría llamar foo
o cualquier otra cosa, y prefieren-dist.
Es un poco cortada.
Sólo significa que prefieren la última distribución.
Así que voy a seguir adelante y pulsa Intro y como Tim dijo
el miércoles que puede a veces tardan un rato,
especialmente si usted es en una conexión lenta
o si no se ha almacenado en caché algunas de estas cosas,
pero lo que es esto haciendo es que está comprobando
a cabo un manojo entero de código de línea.
Se va lentamente a descargarlo en mi computadora
y cuando por fin ha terminado,
Voy a tener un directorio llamado Catálogo interior
de los cuales se-oops, es por eso.
Catálogo, vamos a hacer eso otra vez.
Bueno no ejecute esa.
Al parecer, vosotros tenéis la existente Directorio Catálogo y advierte
que en el último minuto.
Esto va a tener para mí un directorio llamado Catálogo interior
de los cuales es todo el código que necesito
para comenzar a escribir una web basada en aplicación con Laravel.
Así que dentro de unos pocos segundos esto debería poner en
y una vez que tengamos esto, y una vez más si no estás en el punto
donde usted es capaz de seguir adelante en estos momentos,
que es totalmente bien, es bastante fácil
para volver a crear estos pasos después en su propio aparato.
De acuerdo. Muy bien en el Mientras tanto, como lo hacemos,
Voy a tirar hasta otra pista.
Así que es posible que tenga visto Tim mención
o editar el archivo por última vez.
¿Qué es un archivo etc / host y donde vive?
Muy bien vamos a rodar hacia atrás en el tiempo.
¿Qué es el DNS, lo que nos debatido no hace mucho tiempo?
Muy bien, así que el sistema de nombres de dominio.
Esto es sólo el infraestructura en Internet
que hace lo que en una frase?
Sí. [Bajo audio] Exactamente.
Convierte los nombres de dominio de Direcciones IP y viceversa,
por lo que es efectivamente una tabla de base de datos grande
con estos dos columnas que tienen nombres de dominio completos
en la dirección izquierda y IP a la derecha, por ejemplo,
y que sólo convierte los dos.
Ahora que es todo fino y bueno pero si usted realmente desea
para crear nuevos nombres de host en el Internet, los nuevos nombres de dominio
en el Internet, por lo general tiene que dar dinero a alguien,
usted tiene que configurar las cosas en su servidor, sus servidores de nombres
y así sucesivamente, que es un dolor real, y sobre todo
si realmente no queremos comprar un nombre de dominio, sólo queremos
pretender que tenemos nuestro propio dominio local,
por ejemplo llamada Catálogo o Catalog.com
ni nada de eso.
Bueno etc / host que permite al disco asignaciones de códigos entre los nombres de host
y las direcciones IP de su propio equipo local con el fin de
para engañar esencialmente el ordenador en el pensamiento
que ese nombre de dominio que realmente existe en ese IP.
Se comprueba primero antes el sistema de DNS en realidad sí
está marcada.
Así que déjame ir a este ventana de terminal y se ve
al igual que en el fondo hay,
todo había descargado con éxito,
así que lo que ahora voy que hacer es lo siguiente.
Si usted está más familiarizado desde su 50 ª o 51 días
con G Edit, me voy a ir adelante y hacer esto con G Edit
en un primer momento, pero estoy va a seguir adelante
y hacer sudo g edite / etc / hosts en el interior del aparato,
y cuando hago esto estoy va a conseguir una ventana
que se parece a este de aquí.
Líneas tanto críptica sólo porque son largos,
pero esencialmente es 127.0.0.1 cartografía
a unos pocos nombres de host distintos, uno de los cuales es host local,
uno de los cuales es aparato y luego un par más;
localhost, appliance.localdomain.
Estos son sólo convenciones utilizar cosas como localhost
como nombre de host predeterminado y localdomain
como parte activa por defecto dominio de primer nivel o TLD.
Así que darse cuenta de lo que ya lo hizo para la exposición aquí.
Si quiero engañar al aparato en el pensamiento
Catálogo que es de hecho un sitio web de bienes en el Internet,
Les puedo decir que el aparato su dirección IP 127.0.0.1.
Ahora ¿por qué esa dirección?
¿Qué es esa IP?
¿De dónde viene?
¿A quién tengo que preguntar por eso?
[Bajo audio] ¿Qué es eso?
[Bajo audio] Es la dirección de vuelta del bucle,
que simplemente significa que es la dirección IP por defecto dado
a la mayoría de cualquier computadora en el mundo que soporta IP,
protocolo de Internet, y que es una dirección de vuelta del bucle
en el sentido de que que refleja.
Se refiere a sí mismo.
Así que todos nosotros, si tenemos un aparato o incluso un MAC
o PC tiene una dirección IP local de 127.0.0.1 y sólo se usa
de modo que se puede hablar a ti mismo.
Lo que pude en la figura teoría
qué IP del aparato dirección es y el tipo de 192.168
o lo que sea ese número es, pero no es necesario.
Éste va a ser invariante y simplemente siempre va a funcionar.
Así que una vez que me reservo eso significa que en última instancia,
que en un navegador que puedo ir a http://Catalog, ya que voy a hacer aquí,
pero algunas cosas son salido de las puertas.
Entonces, ¿qué hace esto suelen decir,
cuando no tengo permisos, prohibido, de hacer algo,
¿Cuál es tu primer instinto para resolver este problema?
Yo descargo un directorio llamado Catálogo
en mi directorio V ejércitos, que desde la semana pasada, como se recordará es
donde toda nuestra clase de páginas web locales vivirán.
¿Qué podría ser roto?
¿Cómo solucionar?
[Bajo audio] Permisos.
Permisos de qué?
Bien archivos potencialmente.
Así que vamos a volver a nuestra ventana de terminal aquí.
Estoy en mi directorio del servidor V.
Déjame hacer LS y notificación hay un par de cosas.
Host local, que viene con el aparato, que lo puso allí.
Catalog.original, que Puse allí antes,
que es una especie de la final versión de lo que estamos
punto de sumergirse en y Catálogo, que me acaba de descargar.
Si quiero ver en los permisos
en el directorio de catálogo, Yo puedo hacer LS-L y el aviso
que son un poco diferente de los otros.
Lo que el permiso es aparentemente el directorio del catálogo,
que hemos descargado, careciendo por defecto?
Incluso si usted no tiene idea de lo que la palabra es que se puede inferir hosco
lo que es diferente acerca de cada una de estas tres líneas?
Vale lo que falta entre la línea uno y la línea dos de la salida?
¿Sí? [Bajo audio] Sí, por lo que es falta el X, que se encuentra
para ejecutable y ¿qué significa
si un directorio es ejecutable?
Sólo significa que usted puede abrirlo.
Puedes CD en ella.
Puede acceder a los archivos dentro de ella.
Así que si ejecutables, medios de un archivo que es un programa que puede ejecutar.
Un directorio es ejecutable si se puede entrar en ella.
Así que puedo arreglar esto con algunas de las formas.
Que podía hacer chmod A + X, lo que significa ejecutable todo más
y entonces puedo decir Catálogo.
O recordar de CS50 u otras clases,
Puedo ser un poco más lujoso y decir 0711 o más simplemente 711
el catálogo, pulse Enter, parece que nada sucede
pero si lo hago LS-L de nuevo, cuenta de que es ejecutable
por mi grupo, que es el media de tres bits, y por todos,
que es los tres bits de la derecha, y es suficiente para aquellos
para ser idéntico para nuestros propósitos.
Muy bien me siento como si estuviéramos en muy buena forma.
Volvamos a la navegador y vamos a recargar,
maldita sea, todavía prohibido.
Entonces, ¿qué otra cosa podría estar roto?
¿Dónde más podría queremos ver?
Así que arreglamos catálogo, por lo que si entro en el Catálogo,
Vamos a hacer otro LS, ahora hay más cosas aquí y francamente
a primera vista es abrumador
y me atrevo a decir que este es uno de los dolores de cabeza de los marcos
por la puerta y que se ordena de tener un montón de acuerdo con,
pero vamos a afinar en lo que es importante en la actualidad
y lo más importante por ahora es este directorio.
Si ha utilizado el aparato antes de que usted puede ser que sepa
que el acceso público directorio se llama Pública,
o en los últimos años se le llamó HTML pero hemos puesto cambiamos
al público más común.
Así que si lo hago chmod 711 de Público
que parecería arreglar ese problema.
Así que ahora el público directorio también es ejecutable
y por lo tanto accesible.
Vamos a ver si somos un paso más cerca.
Vamos a recargar, todavía no bueno y ahora va
a ser un poco difícil; éste es un poco más difícil.
Si entro en Público, el recuerdo que Tim nos mostró esta.
Si lo hago LS-AL, que las listas todos los archivos en el formato largo,
hay un archivo de puntos por así decirlo
donde un archivo de puntos es sólo un archivo cuyo nombre de archivo comienza
con un punto.
¿Qué hace htaccess?
Bueno vamos a ver en eso.
En lugar de usar la unidad G Edit, Voy a utilizar VIM,
puede utilizar EMax o Nano o cualquiera de sus editores preferidos,
pero si me veo aquí esta tiene un montón de cosas de bajo nivel
que vinieron con Laravel de distribución.
Se trata de un archivo que el Servidor web Apache entiende
y cuento largo, estas varias líneas
truco de configuración todo el directorio público
en casi todos enrutamiento de HTTP solicitudes para tomar una conjetura.
¿Qué archivo?
Todas las peticiones HTTP entrantes con algunas excepciones se enrutan
a lo archivo, de lo contrario conocido como un controlador frontal?
>> Índice.
>> Index.php.
Así que incluso si hay un foo.php archivo o un archivo Bar.php
en mi directorio público, el significado de estas líneas
en general es ruta todas las solicitudes
a index.php menos que estos archivos ciertamente existen porque las cosas
como significa bang-f si el nombre de archivo no existe,
y si el directamente no existe,
ruta todas las solicitudes a index.php.
Así que en un poco esto va que nos permiten tener la URL del
como http://Catalog/courses/123
donde 123 es el único identificador para un curso
pero no es claramente el nombre del un archivo para que la solicitud va
ser encaminado a index.php ¿quién va a entender,
gracias a Laravel y usted, dónde encaminar
que la solicitud HTTP entrante.
Pero hay un problema.
Observe por defecto que htaccess no es legible
o ejecutable.
Ejecutabilidad no es importante pero yo no quiero hacer chmod644
htaccess en el punto o Un aviso plus R. Ahora
que si hago un todo perfil, ahora es legible.
Ahora si cruzo mis dedos aquí y recarga, ¡menos mal,
tenemos en marcha y funcionando.
Pasos tan estúpido que que pasar por al principio,
pero el hecho de que yo tipo de pasó a través de él
tan pedante es exactamente los tipos
de pasos de diagnóstico usted debe pensar
acerca cada vez que algo es mal,
e incluso cuando un directorio podría ser mal,
darse cuenta de que podría También se dot archivos,
en particular HTAccess dot que son bastante comunes
en cualquier distribución de Apache,
que podría crear dolor de cabeza como esa.
Así que me estoy poniendo un poco cansado de ir de nuevo
y vuelta al aparato.
Me gusta mucho más prefiero trabajar en mi MAC o incluso en mi PC.
Entonces, ¿cómo puedo hacer esto mismo truco etc / host?
Bueno notar que primero dejar que me figura
qué hay de los electrodomésticos Dirección IP es.
Yo puedo hacer ifcongig, que muestra me alguna salida bastante críptico
pero aviso junto a eth0 o más bien junto a eth1,
hay esta dirección IP.
Voy a seguir adelante y copiar eso y en el interior
de la ventana de la terminal de mi propia MAC Voy a editar sudo etc / hosts
en mi propia MAC, que da me un archivo buscando similar.
Todo lo que voy a hacer es esto.
Así que me voy a engañar a mi MAC
en el pensamiento de http://Catalog en realidad mapas
a esa dirección IP específica.
Muy bien, así que vamos a seguir adelante y guardar esta, ahora déjenme cerrar
que ventana de terminal y de ahora mi MAC utilizando cualquier navegador que quiero,
http://Catalog y yo ver lo mismo.
Ahora ni siquiera tiene que molestarse que se remonta a [inaudible]
lo que es posible que no desea hago de todos modos, así que ahora estoy de vuelta
en mi propio ordenador realmente el aparato
tan sólo un servidor web.
Muy bien, así que aquí es sólo un resumen rápido de algunos
sobre permisos de archivos lo que se quiere cambiar
y corté algunas esquinas en cosas como el favicon o todos
que interesante por ahora.
Muy bien, así que ahora vamos a empezar
para configurar este valor predeterminado Instalación Laravel
para una base de datos.
Así que Tim hizo una breve última vez demasiado y el archivo
en cuestión es este de aquí.
Así que dentro de, permítanme cambio que esto sea consistente,
App Catalog database.php config.
Así que vamos a entrar en la aplicación, vamos a entrar en config
y vamos a entrar en database.php.
Así que este es un archivo muy largo, la mayor parte de los cuales es comentarios,
pero ya verás si lea esta estrechamente
que se puede configurar Marcos Laravel y mucho a
para apoyar diferentes tipos de bases de datos.
Tal vez usted está utilizando MySQL, tal vez está utilizando Mensaje [inaudible],
tal vez usted está utilizando SQL Lite, hay otras cosas
pero si estamos usando MySQL