Parlons de votre projet

Catégorie

Symfony

38 articles Page 2

PhpStorm : configurer les outils qualité dans Docker

Voici une question que je me suis posée récemment. Habituellement j’installe directement les outils de QA sur mon host ou directement dans l’image Docker. Si les outils sont installés sur mon host, pas de problèmes pour configurer PhpStorm. Si les outils sont directement configurés dans l’image Docker, pas de problèmes non plus pour l’utiliser à l’intérieur de l’image. En...

Sonata Admin : DataMapper et autowiring

Si vous avez un besoin spécifique de transformation de données entre le formulaire et l’enregistrement de votre entité et que vous pensez que ce code de transformation devrait se trouver dans un service, car cela vous semble plus logique, vous pouvez utiliser le dataMapper en utilisant l’injection de dépendances fournie par Symfony. Mais alors comment le mettre en oeuvre ? Un petit rappel sur le DataMapper. Si on s’accorde à la documentati...

SF6 / Sonata 5 : Gérer une interface OneToMany dans un CRUD avec CollectionType de Sonata

Dans cet exemple nous allons prendre le cas concret d’une interface simple qui comprend des éléments multiples. Nous avons choisis d’utiliser une table « Projets » dans laquelle nous allons affecter des documents. Donc pour un projet, nous pouvons affecter plusieurs documents. Et pour faciliter l’administration, nous allons faire en sorte de pouvoir gérer notre interface imbriquée directemen...

Symfony 6 / Sonata 5 : Installation de SonataClassification.

Nous avons vu dans les article précédents comment initialiser un projet Symfony 6 + Sonata 5 avec les médias et les utilisateurs dans un admin sécurisé. Nous avons vu ensuite comment gérer les localisations de l’utilisateur.Nous allons voir maintenant comment installer et gérer les classifications. On procède à l’installation de la dernière version en date. php8.1 composer...

Symfony 6 / Sonata 5 : Lier les locales et le fuseau horaire aux préférences utilisateur.

Nous avons vu dans un article précédent comment installer Symfony 6 + Sonata Admin 5 avec une gestion d’utilisateurs et de médias. Nous allons poursuivre cette installation avec la configuration des langues et des fuseaux horaires. Nous allons installer intlBundle qui permet de gérer l’affichage localisé. php8.1 composer.phar require sonata-project/intl-bundle On en profite pour ajouter un champs timezone et...

Symfony 6 / Sonata 5 : Initialiser un projet Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Voici les commandes pour initialiser un projet Symfony avec un admin sécurisé. Pour faire tourner Symfony 6 nous devrons installer php8.0 ou php8.1 Pour php8.0 sudo apt-get install php8.0-cli libapache2-mod-php8.0 php8.0-common php8.0-opcache php8.0-igbinary php8.0-imagick php8.0-msgpack php8.0-readline php8.0-memcached php8.0-xml php8.0-mbstring php8.0-gd php8.0-mysql php8.0-curl php8.0-intl php8.0-memcache php8.0-memcached memcached libapache2-mod-php8...

Symfony 4 / Sonata : Créer une deuxième interface avec la même entité

Nous allons voir ici comment créer une deuxième interface alors que l’entité est déjà utilisée dans une interface CRUD.Le problème des interfaces générées automatiquement est qu’elles utilisent le nom de l’entité pour construire les routes.Si on configure une deuxième interface avec une entité déjà utilisée on se retrouvera avec la même route que la premi&egr...

Symfony 4 / Sonata : gérer une interface d’administration multilingue

Nous allons voir comment configurer une interface d’administration en multilingue avec un bouton de sélection de langue (language switcher).Installation de translationBundle composer require sonata-project/translation-bundle bin/console assets:install Le language switcher nécessite un filtre twig spécifique.Sinon vous aurez une erreur de type :Unknown "language_name" filter.Il faut alors installer ces deux bundles composer require twig/intl-extra composer require t...

Symfony 4 / Sonata : gérer une interface d’administration multiserveur

Nous allons voir comment gérer une interface d’admin qui se connecte à plusieurs serveurs.Dans notre exemple nous avons monté un serveur mysql par défaut qui gère notre interface d’admin. Les utilisateurs, les médias, etc.Et nous avons monté un serveur postgreSql qui contient une table que nous souhaitons administrer.Nous pouvons ajouter autant de serveurs que nous souhaitons.Notre serveur MysqlNous avons classiquement monté ...

Symfony 4 / Sonata : Utiliser des champs JSON

Nous allons voir comment exploiter les types de champs Jsonb de postgreSql dans une interface générée de sonata.Nous partons du postulat que vous maîtrisez déjà les concepts basiques de Symfony, Sonata, et PostgreSql.Tout d’abord créons une table toute simple dans postgreSql qui contiendra un champs de type Jsonb. CREATE SEQUENCE public.table1_id_seq; CREATE TABLE public.table1 ( id integer DEFAULT nextv...

Symfony 4 / Sonata : créer un type de champs de formulaire personnalisé

Nous allons voir comment nous pouvons créer un type de champ personnalisé. Dans notre exemple, nous voulons un champ qui a le même rendu qu’un type de champ MoneyType mais dans lequel nous pourrons ajouter n’importe quel suffixe, car le champ money n’accepte que les devises. Or dans notre projet nous voulons utiliser des kilogrammes, des mois ou encore des kilomètres. Bref, tout un tas de type de données possibles.On commence par crée...

Symfony 4 / Sonata : Créer une interface de paramétrage.

Un des besoins récurent d’un projet web, est d’avoir besoin de paramètres globaux pour votre application. Généralement, on stock ça dans un fichier yml et le tour est joué. Mais cela se complique lorsque le client demande à pouvoir avoir la main dessus.Lui donner les accès FTP/SSH pour les modifier ? Non, certainement pas. Surtout si c’est pour refiler cette tache au stagiaire.Il faudra lui mettre à disposition u...