Показаны сообщения с ярлыком symfony-4. Показать все сообщения
Показаны сообщения с ярлыком symfony-4. Показать все сообщения

понедельник, 29 ноября 2021 г.

[JMS serializer] how to set naming strategy

     public function serialize($object, array $serializationGroups)

    {

        $serializer = SerializerBuilder::create();

        $serializer->setPropertyNamingStrategy(new SerializedNameAnnotationStrategy(new IdenticalPropertyNamingStrategy()));

        $serializer->addMetadataDir($this->configDir . "/serializer", 'App\Entity');

        $serializer->setCacheDir($this->cacheDir . "/jms_serializer");

        $serializer = $serializer->build();


        $group = new GroupsExclusionStrategy($serializationGroups);

        $context = SerializationContext::create();

        $context->addExclusionStrategy($group);


        return $serializer->serialize($object, 'json', $context);

    }

It will make JSON string where property field is camelCased instead of Snake_cased. I highly recommend to use 'App\Entity' in addMetadataDir() because by default in Symfony jms_serializer.yaml config is set 'namespace_prefix' in metadata node, and without 'App\Entity' argument YML/XML entity configs won't work. It is also example how to customize Serializer parameters manually with SerializerBuilder without framework config.

среда, 17 апреля 2019 г.

Another way to create Sylius Resource factory

Use this in services.yaml:

App\Factory\RideFactory:
        decorates: app.factory.ride
        arguments:
            - "@App\Factory\RideFactory.inner"


App\Factory\RideFactory:
<?php
declare(strict_types=1);

namespace App\Factory;

use App\Entity\Ride;
use Sylius\Component\Resource\Factory\FactoryInterface;

class RideFactory implements FactoryInterface
{
    /**
     * @var FactoryInterface
     */
    private $decorated;

    public function __construct(FactoryInterface $decoratedFactory)
    {
        $this->decorated = $decoratedFactory;
    }

    public function createNew()
    {
        return new Ride();
    }
}

Finally you shouldn't add anything into `sylius_resource` in config.yml.

суббота, 30 марта 2019 г.

symfony4 MAILER_URL Mailgun smtp example

Your .env.local:

MAILER_URL=smtp://smtp.mailgun.org?encryption=tls&auth_mode=login&username=yourusername&password=yourpassword

воскресенье, 24 марта 2019 г.

Entity of type * passed to the choice field must be managed - solution fix

If available, try to use ChoiceType instead of EntityType form type.

вторник, 19 марта 2019 г.

[Symfony4 upgrade] bundle app does not exist or it is not enabled

Remove these lines in your config/routes.yaml:
app:
    resource: '@App/Controller/'
    type: annotation