应该使用有用的 symfony husky 对此文本文件进行哪些添加

问题描述 投票:0回答:3

Symfony 安装:

Created a Symfony project using Composer with the symfony/skeleton package.
Added the webapp package using Composer.


composer create-project symfony/skeleton:"7.0.*" symfony_test_app
composer require webapp

数据库设置:

Configured the database URL with credentials.
Created the database schema using Symfony's Doctrine commands.

DATABASE_URL =“mysql://用户名:密码@主机:端口/数据库名称?serverVersion = 10.4.28-MariaDB&charset = utf8mb4” php ./bin/console 学说:数据库:创建 php bin/console 学说:schema:update --force

Symfony 软件包安装:

Installed essential Symfony packages like symfony/orm-pack, symfony/form, symfony/maker-bundle, and symfony/framework-bundle.
Generated migrations, entities, forms, user authentication, etc., using Symfony's console commands.
composer require symfony/orm-pack
composer require symfony/form
composer require symfony/maker-bundle --dev
composer require symfony/framework-bundle
php bin/console make:migration
php bin/console make:entity
php bin/console make:form PersonType Person
php bin/console make:user
php bin/console make:auth

前端依赖:

Included Bootstrap and jQuery CDN links for styling and client-side scripting.
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

前端脚本:

Added JavaScript code to filter items based on categories using Bootstrap's button groups.
<script>
    $(document).ready(function(){
        $(".filter-button").click(function(){
            var value = $(this).attr('data-filter');

            if(value === "all") {
                $('.filter').show('1000');
            } else {
                $(".filter").not('.'+value).hide('slow');
                $('.filter').filter('.'+value).show('slow');
            }

            $(".filter-button").removeClass("active");
            $(this).addClass("active");
        });
    });
</script>

Symfony 控制器:

Created a Symfony controller named RegistrierungController for handling user registration.
Defined a route /registrierung for accessing the registration form.
<?php

namespace App\Controller;

use App\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Component\Routing\Annotation\Route;

class RegistrierungController extends AbstractController
{
    #[Route('/registrierung', name: 'app_registrierung')]
    public function reg(Request $request, EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher): Response
    {
        // Form handling logic here...
    }
}

树枝模板:

Utilized Twig templating engine to render the registration form.
Extended the base template to maintain consistency across pages.
Rendered the registration form using Symfony's form rendering functions.
twig

{% extends 'base.html.twig' %}

{% block title %}Hello RegistrierungController!{% endblock %}

{% block body %}

<h1>RegistrierungController</h1>

{{ form_start(regform) }}
{{ form_widget(regform) }}
{{ form_end(regform) }}

{% endblock %}

前端组件:

Implemented a carousel component using Bootstrap's Carousel to display car details.
Dynamically populated car details using Twig's loop syntax.
Linked each carousel item to a detailed view page using Symfony's routing system.
<section>
    <div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel" data-interval="3000">
        <div class="carousel-inner">
            {% for car in cars %}
                <div class="carousel-item {% if loop.first %}active{% endif %}">
                    <h2>{{ car.getModel() }}</h2>
                    <img class="carousel-image" src="{{ asset('images/' ~ car.getImage()) }}" alt="{{ car.getBrand() }}">
                    <br>
                    <a class="details-button" href="{{ path('car_details', {'id': car.getId()}) }}">Click here for more details</a>
                </div>
            {% endfor %}
        </div>
    </div>
</section>

此设置提供了设置 Symfony 应用程序的全面指南,其中包含用户注册和前端组件(例如用于显示数据的过滤按钮和轮播)。

javascript telegram race-condition husky
3个回答
0
投票
here would be the register controller logic

<?php

namespace App\Controller;

use App\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Component\Routing\Attribute\Route;

class RegistrierungController extends AbstractController
{
    #[Route('/registrierung', name: 'app_registrierung')]
    public function reg(Request $request, EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher): Response
    {

        $regform = $this->createFormBuilder()
            ->add('username', TextType::class, ['label' => 'Mitarbeiter'])
            ->add('password', RepeatedType::class, [
                'type' => PasswordType::class,
                'required'=> true,
                'first_options' => ['label' => 'Passwort'],
                'second_options' => ['label'=> 'Passwort wiederholen']
            ])
            ->add('registrieren', SubmitType::class)
            ->getForm();

        $regform->handleRequest($request);

        //wurde der Submit-Button gedrückt!
        if($regform->isSubmitted() && $regform->isValid()){
            $eingabe  = $regform->getData();
            dump($eingabe);

            $user = new User();
            $user->setUsername(($eingabe['username']));
            $user->setPassword($passwordHasher->hashPassword($user, $eingabe['password']));

            $entityManager->persist($user);
            $entityManager->flush();

            return $this->redirect($this->generateUrl('car_home'));
        }


        return $this->render('registrierung/index.html.twig', [
            'regform' => $regform->createView(),
        ]);
    }
}

0
投票
落下 行动 另一个动作 这里还有其他东西

0
投票

如何让图片显示出来:

Im Type --> bei bild -->  
, FileType:class, ['mapped' => false])

Controller --> 
$bild = $request->files->get('car')['bild'];
        if ($bild) {
            $dateiname = md5(uniqid()) . '.' . $bild->guessClientExtension();
        }
        $bild->move(
            $this->getParameter('bilder_ordner'), $dateiname
        );
        $car->setBild($dateiname);


services.yaml -->
parameters:
    bilder_ordner: '%kernel.project_dir%/public/bilder/'
© www.soinside.com 2019 - 2024. All rights reserved.