Parlons de votre projet

Catégorie

PHP

41 articles Page 2

PHP FFI : callbacks — partie 3

Le CallBackJ’ai pu remarquer pendant la préparation de cet article que pas mal de ressources sur le net utilisent la libc directement pour faire leurs exemples. Vous trouverez facilement des exemples assez démonstratifs et simples. Mais pour faire cool et original, je me suis dit “allez moi aussi je vais trouver un truc à montrer avec cette libc”. M’enfin… si c’est juste passer une structure comme le font la pl...

PHP FFI : passage de paramètres — partie 2

Appeler directement la librairie php ?Et si on s’amusait à réaliser un bout de code qui ne sert à rien ? Allez !!! Allez !! Allez !!!Bon OK. Je vous propose comme truc inutile d’utiliser PHP pour appeler une lib en C qui utilise le Zend Engine.En réalité ce paragraphe n’est pas aussi inutile que cela. Son but est de vous montrer un comportement particulier 🙂PHP-ffi a quelques limitations ...

PHP FFI : introduction — partie 1

IntroductionDepuis la version 7.4 de PHP nous avons enfin accès aux fonctions d’interopérabilité entre les différents langages et PHP: le FFI ou Foreign function interface.FFI c’est quoi ? C’est tout simplement la possibilité d’utiliser une librairie externe (.dll ou .so) directement dans PHP, et ce, sans avoir à créer un module PHP. Oui oui, juste avec un script PHP !&nb...

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...