Questa è una vecchia versione del documento!
File e classi
In generale, i nomi dei file sono in minuscolo, mentre i nomi delle classi sono del tipo CamelCased.
Ad esempio: la classe KissesAndHugsController sarà rintracciabile nel file kisses_and_hugs_controller.php.
Il nome della classe contenuta in un file può tuttavia non essere così strettamente correlato al nome dello stesso. Ad esempio, la classe EmailComponent è contenuta in un file chiamato email.php e la classe HtmlHelper in un file chiamato html.php.
Model e database
I nomi per le classi dei modelli sono singolari e CamelCased. Person, BigPerson e ReallyBigPerson sono tutti esempi di nomi per modelli che rispettano queste convenzioni.
I nomi delle tabelle corrispondenti ai modelli CakePHP sono plurali e minuscoli. Le tabelle che implementano le classi sopra menzionate dovrebbero essere denominate rispettivamente: people, big_people e really_big_people.
I join tra le tabelle, utilizzate nella relazione hasAndBelongsToMany, dovrebbe essere denominati in accordo ai nomi delle tabelle che vanno ad unire, in ordine alfabetico (apples_zebras piuttosto che zebras_apples.).
Tutte le tabelle con le quali CakePHP interagisce (con l'eccezione di tabelle join), richiedono una singola chiave primaria per identificare ogni riga. Se desideri utilizzare una tabella che non ha un singolo campo come chiave primaria, come le righe della post_tags tabella join, la convenzione di CakePHP è che un singolo campo di chiave primaria è aggiunto alla tabella.
CakePHP non supporta chiavi primarie complesse.
Nell'evento in cui vuoi direttamente manipolare i dati joinando delle tabelle, bisogna utilizzare direttamente la chiamata query, o aggiungere un campo di chiave primaria per usarlo come un normale model. E.g.:
CREATE TABLE posts_tags (
id INT(10) NOT NULL AUTO_INCREMENT,
post_id INT(10) NOT NULL,
tag_id INT(10) NOT NULL,
PRIMARY KEY(id));