Laravel é um framework PHP cada vez mais popular que pode ajudá-lo a desenvolver um código melhor, mais sustentável em um curto período de tempo.Usando suas características e conceitos embutidos, você pode salvar uma quantidade significativa de tempo, aumentando assim a sua produtividade e competitividade.
Laravel oferece uma série de características-chave, incluindo:
Cada ficheiro de base de dados tem o seu próprio classe (modelo), que é utilizado para interagir com a tabela. Aqui é um modelo de exemplo:
// Cada modelo é aa classe filha da classe Eloquent
classe Categoria estende Eloquent {
// Nome da tabela. Se omitido, Eloquent diria que o nome da tabela é o plural do nome da classe (categorias)
protegidas $ tabela = 'categoria';
// Chave primária. Se for omitido, a chave 'id' seria usado
protegido primaryKey = 'category_id';
// Se for definido como false, remove colunas da tabela created_at e updated_at
$ timestamps públicas = false;
}
Este modelo representa o seguinte banco de dados SQL:
CREATE TABLE SE NÃO EXISTE 'categoria' (
INT 'category_id' (10) NOT NULL AUTO_INCREMENT,
'INT parent_id (10) NOT NULL,
VARCHAR (255) NULL 'category_name',
(255) NULL VARCHAR 'alias',
'Category_order' INT (10) NULL default 0,
CHAVE PRIMÁRIA ('category_id'))
ENGINE = MyISAM
Em Laravel, existem muitas funções que são usadas para interagir com o banco de dados: buscar todas as linhas, buscar uma linha pela chave primária, use onde cláusula para filtragem de linha, fazer inserções, fazer atualizações, e muito mais. O código a seguir mostra exemplos de algumas das funções que você tem disponível:
// Fetch todas as categorias
$ Category = Categoria :: todos ();
// Obter uma categoria por chave primária (categoria cujo ID é 1)
$ Category = Categoria :: find (1);
// Use uma cláusula WHERE
$ Categorias = Categoria :: onde ('parent_id', '>', 0) -> get ();
// Inserir uma nova categoria
$ Category = new Categoria;
$ Categoria-> name = 'New categoria';
$ Categoria-> save ();
// Atualização categoria existente
$ Category = Categoria :: find (1);
$ Categoria-> name = 'New categoria';
$ Categoria-> save ();
Existem muitas outras funções de banco de dados em eloqüente. Mas se você não gosta de eloquente, você também pode usar construtor de consultas para criar consultas SQL no Laravel.
Autenticação no Laravel
Uma biblioteca de autenticação é pré-instalado no quadro Laravel. Embora seja fácil de implementar, tem muitos recursos avançados, tais como Bcrypt hashing, verificando se um usuário está ativo, um "Remember Me" opção, CSRF (Cross-site Request Forgery) proteção, de redefinição de senha e criptografia.
Por exemplo, o seguinte código deve ser usada para a página de login:
$ Email = Entrada :: get ('email');
password = Input :: get ('password');
if (Auth :: tentativa (array ('email' => $ email, 'password' => $ password, 'ativa' => 1))) {
// Faz alguma coisa se o login for bem-sucedida
} Else {
:: voltar Redirect para ('user / login') -> com ('msg', 'senha') -> withInput ();
}
Assim, em 8 linhas de código, temos tentou fazer logon em um usuário que tem um certo nome de usuário e senha, e que está ativo.
Para fazer uma página apenas para membros, você faria o seguinte:
if (! Auth :: cheque ()) {
:: voltar Redirect para ('user / login');
}
Eventos em Laravel
Eventos em Laravel permitir uma classe para inscrever-se e escutar eventos em sua aplicação. Em outras palavras, é possível adicionar ou remover facilmente as tarefas que devem executar sempre que um evento acontece. Vamos dar uma olhada no exemplo:
Função Pública add () {
$ User = Usuário :: create ();
$ Response = Evento :: fogo ('user.create', array ($ user));
}
Agora, é possível ouvir o evento "user.create" e executar métodos sempre que esse evento acontece.Ele é feito assim:
Evento :: ouvir ('user.create', function ($ user)
{
$ User-> sendMail ();
});
Usando eventos aumenta a modularidade aplicação e acelera o processo de desenvolvimento.
Filas em Laravel
As filas são úteis para adiar a execução de uma tarefa que consome tempo, até que um tempo mais tarde. Como resultado, a velocidade do website é significativamente melhorada. A fila Laravel fornece integração com os serviços de enfileiramento mais populares: Beanstalkd, IronMQ, Amazon SQS, e Redis. No entanto, também é possível usar um sistema de fila local.
Para adicionar uma função para uma fila, basta usar:
Queue :: push ("User @ sendMail ', array (' message '=> $ message));
onde "Utilizador" é o nome do controlador, "sendMail" é o nome do método e "mensagem" é o método de argumento.
Caching
Laravel fornece não só os sistemas de cache básicos, como armazenar os objetos no arquivo ou um banco de dados, mas também pode ser integrado com sistemas de cache populares, como APC, Memcached, ou Redis. Isso significa que ele é adequado para pequenas e grandes aplicações.
Implementação do caching Laravel é simples:
// Adicionar um valor cache se ele não existir
Cache :: adicionar ("chave", "valor", $ minutos);
// Verificar se existe um valor no cache
if (Cache :: tem ('chave'))
{
// Faz alguma coisa aqui
}
// Obter um item do cache
$ Value = Cache :: get ('chave');
// Remove um item do cache
Cache :: esquecer ("chave");
Outras características
O quadro Laravel também suporta outros recursos úteis, como localização, gerenciamento de sessão, os comandos SSH, paginação, forma e as funções de ajuda HTML, biblioteca para o envio de e-mail, e assim por diante. Além disso, possui recursos avançados para testes e implantação de aplicativos;estes serão completamente explicada no próximo artigo. Até então, tentar Laravel e veja como você pode fazer mais trabalho na mesma quantidade de tempo.