Download the PHP package akyos/ux-forms without Composer

On this page you can find all versions of the php package akyos/ux-forms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ux-forms

Akyos UXForms

Bundle Symfony pour gérer des formulaires de contact administrables : création de champs en back-office, affichage public, envoi d'e-mails de notification, historique des soumissions.


Sommaire

  1. Prérequis
  2. Installation
  3. Configuration
  4. Routes
  5. Utilisation
  6. Architecture
  7. Personnalisation (override)
  8. Modèle de données
  9. Variables d'e-mail
  10. Traductions
  11. Tests & fixtures

Prérequis

Dépendance Rôle
PHP ≥ 8.4
Symfony 7 ou 8 Framework
Doctrine ORM 3 Entités & migrations
Symfony Mailer Notifications
symfony/ux-live-component Formulaires admin & public réactifs
symfony/ux-twig-component Composants Twig (twig:Admin:ContactForm:…)
akyos/ux-filters Filtres des listes admin
akyos/ux-table Tableaux paginés admin

Côté application hôte, les templates du bundle s'appuient aussi sur :


Installation

1. Composer

Depuis un dépôt path (monorepo) :

Depuis un dépôt Git : adapter l'URL selon votre forge.

2. Enregistrer le bundle

Le bundle enregistre automatiquement :

3. Configuration

Variables d'environnement typiques :

4. Mailer Symfony

Configurer un transport SMTP (ou autre) :

5. Routes

En monorepo, remplacer vendor/akyos/ux-forms par lib/ux-forms.

6. Sécurité

Les contrôleurs admin utilisent ContactFormVoter (CONTACT_FORM_VIEW, EDIT, CREATE) et les rôles définis dans allowed_roles.

Exemple d'accès public au formulaire front :

Adapter selon votre modèle de rôles.

7. Sidebar admin (optionnel)

Inclure le fragment de navigation fourni :

8. Stimulus (éditeur de champs admin)

Le drag-and-drop de l'éditeur de champs nécessite le contrôleur field_sortable :

9. Migrations

Les migrations du bundle créent notamment :

10. Données de démo (optionnel)


Configuration

Clé Défaut Description
admin_layout admin/layouts/layout.html.twig Layout Twig des pages admin du bundle. Exposé en global ux_forms_admin_layout.
allowed_roles ROLE_ADMIN, ROLE_SUPER_ADMIN Rôles autorisés sur les écrans admin (via ContactFormVoter).
sender_email noreply@localhost Expéditeur des e-mails de notification.
sender_name SEFCA Nom affiché de l'expéditeur.
public_base_url http://localhost URL publique pour les assets e-mail (logo).
email_layout_template @UXForms/email/layout.html.twig Layout HTML des e-mails.
email_notification_template @UXForms/email/contact_form_notification.html.twig Corps HTML de la notification.
email_logo_directory public/ux-forms/email Répertoire d'upload du logo (admin).
email_logo_uri_prefix /ux-forms/email Préfixe URI public du logo.

Routes

Admin (préfixe /admin, noms admin_*)

Nom URL Description
admin_formulaires_index /admin/formulaires Liste des formulaires
admin_formulaires_new /admin/formulaires/new Création
admin_formulaires_edit /admin/formulaires/{id} Édition
admin_formulaires_soumissions_index /admin/formulaires/soumissions Liste des soumissions
admin_formulaires_soumissions_show /admin/formulaires/soumissions/{id} Détail d'une soumission
admin_formulaires_modele_email /admin/formulaires/modele-email Modèle e-mail (logo, couleurs, pied de page)

Front

Nom URL Description
contact_form_show /contact-form/{id} Page publique d'un formulaire

Utilisation

Afficher un formulaire sur le front

Option A — route dédiée (déjà fournie) :

Option B — intégrer le LiveComponent dans n'importe quelle page :

Le composant gère validation, message de confirmation et soumission AJAX (LiveComponent).

Flux de soumission

L'utilisateur voit le message de confirmation même si l'e-mail échoue ; l'échec est visible dans l'admin (liste + détail des soumissions).


Architecture


Personnalisation (override)

1. Handler de soumission ⭐ (extension principale)

Interface :

Implémentation par défaut : persistance + envoi e-mail + statut.

Override complet — remplacer le service :

Override partiel — décorateur autour du service bundle :

Réutiliser la logique bundle sans l'interface :


2. Templates Twig

Namespace : @UXForms/…

Copier un template dans votre app et surcharger via la convention Symfony :

Ou redéclarer un chemin Twig prioritaire. Templates couramment surchargés :

Template Usage
@UXForms/admin/contact_form/*.html.twig Pages admin formulaires
@UXForms/admin/contact_form_submission/*.html.twig Soumissions
@UXForms/components/Front/PublicForm.html.twig Rendu public
@UXForms/email/layout.html.twig Layout e-mail
@UXForms/email/contact_form_notification.html.twig Corps notification
@UXForms/admin/_sidebar.html.twig Navigation admin

Config des templates e-mail sans copier les fichiers :


3. Layout admin

Le layout doit définir les blocs utilisés par les pages bundle (title, admin_breadcrumb, content). Les templates bundle étendent la variable globale ux_forms_admin_layout :


4. Sécurité & rôles

Le voter ContactFormVoter accorde VIEW, EDIT, CREATE si l'utilisateur possède l'un de ces rôles.

Pour une logique plus fine, créer votre propre voter ou décorer le service existant (non prévu nativement — copier/étendre ContactFormVoter et remplacer le service).


5. Expéditeur & branding e-mail

Via config :

Le logo et les couleurs se paramètrent aussi dans l'admin (/admin/formulaires/modele-email).


6. Traductions

Domaines fournis (fichiers *.fr.yaml) :

Domaine Contenu
contact_form Admin formulaires
contact_form_submission Admin soumissions
email_template Modèle e-mail admin
public_contact_form Formulaire public
validators Contraintes

Surcharge dans translations/ de l'app :


7. Routes

Les fichiers config/routes.php et config/routes_public.php du bundle peuvent être copiés dans l'app pour changer les URLs ou les noms, ou importés tels quels avec prefix / name_prefix.

Exemple — préfixer l'admin différemment :


8. Services internes (override avancé)

Service Rôle Override
ContactFormSubmissionHandlerInterface Point d'entrée soumission ✅ Recommandé
ContactFormSubmissionService Persistance + mail + statut Via handler custom ou alias DI
ContactFormMailer Envoi notification HTML/text Alias + classe custom
ContactFormEmailVariableResolver Variables {{prenom}}, {{contenu}} Alias si logique custom
EmailLogoStorage Upload logo e-mail Paramètres config ou service custom

Exemple — mailer custom :


9. Composants Twig / LiveComponents

Enregistrés sous le préfixe :

Pour surcharger un composant, créer une classe dans votre namespace avec le même nom n'est pas supporté directement ; préférer :


10. Ce qui n'est pas prévu pour override

Élément Alternative
Entités Doctrine Ne pas modifier ; étendre via handler ou tables annexes
Migrations bundle Ne pas éditer ; ajouter vos propres migrations
Enum ContactFormFieldType Demander une évolution bundle ou champs custom via handler

Modèle de données

Entité Description
ContactForm Formulaire (libellé, actif, message confirmation, sujet/corps e-mail)
ContactFormField Champ (type, libellé, position, layout ligne/colonne)
ContactFormRecipient Destinataire notification
EmailTemplate Modèle e-mail réutilisable (legacy / référentiel)
EmailLayout Branding global (logo, couleur, pied de page) — singleton
ContactFormSubmission Soumission persistée (sans FK vers ContactForm)

ContactFormSubmission stocke un snapshot (contactFormLabel, fields JSON, submitterEmail, statut e-mail) pour conserver l'historique même après suppression du formulaire.

Types de champs : text, email, phone, date, select, textarea, checkbox.


Variables d'e-mail

Dans l'objet et le corps configurés en admin, syntaxe {{variable}} :

Résolution : ContactFormEmailVariableResolver.


Traductions

Le bundle shippe du français uniquement (*.fr.yaml). L'app hôte peut ajouter d'autres locales en miroir.

Textes UI : ne jamais les hardcoder — toujours passer par les domaines ci-dessus.


Tests & fixtures

Fixtures : Akyos\UXForms\DataFixtures\UXFormsFixtures (formulaire démo + modèle e-mail + layout).


Checklist d'intégration rapide


All versions of ux-forms with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
doctrine/orm Version ^3.0
symfony/config Version ^7.0|^8.0
symfony/dependency-injection Version ^7.0|^8.0
symfony/framework-bundle Version ^7.0|^8.0
symfony/form Version ^7.0|^8.0
symfony/http-kernel Version ^7.0|^8.0
symfony/mailer Version ^7.0|^8.0
symfony/mime Version ^7.0|^8.0
symfony/routing Version ^7.0|^8.0
symfony/security-core Version ^7.0|^8.0
symfony/translation Version ^7.0|^8.0
symfony/validator Version ^7.0|^8.0
symfony/ux-live-component Version ^3.0
symfony/ux-twig-component Version ^3.0
vich/uploader-bundle Version ^2.0
akyos/ux-filters Version ^2.0
akyos/ux-table Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package akyos/ux-forms contains the following files

Loading the files please wait ...