Sf TIC Bundles

CrudObjectController extends TICController
in package
Uses ControllerCrudable

Controlleur de base disposant de nombreuses méthodes utiles.

Tags
Route

("/crud/object")

Table of Contents

Properties

$ctxBundle  : mixed
nom du sous-dossier du controlleur (ex: '', 'Admin', 'Front', ...)
$ctxClass  : mixed
$ctxForm  : mixed
nom dans les tokens génériques (ex: 'item', 'user', 'book", 'foobar')
$ctxMesg  : mixed
préfixe utilisé pour les tokens (ex: 'app.foobar.', 'admin.foobar.', 'ticdemo.foobar.')
$ctxName  : mixed
espace de nommage de base du bundle (ex: 'App', 'TIC\DemoBundle')
$ctxPath  : mixed
nom du controlleur en camel case (ex: 'Default', 'User', 'Book', 'FooBar', ...)
$ctxRoot  : mixed
type de la classe courante (ex: 'Controller', 'Command')
$ctxRoute  : mixed
nom du controlleur en snake case (ex: 'default', 'book', 'foo_bar')
$ctxSnake  : mixed
alias du bundle pour repo, views... (ex: null, '@TICDemo')
$ctxTrans  : mixed
préfixe utilisé pour les routes (ex: 'app_foobar_', 'admin_foobar_', 'ticdemo_foobar_')
$ctxType  : mixed
nom complet de la classe courante (ex: 'App\Controller\Admin\FooBarController')

Methods

delete()  : Response
Action de suppression d'une entité CrudObject.
form()  : Response
Formulaire de création/modification d'une entité CrudObject.
list()  : Response
Affichage de la liste des entités CrudObject.
setContextProperties()  : void
DI avec auto-wiring (inutile de définir le "call" sur le service grace à l'attribut @required).
show()  : Response
Affichage de la fiche d'une entité CrudObject.
alert()  : RedirectResponse
Ajout d'un message dans le FlashBag (avec redirection optionnelle).
checkCSRF()  : bool
Vérification de la validité d'un token CSRF dans la requête.
checkRole()  : bool
Vérification que l'utilisateur courant dispose de l'un des droits mentionnés.
crudDelete()  : Response
Delete item.
crudForm()  : Response
Edit item (Create / Update).
crudList()  : Response
List items (Index).
crudShow()  : Response
Show item (Read).
crudToggle()  : Response
Toggle item property boolean value.
fileDownload()  : Response
Méthode utilitaire pour retourner un fichier en réponse d'une action.
fileHeaders()  : array<string|int, mixed>
Retourne les entêtes HTTP pour le téléchargement d'un fichier du serveur.
fileStream()  : StreamedResponse
Méthode utilitaire pour retourner un fichier en réponse d'une action (version stream avec option delete).
getContextProperties()  : array<string|int, mixed>
Retourne la liste des propriétés définies dans un tableaux (utile pour du debug).
getForm()  : FormInterface
Raccourci pour créer le formulaire correspondant au controlleur.
getItemLabel()  : string
Retourne le nom (traduit, au singulier ou au pluriel) de l'objet du controlleur.
getRoute()  : string
Raccourci pour générer le nom de la route d'une action du controlleur.
mesg()  : string
redirectItem()  : RedirectResponse
Redirection vers l'action par défaut de fiche.
redirectList()  : RedirectResponse
Redirection vers l'action par défaut de liste.
redirectReferer()  : RedirectResponse
Redirection vers l'adresse du referer (depuis entêtes du serveur web).
redirectTo()  : RedirectResponse
Redirection automatique selon le paramètre (liste, fiche, referer, autre...).
trans()  : string|array<string|int, mixed>
Raccourci vers la méthode trans du translator.

Properties

$ctxBundle

nom du sous-dossier du controlleur (ex: '', 'Admin', 'Front', ...)

protected mixed $ctxBundle

$ctxForm

nom dans les tokens génériques (ex: 'item', 'user', 'book", 'foobar')

protected mixed $ctxForm

$ctxMesg

préfixe utilisé pour les tokens (ex: 'app.foobar.', 'admin.foobar.', 'ticdemo.foobar.')

protected mixed $ctxMesg = 'item'

$ctxName

espace de nommage de base du bundle (ex: 'App', 'TIC\DemoBundle')

protected mixed $ctxName

$ctxPath

nom du controlleur en camel case (ex: 'Default', 'User', 'Book', 'FooBar', ...)

protected mixed $ctxPath

$ctxRoot

type de la classe courante (ex: 'Controller', 'Command')

protected mixed $ctxRoot

$ctxRoute

nom du controlleur en snake case (ex: 'default', 'book', 'foo_bar')

protected mixed $ctxRoute

$ctxSnake

alias du bundle pour repo, views... (ex: null, '@TICDemo')

protected mixed $ctxSnake

$ctxTrans

préfixe utilisé pour les routes (ex: 'app_foobar_', 'admin_foobar_', 'ticdemo_foobar_')

protected mixed $ctxTrans

$ctxType

nom complet de la classe courante (ex: 'App\Controller\Admin\FooBarController')

protected mixed $ctxType

Methods

delete()

Action de suppression d'une entité CrudObject.

public delete(Request $request, mixed $id) : Response
Parameters
$request : Request
$id : mixed
Tags
Route

("/{id}/delete", name="ticdemo_crudobject_delete", methods={"GET","POST"}, requirements={"id":"\d+"})

Return values
Response

form()

Formulaire de création/modification d'une entité CrudObject.

public form(Request $request[, mixed $id = null ]) : Response
Parameters
$request : Request
$id : mixed = null
Tags
Route

("/create", name="ticdemo_crudobject_create", methods={"GET","POST"})

Route

("/{id}/update", name="ticdemo_crudobject_update", methods={"GET","POST"}, requirements={"id":"\d+"})

Return values
Response

list()

Affichage de la liste des entités CrudObject.

public list(Request $request) : Response
Parameters
$request : Request
Tags
Route

("/", name="ticdemo_crudobject_index", methods={"GET"})

Route

("/list", name="ticdemo_crudobject_list", methods={"GET"})

Return values
Response

setContextProperties()

DI avec auto-wiring (inutile de définir le "call" sur le service grace à l'attribut @required).

public setContextProperties([string|null $classType = null ]) : void
Parameters
$classType : string|null = null
Tags
see
https://symfony.com/doc/current/service_container/injection_types.html#setter-injection
see
https://symfony.com/doc/current/service_container/autowiring.html#autowiring-other-methods-e-g-setters-and-public-typed-properties
required

show()

Affichage de la fiche d'une entité CrudObject.

public show(Request $request, mixed $id) : Response
Parameters
$request : Request
$id : mixed
Tags
Route

("/{id}/show", name="ticdemo_crudobject_show", methods={"GET"}, requirements={"id":"\d+"})

Return values
Response

alert()

Ajout d'un message dans le FlashBag (avec redirection optionnelle).

protected alert(string $type, string|array<string|int, mixed> $message[, mixed $redirect = null ]) : RedirectResponse
Parameters
$type : string

Contexte bootstrap : success | info | warning | danger

$message : string|array<string|int, mixed>

Texte simple ou structure avec : title [text] [extra] [params]

$redirect : mixed = null

Boolean (liste/referer), Entité (ou id) ou autre route

Return values
RedirectResponse

Réponse HTTP avec redirection selon le paramètre $redirect

checkCSRF()

Vérification de la validité d'un token CSRF dans la requête.

protected checkCSRF(string $name[, Request $request = null ]) : bool
Parameters
$name : string

Clé du token à vérifier dans la requête

$request : Request = null

Requête courante pour récupération de la valeur du token

Return values
bool

checkRole()

Vérification que l'utilisateur courant dispose de l'un des droits mentionnés.

protected checkRole(string|array<string|int, mixed> $roles[, string|bool $exception = false ]) : bool
Parameters
$roles : string|array<string|int, mixed>

Liste des rôles requis (test 'OR'), sans le préfixe 'ROLE_'

$exception : string|bool = false

Message pour lever une exception (True pour le message par défaut)

Return values
bool

True si l'un des rôles est trouvé, sinon False (si $exception à False)

crudDelete()

Delete item.

protected crudDelete(Request $request, mixed $id) : Response
Parameters
$request : Request
$id : mixed
Return values
Response

crudForm()

Edit item (Create / Update).

protected crudForm(Request $request[, mixed $id = null ][, array<string|int, mixed> $options = [] ][, array<string|int, mixed> $params = [] ]) : Response

Note: la clé $params['view'] permet de spécifier le template à utiliser ('form' par défaut)

Parameters
$request : Request
$id : mixed = null
$options : array<string|int, mixed> = []

Liste d'options pour initialiser le FormType

$params : array<string|int, mixed> = []

Liste de paramètres à passer à la vue

Return values
Response

crudList()

List items (Index).

protected crudList([array<string|int, mixed> $filters = [] ][, string $orders = null ][, array<string|int, mixed> $params = [] ]) : Response
Parameters
$filters : array<string|int, mixed> = []
$orders : string = null
$params : array<string|int, mixed> = []

Liste de paramètres à passer à la vue

Return values
Response

crudShow()

Show item (Read).

protected crudShow(mixed $id[, array<string|int, mixed> $params = [] ]) : Response
Parameters
$id : mixed
$params : array<string|int, mixed> = []

Liste de paramètres à passer à la vue

Return values
Response

crudToggle()

Toggle item property boolean value.

protected crudToggle(Request $request, mixed $id, string $field[, mixed $state = null ]) : Response
Parameters
$request : Request
$id : mixed
$field : string

Nom de la propriété de l'élément à modifier

$state : mixed = null

Valeur à affecter à la propriété (convertie en booléen)

Return values
Response

fileDownload()

Méthode utilitaire pour retourner un fichier en réponse d'une action.

protected fileDownload(string $filepath[, string $filename = null ][, bool $inline = false ][, bool|string $mimetype = null ]) : Response
Parameters
$filepath : string

Chemin complet sur le système de fichier

$filename : string = null

Nom à présenter pour le téléchargement (depuis $filepath par défaut)

$inline : bool = false

Faux pour forcer le téléchargement

$mimetype : bool|string = null

Type MIME (deviné par défaut, application/octet-stream si True)

Return values
Response

Réponse HTTP contenant les données du fichier

fileHeaders()

Retourne les entêtes HTTP pour le téléchargement d'un fichier du serveur.

protected fileHeaders(string $filepath, string $filename, bool|string $mimetype, bool $inline) : array<string|int, mixed>
Parameters
$filepath : string

Chemin complet sur le système de fichier

$filename : string

Nom à présenter pour le téléchargement (depuis $filepath par défaut)

$mimetype : bool|string

Type MIME (deviné par défaut, application/octet-stream si True)

$inline : bool

Faux pour forcer le téléchargement

Return values
array<string|int, mixed>

Liste d'entêtes HTTP pour une Response

fileStream()

Méthode utilitaire pour retourner un fichier en réponse d'une action (version stream avec option delete).

protected fileStream(string $filepath[, string $filename = null ][, bool $inline = false ][, bool|string $mimetype = null ][, bool $delete = false ]) : StreamedResponse
Parameters
$filepath : string

Chemin complet sur le système de fichier

$filename : string = null

Nom à présenter pour le téléchargement (depuis $filepath par défaut)

$inline : bool = false

Faux pour forcer le téléchargement

$mimetype : bool|string = null

Type MIME (deviné par défaut, application/octet-stream si True)

$delete : bool = false

Suppression du fichier à la fin du téléchargement

Return values
StreamedResponse

Réponse HTTP avec callback pour transmission des données du fichier

getContextProperties()

Retourne la liste des propriétés définies dans un tableaux (utile pour du debug).

protected getContextProperties() : array<string|int, mixed>
Return values
array<string|int, mixed>

getForm()

Raccourci pour créer le formulaire correspondant au controlleur.

protected getForm([mixed $data = null ][, Request $request = null ][, array<string|int, mixed> $options = [] ]) : FormInterface
Parameters
$data : mixed = null
$request : Request = null
$options : array<string|int, mixed> = []

Options du formulaire + facultatif "form_name" pour spécifier son nommage

Return values
FormInterface

getItemLabel()

Retourne le nom (traduit, au singulier ou au pluriel) de l'objet du controlleur.

protected getItemLabel([bool $pluriel = false ]) : string
Parameters
$pluriel : bool = false
Return values
string

getRoute()

Raccourci pour générer le nom de la route d'une action du controlleur.

protected getRoute(string $action[, mixed $item = null ][, array<string|int, mixed> $params = [] ]) : string
Parameters
$action : string

Nom de l'action (utilisée en suffixe de la route)

$item : mixed = null

Entité (avec getId) ou clé primaire pour la route (id)

$params : array<string|int, mixed> = []

Liste des paramètres pour la génération de l'URL

Return values
string

URL de la route correspondante

mesg()

protected mesg(string $mesg) : string
Parameters
$mesg : string
Return values
string

redirectItem()

Redirection vers l'action par défaut de fiche.

protected redirectItem(mixed $item[, array<string|int, mixed> $params = [] ][, int $status = 303 ]) : RedirectResponse
Parameters
$item : mixed

Entité (avec getId) ou clé primaire pour la route (id)

$params : array<string|int, mixed> = []

Liste des paramètres pour la génération de l'URL

$status : int = 303

Code HTTP de la réponse à retourner

Return values
RedirectResponse

Réponse HTTP avec redirection vers la route correspondante

redirectList()

Redirection vers l'action par défaut de liste.

protected redirectList([array<string|int, mixed> $params = [] ][, int $status = 303 ]) : RedirectResponse
Parameters
$params : array<string|int, mixed> = []

Liste des paramètres pour la génération de l'URL

$status : int = 303

Code HTTP de la réponse à retourner

Return values
RedirectResponse

Réponse HTTP avec redirection vers la route correspondante

redirectReferer()

Redirection vers l'adresse du referer (depuis entêtes du serveur web).

protected redirectReferer([int $status = 302 ]) : RedirectResponse
Parameters
$status : int = 302

Code HTTP de la réponse à retourner

Return values
RedirectResponse

Réponse HTTP avec redirection vers la page précédente

redirectTo()

Redirection automatique selon le paramètre (liste, fiche, referer, autre...).

protected redirectTo([mixed $target = false ]) : RedirectResponse
Parameters
$target : mixed = false

Boolean (liste/referer), Entité (ou id) ou autre route

Return values
RedirectResponse

Réponse HTTP avec redirection vers l'URL correspondante

trans()

Raccourci vers la méthode trans du translator.

protected trans(atring|array<string|int, mixed> $message[, array<string|int, mixed> $parameters = [] ]) : string|array<string|int, mixed>
Parameters
$message : atring|array<string|int, mixed>

Clé de message à traduire (possibilité de traiter une liste)

$parameters : array<string|int, mixed> = []

Liste de paramètres à fournir à la méthode du translator

Return values
string|array<string|int, mixed>

Chaine traduite (ou liste des chaines traduites)


        
On this page

Search results