Olá Matheus, seguindo a Formação de PHP aqui da Alura mesmo você já vai aprender um pouco mais sobre os padrões de código, um deles é o MVC. Em geral seu código PHP de acesso e manipulação do Banco de Dados vai ficar em um Controller (Classe PHP), enquanto seu formulário HTML vai ficar em uma View.
De forma bem simples é o Controller que vai ficar responsável por processar as requisições (POST, GET, etc) e gerar um resposta, enquanto a View fica responsável pelo código HTML ou código PHP dinâmico para exibir título, um nome de usuário ou outra coisa dinâmica para página.
Exemplo de um Controller e uma View criadas no treinamento do framework PHP Laravel aqui da Alura.
Segue abaixo um Controller
class SeriesController extends Controller
{
//método para listar os Series
public function index(Request $request)
{
$series = Serie::query()
->orderBy('nome', 'asc')
->simplePaginate(8);
//pegar mensagem de sessão difinida ao adionar Serie com sucesso
$mensagem = $request->session()->get('mensagem');
//remove sessão depois de exibir
$request->session()->remove('mensagem');
return view('series.index', compact('series', 'mensagem'));
}
//método para abrir página de adicionar novas Series
public function create()
{
return view('series.create');
}
//método para salvar no banco
public function store(SeriesFormRequest $request, CriadorDeSerie $criadorDeSerie)
{
//iniciamos capa como sendo null
$capa = null;
//verificar se o campo capa vem com um arquivo
if($request->hasFile('capaDaSerie')){
//se tiver, fazemos o upload do arquivo
//e atribuímos a variável capa
$capa = $request->file('capaDaSerie')->store('public/serie');
}
$serie = $criadorDeSerie->criarSerie(
$request->nome,
$request->qtd_temporadas,
$request->qtd_episodios,
$capa
);
//criando evento
$eventoNovaSerie = new EventsNovaSerie(
$request->nome,
$request->qtd_temporadas,
$request->qtd_episodios
);
//disprando evento
event($eventoNovaSerie);
$request->session()
->flash(
'mensagem',
"Série {$serie->id} adicionada com sucesso: {$serie->nome}"
);
return redirect()->route('listar_series');
}
}
Segue a View de um formulário
@extends('layout')
@section('titulo')
Adicionar série
@endsection
@section('cabecalho')
Nova série
@endsection
@section('conteudo')
@include('erros', ['errors' => $errors])
<form method="post" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col col-md-6">
<label for="nome" class="form-label">Nome</label>
<input type="text" class="form-control mb-2" name="nome">
</div>
<div class="col col-md-2">
<label for="qtd_temporadas" class="form-label">Temporadas</label>
<input type="number" class="form-control mb-2" name="qtd_temporadas">
</div>
<div class="col col-md-2">
<label for="qtd_episodios" class="form-label">Episódios</label>
<input type="number" class="form-control mb-2" name="qtd_episodios">
</div>
</div>
<div class="row">
<div class="col col-10">
<label for="capaDaSerie" class="form-label">Capa</label>
<input type="file" class="form-control mb-2" name="capaDaSerie" id="capaDaSerie">
</div>
</div>
<button type="submit" class="btn btn-primary">Adicionar</button>
</form>
@endsection
Seguindo os treinamentos você vai aprender como ir melhorando o código, mas esse começo é importante para a lógica e princípios da linguagem.