Você está na página 1de 7

O Laravel é um popular framework de desenvolvimento web em PHP que segue a

arquitetura MVC (Model-View-Controller). Ele fornece uma estrutura robusta e


escalável para construir aplicativos web modernos e dinâmicos.

Blade é o mecanismo de templates do Laravel. Ele fornece uma sintaxe simples e


poderosa para criar e renderizar views (visualizações) no Laravel.

Comentários no Blade Templates:


No Blade, os comentários são delimitados por “{{-- --}}” Eles não serão exibidos na
saída HTML.

código função

php artisan list Mostra uma lista de todos os comandos


disponíveis no Artisan.
composer create-project cria um novo projeto no laravel
laravel/laravel example-app

php artisan serve Inicia o servidor de desenvolvimento


local do Laravel.
php artisan make:model Cria um novo modelo Eloquent.
[NomeDoModelo] Adicionando a opção -m ou --migration,
ele também criará um arquivo de
migração correspondente.
php artisan make:controller Cria um novo controller.
[NomeDoController]

php artisan make:migration Cria um novo arquivo de migração


[nome_da_migration]

php artisan migrate Executa as migrações pendentes


(basicamente, atualiza ou cria as
tabelas no banco de dados).
php artisan migrate:rollback Desfaz a última migração executada.
php artisan tinker Permite interagir com a aplicação
através de uma interface de linha de
comando. Muito útil para testar coisas
rapidamente.
php artisan make:seeder Cria um novo seeder para popular seu
[NomeDoSeeder] banco de dados com dados fictícios ou
padrão.
php artisan list Mostra uma lista de todos os comandos
disponíveis no Artisan.
composer create-project cria um novo projeto no laravel
laravel/laravel example-app

php artisan serve Inicia o servidor de desenvolvimento


local do Laravel.
php artisan db:seed Executa os seeders.
php artisan db:seed Executa uma seed específica
--class=[NomeDoSeeder]

php artisan route:list Mostra uma lista de todas as rotas


registradas para a aplicação.
php artisan cache:clear Limpa o cache da aplicação.

php artisan config:clear Limpa o cache de configuração.


php artisan config:cache Cria um cache para todas as
configurações, melhorando a
performance em produção.
php artisan view:clear Limpa as views compiladas.
php artisan make:middleware Cria um novo middleware.
[NomeDoMiddleware]

composer create-project Cria um projeto laravel do zero


laravel/laravel [NomeProjeto]

php artisan make:component Cria um componente


[NomeDoComponente]

php artisan make:model Cria um model, controller, migrate e


[NomeDoModelo] -c -m -r funções de crud para o controller
php artisan make:controller Cria um controller e funções de crud
[NomeDoController] -r para o controller
php artisan make:factory Cria uma factory para criação de
[NomeDoFactory] registros fakes

Dicas:
Pasta Vendor Não tocar
Model Banco de dados

View HTML

Controller Regra de negócio

Query string Exemplo: ?Chave=Valor

MVC Arquitetura de software

Factory Cria registros automaticamente fakes

Seeders Nele pode chamar uma factory para


popular ou inserir diretamente os dados

Cross-Site Request Forgery (CSRF) É uma vulnerabilidade web em que um


atacante engana um usuário
autenticado para executar ações
indesejadas em um site sem o
conhecimento do usuário.

Rotas:
Route::get('/turma/componente',[TurmaController::class, 'componente']);
Route::post('/turma/componente',[TurmaController::class, 'store']);
método http( Rota ,NomeController::class,’método do controller’)
Route::get('/clientes/edita/{id}',[ClienteController::class,'edit']);
Route::put('/clientes/edita/{id}',[ClienteController::class,'update']);
Controller:

public function componente()


{
$turma = new Turma();
$alunos = $turma->Alunos();// Chama o método Alunos() do modelo Turma
return view('site.turma.turmacompo', compact('alunos'));// Retorna a
view 'site.turma.turmacompo' com a variável $alunos }
public function store(Request $request)
{
dd($request->all());// Imprime todos os dados recebidos via POST
}

Model

public function Alunos(){


// Retorna uma matriz simulando dados de alunos
return (array)[

['nome'=>'Zezinho','email'=>'ze@gmail.com','matricula'=>'45784512','an
onasc'=>'2003'],

['nome'=>'Pedro','email'=>'pedro@gmail.com','matricula'=>'45698752','a
nonasc'=>'2005']
];
}

Ternária
<x-select-component titulo="Alocação de turma" :alunos="$alunos"/>

<div>
<h1>{{ $titulo }}</h1><!-- Exibe o título recebido como variável $titulo
-->
<form method="POST">
<label>Nome</label>
<select name="aluno">
<!-- Laço de repetição que vai passar pelos alunos fornecidos como
variável $alunos-->
@foreach($alunos as $aluno)
<!-- Exibe os detalhes de cada aluno dentro de uma opção do select -->
<option>{{ $aluno['nome']}} - {{$aluno['email']}} -
{{$aluno['matricula']}} - {{$aluno['anonasc']}}</option>
@endforeach
</select>
<br>
<label>Turma</label>
<select name="turma">
<!-- Laço de repetição que cria opções para as turmas de 1 a 10 -->
@for ($i = 0; $i < 10; $i++)
<option>Turma {{$i+1}}</option>
@endfor
</select>
<br>
{{ csrf_field() }}
<button>Salvar</button>
</form>
</div>

Migrate
public function up(): void
{
Schema::create('produtos', function (Blueprint $table) {
$table->id();
$table->string('nome',50)->nullable();
$table->decimal('preco',10,2);
$table->text('descricao');
$table->enum('status',['0','1'])->default('0');
$table->foreignId('categoria_id')->constrained()->onDelete('casdade');
$table->softDeletes();
$table->timestamps();
});
}

Factory
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' =>
'$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', //
password
'remember_token' => Str::random(10),
];
}

Seeds
public function run(): void
{
// \App\Models\User::factory(10)->create();

// \App\Models\User::factory()->create([
// 'name' => 'Test User',
// 'email' => 'test@example.com',
// ]);

$this->call(UserSeeder::class);
}
}

Nomeação de rota

Route::get('/produtos',[ProdutoController::class,'index'])->name('produtos');
Route::get('/produtos/novo',[ProdutoController::class,'create'])->name('produt
os.novo');
Route::post('/produtos/novo',[ProdutoController::class,'store'])->name('produt
os.salvar');
Route::get('/produtos/edita/{id}',[ProdutoController::class,'edit'])->name('pr
odutos.editar');
Route::put('/produtos/edita/{id}',[ProdutoController::class,'update'])->name('
produtos.atualizar');
Route::get('/produtos/deletar/{id}',
[ProdutoController::class,'destroy'])->name('produtos.deletar');

Você também pode gostar