Projeto de Desenvolvimento de Software 2019.1 - IF Sertão-PE
Faça download do arquivo IFLanches.zip abaixo, e o descompacte no diretório do servidor web de sua máquina.
Para testar configure o .env (PRIMEIROS PASSOS) e depois abra seu terminal ou CMD, navegue até o diretório de seu projeto (caso seja CMD e esteja utilizando o XAMPP, você deverá ver algo do tipo C:\xampp\htdocs\IFLanches>
, IFLanches é o nome do projeto). Logo após execute os seguintes comandos:
php artisan migrate
Será construido uma projeto exemplo simples utilizando Laravel com propósito acadêmico, que deverá fazer o gerenciamento e controle nutricional dos lanches disponibilizados por uma instituição de ensino fantasia. (Será realizado em vídeo, dado a facilidade de mostrar passo a passo da construção, entretanto esse vídeo ainda está em produção, mas você pode baixar o projeto completo logo acima).
Para trabalhar com laravel é necessário que você tenha em seu computador:
No Windows você pode instalar alguns dos requisitos utilizando um único utilitário, o XAMPP, que vem incluso nele o Apache, MariaDB (baseado no MySQL) e PHP. No linux você deverá instala-los individualmente (pesquise por "LAMP no linux" no google). Existe uma versão do XAMPP para linux, mesmo tornando a instalação mais prática, não aconselhamos por que futuramente irá gerar dificuldades para instalar alguns pacotes externos.
Abra a documentação do Laravel (https://laravel.com/docs/), e faça a instalação do projeto conforme as instruções da página. Atente-se que você deve criar o projeto no diretório que irá simular o servidor WEB, no caso do XAMPP, na pasta htdocs.
Ao fazer a instalação (download), você terá um diretório como o das imagens abaixo. Para visualizar no navegador WEB, basta digitar localhost/IFLanches/public (No lugar de IFLanches coloque o nome de seu projeto) onde você digital normalmente a URL. Ou se preferir digitar no terminal (no diretório raiz do projeto) php artisan serve
e no navegador digitar localhost:8000.
Agora você deve abrir o projeto em seu editor de texto, e configurar o arquivo .env. Inicialmente, configure apenas o banco de dados, se tiver utilizando o XAMPP, coloque em DB_DATABASE o nome do banco de dados que você irá utilizar nesse projeto, em DB_USERNAME coloque root, e em DB_PASSWORD deixe em branco.
/app
O diretório do aplicativo, como você poderia esperar, contém o código principal do seu aplicativo. Quase todas as classes em seu aplicativo estarão nesse diretório.
/bootstrap
O diretório de inicialização contém arquivos que fazem o bootstrap da estrutura e configuram o carregamento automático. Esse diretório também abriga um diretório de cache que contém arquivos gerados por estrutura para otimização de desempenho, como os arquivos de cache de rota e serviços.
/config
O diretório config, como o nome indica, contém todos os arquivos de configuração do seu aplicativo. É uma ótima ideia ler todos esses arquivos e se familiarizar com todas as opções disponíveis para você.
/database
O diretório database contém a migração e as sementes do seu banco de dados. Se desejar, você também pode usar esse diretório para armazenar um banco de dados SQLite.
/public
O diretório public contém o arquivo index.php, que é o ponto de entrada para todas as solicitações que entram no seu aplicativo. Esse diretório também abriga seus recursos, como imagens, JavaScript e CSS.
/resources
O diretório de resources contém suas visualizações (views), bem como seus recursos brutos e não compilados, como LESS, SASS ou JavaScript. Este diretório também abriga todos os seus arquivos de idioma.
/routes
O diretório de rotas contém todas as definições de rota para seu aplicativo. Por padrão, vários arquivos de rota são incluídos no Laravel: web.php, api.php, console.php e channels.php.
O arquivo web.php contém rotas que o RouteServiceProvider coloca no grupo de middleware da web, que fornece estado de sessão, proteção CSRF e criptografia de cookie. Se o seu aplicativo não oferecer uma API RESTful sem estado, todas as suas rotas provavelmente serão definidas no arquivo web.php.
O arquivo api.php contém rotas que o RouteServiceProvider coloca no grupo de middleware da API, que fornece limitação de taxa. Essas rotas devem ser sem estado, portanto, as solicitações que entram no aplicativo por meio dessas rotas devem ser autenticadas por meio de tokens e não terão acesso ao estado da sessão.
O arquivo console.php é onde você pode definir todos os seus comandos do console baseados em Closure. Cada Closure é ligado a uma instância de comando, permitindo uma abordagem simples para interagir com os métodos de IO de cada comando. Mesmo que esse arquivo não defina rotas HTTP, ele define os pontos de entrada (rotas) baseados no console em seu aplicativo.
O arquivo channels.php é onde você pode registrar todos os canais de transmissão de eventos que seu aplicativo suporta.
/storage
O diretório de armazenamento contém seus modelos Blade compilados, sessões baseadas em arquivos, caches de arquivos e outros arquivos gerados pela estrutura. Esse diretório é segregado em diretórios de aplicativo, estrutura e logs. O diretório do aplicativo pode ser usado para armazenar quaisquer arquivos gerados pelo seu aplicativo. O diretório da estrutura é usado para armazenar arquivos e caches gerados pela estrutura. Finalmente, o diretório logs contém os arquivos de log do seu aplicativo.
O diretório storage/app/public
pode ser usado para armazenar arquivos gerados pelo usuário, como avatares de perfil, que devem ser publicamente acessíveis. Você deve criar um link simbólico em public/storage
que aponte para esse diretório. Você pode criar o link usando o comando php artisan storage:link
.
/test
O diretório de testes contém seus testes automatizados. Um exemplo PHPUnit é fornecido fora da caixa. Cada classe de teste deve ser sufixada com a palavra Teste. Você pode executar seus testes usando os comandos phpunit.
/vendor
O diretório vendor contém as dependências.
Considerando que você já configurou o seu banco de dados no arquivo .env
(explicado anteriormente), abra seu terminal ou CMD, navegue até o diretório de seu projeto (caso seja CMD e esteja utilizando o XAMPP, você deverá ver algo do tipo C:\xampp\htdocs\IFLanches>
, IFLanches é o nome do projeto). Logo após execute os seguintes comandos:
php artisan make:auth
php artisan migrate
O primeiro comando fará a instalação automática do sistema de login, e o segundo irá executar as migrations que permitem a criação e manipulação de bancos de dados. Agora se você abrir novamente o projeto em seu browser, você irá ver os links de navegação (Login e Register), e ao se registrar/fazer login, irá ver um dashboard simples.
Para construir uma aplicação simples utilizando o laravel, você precisa conhecer o padrão MVC e as principais estruturas do laravel:
VIEWS
As views você pode encontrar dentro do diretório /resources/views
, lá você irá criar as páginas que seu usuário irá ver, as telas de sua aplicação. Por padrão os arquivos deve ter a extensão .blade.php
(por exemplo home.blade.php
).
ROTAS
Todas as rotas do Laravel são definidas em seus arquivos de rota, que estão localizados no diretório routes. Esses arquivos são automaticamente carregados pela estrutura. O arquivo routes/web.php
define as rotas que são para sua interface da web.
CONTROLLERS
Os controllers podem agrupar a lógica de manipulação de solicitações relacionadas em uma única classe, ou seja todas as ações lógicas serão realizadas aqui dentro. Os controladores são armazenados no diretório app/Http/Controllers/
.
MODELS
Cada tabela de banco de dados tem um "Model" correspondente que é usado para interagir com essa tabela. Os models permitem consultar dados em suas tabelas, além de inserir novos registros na tabela. Normalmente vivem no diretório do aplicativo (/app), mas você pode colocá-los em qualquer lugar que possa ser carregado automaticamente de acordo com o arquivo composer.json (Por exemplo, pode criar uma estrutura de diretórios apenas para armazenar as models da sua aplicação).
MIGRATIONS
As migrations são como o controle de versão do banco de dados, permitindo que e modifique e compartilhe facilmente o esquema de banco de dados do aplicativo. As migrations normalmente são emparelhadas com o construtor de esquemas do Laravel para criar facilmente o esquema de banco de dados do seu aplicativo. A nova migrate será colocada em seu diretório de database/migrations
. Cada nome de arquivo de migração contém um registro de data e hora que permite ao Laravel determinar a ordem das migrations.
Vídeo ainda está em produção, mas você pode baixar o projeto completo ao clicar no link abaixo:
Bom, esse breve artigo tem o objetivo de apresentar as principais funcionalidades do laravel, e ensinar a criar uma aplicação bastante simples, com alguns CRUD. Ainda não está completo o artigo, mas esperamos você em nossas redes sociais para nos contar o que seria interessante colocar nesse artigo.
Aguardamos seu feedback,
Equipe ScripTI Insight.