quinta-feira, 6 de novembro de 2008

CakePhp - Por que models são no singular e controllers são no plural?

No incício do desenvolvimento da aplicação devemos respeitar algumas regras para que o Cake deva funcionar como esperamos.

Primeiro criamos uma tabela em nosso banco de dados. Esta tabela deve ser nomeada em minúsculo e deve estar noplural. Por exemplo: items

Depois criamos um arquivo model, este deve ser nomeado no singular: item.php. o nome da classe também no singular"class Item" seguido do atributo da variável name "var $name = 'Item'".

Depois é o momento do controller. Este sim deve estar no plural como o nome da tabela: "ItemsController" e deve possuir o atributo name no plural também "var $name = 'Items'". O arquivo será items_controller.php

Quando você solicitar uma ação para sua aplicação (ação de adicionar um registro na tabela items) você deverá indicar ao Cake para qual tabela a ação é referenciada, isso se faz relacionando o controller (responsável pelas ações) à tabela. O Cake é capaz de fazer esta relação através das correspondências entre os nomes dos controllers e das tabelas.

No caso do model, colocamos a indicação no singular pois este deve ser visto como uma instância da tabela. Por exemplo, no caso, o model representa um único registro da tabela items. Ele é singular, não é um conjunto de registros.É m objeto que consequentemente é entendido como a instância de uma classe (no caso, items).

Nenhum comentário: