The symfony Reference Book

Il file di configurazione routing.yml

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "The symfony Reference Book" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com

Chapter Content

Le classi per le rotte

Configurazione delle rotte

class

url

params

param

options

requirements

type

sfRoute

sfRequestRoute

sf_method

sfObjectRoute

model

type

method

allow_empty

convert

sfPropelRoute

method_for_criteria

sfDoctrineRoute

method_for_query

sfRouteCollection

sfObjectRouteCollection

model

actions

module

prefix_path

column

with_show

segment_names

model_methods

requirements

with_wildcard_routes

route_class

collection_actions

object_actions

sfPropelRouteCollection

sfDoctrineRouteCollection

symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "The symfony Reference Book" in Italian for the 1.4 version - Switch to version: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
The symfony reference guide
Support symfony!
Buy this book
or donate.
Buy The symfony reference guide from amazon.com

Il file di configurazione routing.yml permette la definizione di rotte.

Il file di configurazione principale routing.yml per una applicazione si trova nella cartella apps/NOME_APP/config/.

Il file di configurazione routing.yml contiene un elenco di definizioni di rotte, basate su nomi:

ROTTA_1:
  # definizione della rotta 1
 
ROTTA_2:
  # definizione della rotta 2
 
# ...

Quando arriva una richiesta, il sistema delle rotte prova a confrontare una rotta con l'URL entrante. La prima rotta che combacia vince, in questo modo l'ordine con il quale sono definite le rotte nel file di configurazione routing.yml è importante.

Quando viene letto il file di configurazione routing.yml, ciascuna rotta è convertita in un oggetto della classe class:

NOME_ROTTA:
  class: NOME_CLASSE
  # configurazione della rotta

Il nome class dovrebbe estendere la classe base sfRoute. Se così non avviene, come ripiego è usata la classe base sfRoute.

Il file di configurazione routing.yml è messo in cache come file PHP; il processo è gestito automaticamente dalla classe sfRoutingConfigHandler.

Le classi per le rotte

Configurazione delle rotte

Il file di configurazione routing.yml supporta diverse impostazioni per configurare ulteriormente le rotte. Queste impostazioni sono usate dalla classe sfRoutingConfigHandler per convertire ciascuna rotta in un oggetto.

class

Predefinito: sfRoute (o sfRouteCollection se type è collection, vedere sotto)

L'impostazione class consente di cambiare la classe route da usare per la rotta.

url

Predefinito: /

L'impostazione url è lo schema che deve confrontare un URL entrante con la rotta che deve essere usata per la richiesta corrente.

Lo schema è costituito da segmenti:

Ciascun segmento deve essere separato da uno dei separatori predefiniti (/ o . per impostazione predefinita).

params

Predefinito: Un array vuoto

L'impostazione params definisce un array di parametri associati con la rotta. Possono essere valori predefiniti per variabili contenute nell'url, o qualsiasi altra pertinente variabile per questa rotta.

param

Predefinito: Un array vuoto

Questa impostazione è equivalente all'impostazione params.

options

Predefinito: Un array vuoto

L'impostazione options è un array di opzioni che possono essere passate all'oggetto route per personalizzare ulteriormente il comportamento. Le seguenti sezioni descrivono le opzioni disponibili per ciascuna classe di rotte.

requirements

Predefinito: Un array vuoto

L'impostazione requirements è un array di requisiti che devono essere soddisfatti dalle variabili url. Le chiavi sono le variabili url e i valori sono espressioni regolari a cui i valori della variabile devono corrispondere.

L'espressione regolare sarà inclusa in un'altra espressione regolare, questo vuol dire che non c'è bisogno di racchiuderla tra separatori e non c'è bisogno di delimitarla con ^ o $ per far corrispondere l'intero valore.

type

Predefinito: null

Se valorizzato a collection, la rotta verrà letta come un insieme di rotte.

Questa impostazione è automaticamente valorizzata a collection dalla classe che gestisce il config, se il nome class contiene la parola Collection. Questo significa che, la maggior parte delle volte, non si ha la necessità di usare questa impostazione.

sfRoute

Tutte le classi per le rotte estendono la classe base sfRoute, che fornisce le impostazioni richieste per configurare una rotta.

sfRequestRoute

sf_method

Predefinito: get

L'opzione sf_method deve essere utilizzata nell'array requirements. Si applica la richiesta HTTP nel processo di confronto rotte.

sfObjectRoute

Tutte le seguenti opzioni di sfObjectRoute devono essere utilizzate all'interno dell'impostazione options del file di configurazione routing.yml.

model

L'opzione model è obbligatoria ed è il nome della classe del modello che è associato con la rotta corrente.

type

L'opzione type è obbligatoria ed è il tipo di rotta che si vuole per il modello; essa può essere object o list. Una rotta di tipo object rappresenta un oggetto per un singolo modello e una rotta di tipo list rappresenta un insieme di oggetti di modelli.

method

L'opzione method è obbligatoria. È il metodo da chiamare sulla classe del modello per recuperare l'oggetto o gli oggetti associati a questa rotta. Deve essere un metodo statico. Il metodo è chiamato con i parametri della rotta scansionata come parametro.

allow_empty

Predefinito: true

Se l'opzione allow_empty è false, la rotta lancerà una eccezione 404 se nessun oggetto è restituito dalla chiamata a method di model.

convert

Predefinito: toParams

L'opzione convert è un metodo da chiamare per convertire l'oggetto di un modello in un array di parametri adatto a generare rotte basate su questo oggetto di modello. Deve restituire un array con almeno i parametri richiesti dallo schema della rotta (come definito dall'impostazione url).

sfPropelRoute

method_for_criteria

Predefinito: doSelect per insiemi, doSelectOne per oggetti singoli

L'opzione method_for_criteria definisce il metodo chiamato sulla classe del modello Peer per recuperare l'oggetto (o gli oggetti) associati con la richiesta corrente. Il metodo è chiamato con i parametri della rotta scansionata come parametro.

sfDoctrineRoute

method_for_query

Predefinito: none

L'opzione method_for_query definisce il metodo da chiamare sul modello per recuperare l'oggetto (o gli oggetti) associati con la richiesta corrente. L'oggetto della richiesta corrente è passato come parametro.

Se l'opzione non è assegnata, la richiesta è solo "eseguita" con il metodo execute().

sfRouteCollection

La classe base sfRouteCollection rappresenta un insieme di rotte.

sfObjectRouteCollection

model

L'opzione model è obbligatoria ed è il nome della classe del modello che deve essere associato con la rotta corrente.

actions

Predefinito: false

L'opzione actions definisce un array di azioni autorizzate per la rotta. Le azioni devono essere un sottoinsieme di tutte le azioni disponibili: list, new, create, edit, update, delete e show.

Se l'opzione è false, il valore predefinito, tutte le azioni saranno disponibili eccetto per l'azione show se l'opzione with_show è false (vedere sotto).

module

Predefinito: Il nome della rotta

L'opzione module definisce il nome del modulo.

prefix_path

Predefinito: / seguito dal nome della rotta

L'opzione prefix_path definisce un prefisso da anteporre a tutti i modelli degli url. Può essere un qualunque modello valido e può contenere variabili e diversi segmenti.

column

Predefinito: id

L'opzione column definisce la colonna del modello da usare come identificativo univoco per l'oggetto del modello.

with_show

Predefinito: true

L'opzione with_show è usata quando l'opzione actions è false per determinare se l'azione show deve essere inclusa nell'elenco delle azioni autorizzate per la rotta.

segment_names

Predefinito: array('edit' => 'edit', 'new' => 'new'),

segment_names definisce le parole da usare nei modelli degli url per le azioni edit e new.

model_methods

Predefinito: Un array vuoto

L'opzione model_methods definisce i metodi da chiamare per recuperare l'oggetto (o gli oggetti) dal modello (vedere l'opzione method di sfObjectRoute). Questo si realizza definendo i metodi list e object:

model_methods:
  list:   getObjects
  object: getObject

requirements

Predefinito: \d+ per column

L'opzione requirements definisce un array di requisiti da applicare alle variabili della rotta.

with_wildcard_routes

Predefinito: false

L'opzione with_wildcard_routes permette a ogni azione di essere acceduta tramite due rotte jolly: una per un singolo oggetto e un'altra per insiemi di oggetti.

route_class

Predefinito: sfObjectRoute

L'opzione route_class può sovrascrivere l'oggetto della rotta predefinita utilizzata per l'insieme.

collection_actions

Predefinito: Un array vuoto

L'opzione collection_actions definisce un array di azioni aggiuntive disponibili per l'insieme di rotte. Le chiavi sono i nomi delle azioni e i valori sono metodi validi per quelle azioni:

articles:
  options:
    collection_actions: { filter: post, filterBis: [post, get] }
    # ...

object_actions

Predefinito: Un array vuoto

L'opzione object_actions definisce un array di azioni aggiuntive disponibili per l'oggetto delle rotte. Le chiavi sono i nomi delle azioni e i valori sono metodi validi per quelle azioni:

articles:
  options:
    object_actions: { publish: put, publishBis: [post, put] }
    # ...

sfPropelRouteCollection

La classe per la rotta sfPropelRouteCollection estende sfRouteCollection e cambia la classe predefinita della rotta in sfPropelRoute (vedere sopra l'opzione route_class).

sfDoctrineRouteCollection

La classe per la rotta sfDoctrineRouteCollection estende sfRouteCollection, e cambia la classe predefinita della rotta in sfDoctrineRoute (vedere sopra l'opzione route_class).

Il file di configurazione app.yml »
« Il file di configurazione cache.yml

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.