WIP: feature_paste #1

Draft
Miroslavsckaya wants to merge 24 commits from feature_paste into master
6 changed files with 14 additions and 14 deletions
Showing only changes of commit 9a98436eb8 - Show all commits

View file

View file

View file

@ -26,7 +26,7 @@ class PasteController extends AbstractController
$paste->setPublishDate(new \DateTime()); $paste->setPublishDate(new \DateTime());
if ($paste->isPrivate()) { if ($paste->isPrivate()) {
$paste->setSecret(hash("sha1", random_bytes(25))); $paste->setSecret(hash('sha1', random_bytes(25)));
} }
$entityManager->persist($paste); $entityManager->persist($paste);
@ -43,7 +43,7 @@ class PasteController extends AbstractController
#[Route('/{id}/{secret}')] #[Route('/{id}/{secret}')]
public function show_paste(PasteRepository $pasteRepository, Request $request, string $id, ?string $secret=NULL): Response { public function show_paste(PasteRepository $pasteRepository, Request $request, string $id, ?string $secret=NULL): Response {
$paste = $pasteRepository->findOneBy(["id" => $id, "secret" => $secret]); $paste = $pasteRepository->findOneBy(['id' => $id, 'secret' => $secret]);
$form = $this->createForm(PasteForm::class, $paste); $form = $this->createForm(PasteForm::class, $paste);
return $this->render('paste.html.twig', [ return $this->render('paste.html.twig', [
Review

I'd suggest you implementing Twig extension wih filter and function to use highlighter in the template.

I'd suggest you implementing Twig extension wih filter and function to use highlighter in the template.

View file

@ -14,18 +14,18 @@ class Paste
#[ORM\Column(nullable: false)] #[ORM\Column(nullable: false)]
private int $id; private int $id;
Review

Why not also constructor promotion though?

Why not also constructor promotion though?
#[ORM\Column(type: "text", nullable: false)] #[ORM\Column(type: 'text', nullable: false)]
#[Assert\NotBlank] #[Assert\NotBlank]
private string $text; private string $text;
#[ORM\Column(type: "boolean", nullable: false)] #[ORM\Column(type: 'boolean', nullable: false)]
#[Assert\Type(\boolean::class)] #[Assert\Type(\boolean::class)]
private bool $private; private bool $private;
#[ORM\Column(length: 25, nullable: true)] #[ORM\Column(length: 25, nullable: true)]
Review

Why 128?

Why 128?
private ?string $language; private ?string $language;
#[ORM\Column(type: "text", nullable: true)] #[ORM\Column(type: 'text', nullable: true)]
private ?string $description; private ?string $description;
#[ORM\Column(length: 128, nullable: true)] #[ORM\Column(length: 128, nullable: true)]
@ -33,7 +33,7 @@ class Paste
skobkin marked this conversation as resolved
Review

IPv6?

IPv6?
#[ORM\Column(length: 128, nullable: false)] #[ORM\Column(length: 128, nullable: false)]
#[Assert\NotBlank] #[Assert\NotBlank]
private string $author = "anonymous"; private string $author = 'anonymous';
#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: false)] #[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: false)]
Review

You can use self as return type hint too.

You can use `self` as return type hint too.
#[Assert\Type(\DateTime::class)] #[Assert\Type(\DateTime::class)]

View file

@ -15,14 +15,14 @@ class PasteForm extends AbstractType
{ {
public function buildForm(FormBuilderInterface $builder, array $options): void { public function buildForm(FormBuilderInterface $builder, array $options): void {
$builder $builder
->add("language", ChoiceType::class, ["choices" => ["Python" => "python", "PHP" => "php", "Plain text" => NULL]]) ->add('language', ChoiceType::class, ['choices' => ['Python' => 'python', 'PHP' => 'php', 'Plain text' => NULL]])
->add("description", TextType::class, ["required" => false]) ->add('description', TextType::class, ['required' => false])
->add("text", TextareaType::class) ->add('text', TextareaType::class)
->add("author", TextType::class, ["attr" => ["maxlength" =>128]]) ->add('author', TextType::class, ['attr' => ['maxlength' =>128]])
->add("filename", TextType::class, ["required" => false, "attr" => ["maxlength" =>128]]) ->add('filename', TextType::class, ['required' => false, 'attr' => ['maxlength' =>128]])
->add("expirationDate", DateTimeType::class, ["required" => false, "date_widget" => "single_text", "input" => "datetime"]) ->add('expirationDate', DateTimeType::class, ['required' => false, 'date_widget' => 'single_text', 'input' => 'datetime'])
->add("private", CheckboxType::class, ["required" => false]) ->add('private', CheckboxType::class, ['required' => false])
->add("save", SubmitType::class) ->add('save', SubmitType::class)
; ;
} }
} }

View file