>> Você pode se lembrar de última vez que olhou
neste último exemplo de MVC,
um controlador de vista do modelo arquitetura,
e muito bem cozido
para baixo para organizar as coisas um pouco mais limpa
em diretórios.
E se eu fizer árvore, que é apenas um comando
que me mostra o sistema de arquivos assim, tivemos um bom
e arrumado modelos de diretório, um diretório público, e assim por diante.
E a idéia geral foi só colocar
no diretório público os arquivos que realmente precisam
de ser público, e tudo mais deve ser muito bem organizado.
Mas de forma eficaz, no interior desta diretório público todos nós
todo grupo de controladores, controladores individuais
que de alguma forma necessária ou incluídos outros arquivos.
Mas nós realmente não tive muito mais funcionalidades do que isso,
e, de fato, nós meio que tinha de implementar esta noção de pontos de vista,
ou modelos, a nós mesmos, com a função de extrato
e uma função de tornar essa implementamos a nós mesmos.
E como é que começar a fazer isso, vamos começar a perceber -
vamos começar a construir uma lista, como, oh, uau,
Eu gostaria de ter uma biblioteca para o envio de e-mails.
Eu gostaria de ter uma biblioteca para a criação de um banco de dados.
Eu gostaria de ter biblioteca para dot dot dot.
E é por isso que estes existem bibliotecas.
É por isso que as pessoas usam Django com o Python,
porque ele só lhe dá mais.
É por isso que as pessoas usam Rails com Ruby
porque ele só lhe dá mais.
É por isso que vamos usar Laravel porque em cima do PHP,
ele só lhe dá mais.
E só para ensinar-lhe, então, por um momento, eu estou indo para ir
em um diretório v-host
em um aplicativo de exemplo usando Laravel.
À primeira vista, francamente, é provavelmente um pouco esmagadora
porque há tantos arquivos, muitos diretórios,
mas o importante, e como vamos ver depois de uma breve pausa,
é concentrar-se apenas em as coisas mais pertinente
a começar algum trabalho feito inicialmente, e que vai
para estar no diretório apt.
À medida que você vai ver e ouvir, não ainda há um monte de pastas,
mas os que no vai se importar sobre, principalmente, são isto.
Se eu abrir parada rota PHP, aviso como um teaser,
como esta aplicação está prestes a funcionar.
Esta é uma reimplementação em Laravel
do super simples aplicação curso estúpido
que me deu semana zero, semana um, palestras e os PDFs.
Eu estou indo simplesmente para especificar - minha tela é um pouco cortado,
mais uma vez - eu vou especificar o seguinte,
que eu quero definir uma rota utilizando HTTP GET para corte,
e sempre que um usuário para este visitas de aplicação reduzir
no meu site, eu quero executar o pedaço anônima de código,
ou seja, voltar vista cólon make.
Então isso significa que uma chamada método estático dentro
de uma classe chamada ponto de vista, e make torna um modelo
que é chamada de índice, e passa em um monte
de pares de valores-chave, neste caso, o título.
Entretanto, se o utilizador visitas cortar palestras,
este código deve ser executado,
eo modelo de palestras deve se prestado.
Finalmente, se o usuário visita palestras cortar alguma coisa,
onde que algo é, por a parte inferior aqui, um número,
um ou mais dígitos decimais,
então eu quero tornar as palestras modelo,
passando o título bem.
Assim, o resultado final é que -
se eu realmente puxar para cima este aplicação em meu navegador,
o resultado final - gritos.
O resultado final é exatamente o mesmo,
embora com um pouco URLs mais sexy agora.
Agora é uma palestra barra 0 em vez de semana de zero ponto PHP.
Mas, vamos fazer uma pausa aqui.
Vamos dar uma de dois minutos quebrar, e quando voltamos,
Tim vai vir em e introduzir-nos
para os funcionamentos internos de Laravel eo tipo
de funcionalidade estamos prestes a sair da caixa.
>> Tudo bem, então, agora estamos indo tomar um mergulho mais profundo
no quadro Laravel PHP, que David mencionado.
Então Laravel, o primeiro lugar vamos começar vai
para o início rápido
e instalá-lo via algo chamado Composer.
Assim, é um compositor sistema de gerenciamento de pacotes
para PHP semelhante ao gemas para Ruby ou Pit
para Python ou MPM para No JS.
Composer ajuda a gerenciar todos as dependências diferentes
Laravel que depende de quando - Uma espécie de, sob o capô.
Ele usa um monte de sinfonia,
de outro framework PHP funcionamento interno.
E, por isso, vamos para usar a linha de comandos
que eles nos dão aqui, Compositor criar projeto Laravel Laravel,
depois de ter instalado o utilitário Compositor
que eu já tenho feito na - vamos ver.
Então, eu estou usando o aparelho CS 50
porque este tem toda a Versões do PHP e meu SQL
e tudo o que precisamos para começar a funcionar.
Então, eu estou indo para ir em frente e puxar para cima o terminal aqui
e saltar para o v-host diretório, e eu vou
para colar isso - oh, eu não pode fazê-lo dessa forma.
Então, eu estou indo para SSH para a instância Linux
que eu estou correndo no VMWare.
E eu estou indo para executar este Compositor criar projeto Laravel,
e eu vou alterar o nome do projeto
para dev apenas exemplo de ponto.
E nos bastidores,
isso leva um pouco de tempo a primeira vez que você vai
para fazê-lo, mas é instalar todas as dependências
que você está indo para precisa executar Laravel.
Portanto, esperamos que isto faz não demore muito.
Ele deve apenas levar um segundo.
A primeira vez que você fizer isso, vai demorar alguns minutos,
provavelmente, porque precisa ter tudo.
Tenho tudo em cache aqui.
Portanto, agora que temos o exemplo dot dev, o que nós vamos precisar
que fazer para ser capaz de acessar esse
em nosso navegador Chrome é vá em frente e saltar para -
vamos pseudo através do arquivo hosts Etsy.
E nós estamos indo para ir em frente e adicionar uma nova linha aqui com o IP
do aparelho 50, que é mostrado aqui
no canto inferior direito da tela, a 192 168 -
e isso pode ser diferente dependendo da sua máquina,
assim 192 168 69 128 [audio quebrar] exemplo de projeto dot dev.
Okay. Guarde isso.
Então, agora, se formos a exemplo dot dev, vemos a - vamos ver.
Oh, eu estava errado diretório, então deixe-me ir em frente
e mova o dev exemplo dot para o diretório v-host.
E agora, se atualizá-la, nós ver que ele diz é proibido.
Você não tem acesso.
Então, precisamos ir para o dev exemplo dot
em V-hospedeiro, e precisamos chmod -lo para 0711, o dev exemplo ponto,
assim como o público - oh, Eu fiz isso errado duas vezes.
Assim, o ponto dev exemplo, quanto bem como o diretório público
que está por debaixo , de modo que ele é capaz
para chegar ao PHP índice ponto.
E agora, se refrescar - oh, nós ainda estamos tendo problemas.
Assim, dentro do exemplo diretório público,
se listar todos os arquivos, incluindo os ocultos,
há um arquivo de acesso HD, e isso é usado pelo Apache
para ajudar a determinar, por este diretório específico,
em que os pedidos devem ser encaminhados.
Então, isso também precisa ser CHMOD para 0644, e agora que você chegou.
Então essa foi a instalação rápida de Laravel via linha de comando.
Então, vamos em frente, e eu vou usar algo chamado Samba.
Se você não estiver familiarizado com ele, você pode - a partir do menu do Finder,
ir para ir e conectar-se servidor, e você pode ir em frente
e fazer SMB barra de cólon corte e o endereço IP
da instância de Linux que estamos correr em VMWare e vá em frente
e se conectar ao servidor para que você possa montá-lo
como sistema de arquivo e usá-lo
como se estivesse localmente a ele ligado.
Então, eu estou indo para ir em frente e puxar esta
em um editor chamado texto sublime.
Se você não estiver familiarizado, ele é um editor muito bom
que está disponível para editar arquivos de código.
E assim vamos dar uma olhada
no diretório estrutura para o projeto.
Portanto, há um pouco diferentes pastas no nível superior.
Há aplicativo, que David já mencionou.
Há de inicialização, que são alguns arquivos usados ​​internamente
por Laravel para inicializar todos os dependências, carregá-los em todos,
certificar-se de que toda a magia métodos são chamados correctamente
para ser capaz de [audio pausa].
Não é o público diretório, que é onde tudo
de nossos ativos voltados ao público, tal como o PHP índice ponto
onde as solicitações são encaminhadas, imagens, arquivos CSS, JavaScript,
tudo o que precisa ser directamente acessíveis
pelo mundo vive em o diretório público.
E, em seguida, o diretório fornecedor são todos os ativos -
ou de todo o [break áudio] sob o capô que faz um monte
parte do trabalho pesado Laravel que depende.
Então, normalmente, em um público diretório, esta é uma espécie
do que você veria, CSS, JavaScript,
esses arquivos não estão lá quando a instalação do quadro,
mas essas são coisas que você provavelmente vai querer adicionar
como você está construindo as suas aplicações.
O arquivo de acesso HD que eu mencionado eo PHP índice ponto,
que está na frente controlador para o -
onde todos os pedidos passar inicialmente.
Então, dentro do aplicativo pasta, estes são -
há realmente um casal -
há realmente alguns diferentes pastas aqui.
Há um monte deles, e como David mencionado,
Ele pode ser esmagadora no início, mas você só quer se concentrar
sobre estes especificamente.
Portanto, não há rotas ponto PHP, que é o que vimos anteriormente
para mostrar que você pode encaminhar um método de URL e HTP específico
até certo ou anônimo função, como David estava usando,
ou um controlador, o qual estamos prestes a passar por cima.
Há a pasta CONFIG,
que é onde você define qualquer configuração do aplicativo
que você precisa, tais como configurações de banco de dados ou quaisquer APIs
que você pode estar lidando.
Se você estiver usando alguma coisa enviar e-mail
ou se você está se conectando a Amazon para armazenar imagens,
você deve definir todos essas configurações
em um ponto central na aplicação de modo que -
tipo de convenções que todos, como eles estão trabalhando
em uma equipe, você não tem que pensar sobre onde é esta.
É só você tem um definir local para onde vai.
Isso seria em CONFIG.
Os controladores são o colocar na aplicação
onde você normalmente encaminhar pedidos.
Assim, o controlador manipula um muito da lógica da aplicação
e uma espécie de pega o que o exibição da tela está acontecendo
seja, os pontos de vista, e, em seguida, também conchas
para os diferentes modelos que contêm os dados
e passe-os na sua vista.
Então, você de certa forma - o controlador é uma espécie de despachante
para as solicitações, você sabe, o que você vai fazer
com os dados - ou com - dependendo o pedido é,
quais os dados que devem ser mostrados e onde é que vamos começar a partir.
E as vistas são normalmente apenas HTML,
talvez usando um template motor, como nós estamos indo para ir
mais com a modelagem da lâmina motor que navios com Laravel.
E então os outros diretórios por agora, nós apenas estamos indo
a sorte de passar por cima e não se preocupar.
Mas aqueles incluir testes, por isso, aplicações sem teste de unidade,
filtros, armazenamento.
Eu continuo fazendo isso.
Tudo bem, saltando voltar para cá.
Então a primeira coisa que ele vem com essa rota é obter
e ele não fazer vista Olá.
Portanto, se olharmos em o diretório views,
vemos que há é um PHP Olá ponto,
e é aí que este lhe chegaram é que vem.
Mas também podemos mudar esta a -
assim, podemos mudar isso Olá, e agora, se nós tentamos ir
de um percurso que não é definida temos esse tipo de bandejas de pilha
sobre o que deu errado com a aplicação.
Mas se formos cortar Olá,
há realmente uma erro interno do servidor.
Portanto, há um pouco de magia acontecendo nos bastidores
no CS 50 aparelho certificar-se de que você é capaz
para citar todos estes diretórios convenientemente.
O nome do - de modo que o exemplo dot dev que demos.
Então, nós realmente temos que mudar mais uma coisa
no arquivo de acesso HD.
Então, nós estamos indo para ir em frente
e adicionar esta linha, reescrever barra base.
E que, basicamente, é uma outra directiva.
David, você pode falar mais para que a base de reescrita faz.
>> É essencialmente corrige mais o que o servidor pensa.
É suposto ser [Inaudível] host virtual.
Então, especificando a ignorar que, reescrever endereços barra de base.
>> Direito. Então, agora, barra Olá funciona corretamente.
Então, vamos pular de volta para cá.
Então, juntamente com apenas fazendo uma função anônima como esta,
há - de modo que este é apenas uma recapitulação
do MVC que eu era apenas discutindo.
Ele vai para as rotas e então desembolsa os controladores,
que trata da modelos e pontos de vista e como tudo
que devem ser tratadas.
Assim, os controladores são uma espécie de - ajudar a centralizar tudo isso,
e você pode acessá-los via rotas por dizer rota obter.
Então poderíamos dizer rota obter Olá,
e, em seguida, o controlador citar pelo e um nome de método.
Então, vamos em frente e dar que um tiro.
Então, vamos dizer rota se cortar Olá,
e vamos fazer um Olá controlador no desfile Olá.
Então, para que isso funcione,
precisamos adicionar um arquivo chamado Olá controlador ponto PHP.
Eu vou em frente e - por isso estende-se um controlador de base,
que já Laravel navios com,
que se estende de um controlador, que é uma espécie de sob o capô
e faz um monte de coisas nos bastidores
que ajuda a controladores para gerenciar todo este estado
que está entrando em da aplicação.
Assim, o controlador de casa, dissemos ele seria nomeado espectáculo Olá.
E nós vamos apenas - em vez de retornar um ponto de vista,
nós vamos voltar Olá mundo.
Oh, Olá - oh, eu copiou.
Olá controlador.
Então Olá mundo.
Então, isso é apenas uma verdade, exemplo muito simples
de como você pode criar controladores.