22 de junho de 2020
Ei, pessoas! Estava de férias por agora e vou compartilhar um projetinho que fiz. Uma galeria de fotos em Laravel. O Layout é responsivo (Bootstrap) e a galeria possui painel administrativo com opção de criação e exclusão de álbum.


Faça o download do projeto no link:

https://github.com/keniaferreira/PhotosGallery

Crie a pasta albuns dentro da pasta /public

Rode os comandos:

composer install

php artisan key:generate

Copie o conteúdo do arquivo .env.example e cole no arquivo .env que foi gerado.

Crie o banco: photos_gallery e não se esqueça de inserir o nome dele no arquivo .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=photos_gallery
DB_USERNAME=root
DB_PASSWORD=

Rode o comando php artisan migrate para construir as tabelas do banco.

Para criar um novo usuário, acesse a rota /login e clique em Register.

Para ativar um usuário, acesse a tabela users e coloque 1(true) no campo active:



Ao efetuar login, utilize os links os seguintes links para criar e gerenciar os álbuns:



Ao criar um álbum, a foto de capa não aparecerá junto com as fotos do álbum. Decidi criar assim para o caso de alguém querer criar uma imagem somente para a capa. Caso queira que a foto da capa também seja listada no álbum, selecione ela novamente junto com as outras fotos que farão parte do álbum na opção 'Escolher Demais Fotos':



Principais Controllers:

IndexController - Listagem dos álbuns e das fotos de cada álbum.
UploadController - Criação e upload de fotos em cada álbum.
AdmAlbumController - Listagem e exclusão de álbuns criados.

Request:

UploadFotosRequest - Regras de validação do upload.
12 de maio de 2020
Olá! Hoje nós vamos ver os comandos para ativação do sistema de autenticação no Laravel 7.0.

Rode os seguintes comandos:

1 - Para instalar o pacote laravel/ui. Comando:

composer require laravel/ui

2 - Agora, utilize algum dos seguintes comandos par ativar a autenticação:

Com Bootstrap:

php artisan ui bootstrap --auth

Com Vue:

php artisan ui vue --auth

Com react:

php artisan ui react --auth

3 - Instale e compile o NPM. Comandos:

npm install

npm run dev
23 de agosto de 2019
Oi, pessoas! Hoje eu vou ensinar pra vocês como transformar um array num Request Object no Laravel.

Eu precisei utilizar uma função de cadastro de dados dentro de um Controller que já recebe requisição de cadastro via formulário HTML. Para não ter que criar outro código de cadastro com todas as validações, resolvi utilizar a função do Controller mas, o mesmo só recebe os dados via Request. Então surgiu a necessidade de converter os dados em um Request Object antes de enviar.

Isso pode ser feito da seguinte forma:


 1 $request = new \Illuminate\Http\Request();
 2 
 3 $request->replace([
 4  'dado1' => 'bar1',
 5  'dado2' => 'bar2',
 6  'dado3' => 'bar3',
 7 ]);
 8 
 9 //CHAMANDO UMA FUNÇÃO DE UM CONTROLLER COM A REQUISIÇÃO
10 \App\Http\Controllers\Cliente::create($request);


16 de agosto de 2019
O Sublime não possui um atalho para a identação do código, mas, a boa notícia é que você pode configurar um. 😃

Então, vamos começar. Para inserir essa configuração, basta acessar as opções Prefences - Key Bindings


Vamos configurar nosso atalho na aba direita da janela que se abriu:


Para configurar, basta inserir o seguinte código:

[ { "keys": ["ctrl+r"], "command": "reindent"} ]

Vai ficar assim:


Como você pôde perceber pelo código, utilizei o atalho ctrl+r. Mas, essa configuração é livre, você pode utilizar as teclas que desejar.
9 de agosto de 2019
Vamos supor que você já habilitou a autenticação de usuários no Laravel e agora você deseja restringir o acesso de certas rotas apenas para usuários logados.

Para realizar o procedimento, você deve acessar o Controller que vai ter seu acesso restringido no diretório \app\Http\Controllers e inserir no construct:

$this->middleware('auth');

Vai ficar assim:

 1 <?php
 2 
 3 namespace App\Http\Controllers;
 4 
 5 use Illuminate\Http\Request;
 6 
 7 class ClienteController extends Controller
 8 {
 9  public function __construct() 
10  {
11 
12   $this->middleware('auth');
13 
14  }
15 }

2 de agosto de 2019
É interessante definir essa configuração para quando o usuário digitar em seu site o endereço de uma rota que não existe.

Para configurar, basta abrir o arquivo de rotas(web.php) da pasta \routes


E inserir a linha:

Route::get('/{slug?}', 'HomeController@index' );

Nesta situação, vai ser retornada a index do controller HomeController:


Podemos inserir também o seguinte código:

Route::get('/{slug?}', function () {
    return view('welcome');
});

para retornar a view Welcome. Você pode retornar uma outra View, caso queira:


Com o código:

Route::get('/{slug?}', function () {
    echo "Página não encontrada.";
});



retornamos a mensagem: Página não encontrada. 

Dei alguns exemplos pra mostrar que dá pra personalizar da maneira que você considerar mais conveniente para o seu projeto.


Comentários:

Perfil

Kênia Ferreira
Formada em Sistemas de Informação e pós-graduada em Engenharia de Software.