Symfony - mejor manejo del controlador y el modelo
Hemos visto en los diferentes manuales de Symfony, la forma de guardar, actualizar y eliminar datos, y la mayoría colocan el código directamente en la acción. Un ejemplo de esto sería:
class mimoduloActions extends sfActions
{
public function executeUpdate()
{
$user = new User();
$user->setIdUsuario($this->getRequestParameter('idUsuario');
$user->setIdUsuario($this->getRequestParameter('nombreUsuario');
$user->setIdUsuario($this->getRequestParameter('direccionUsuario');
$user->save();
}
}
Muy bien. En mi opinión, tomando en cuenta el concepto del Modelo, este representa las estructuras de datos. Típicamente el modelo de clases contendrá funciones para consultar, insertar y actualizar información de la base de datos.
Fuente: http://www.webtutoriales.com/tutoriales/programacion/modelo-vista-controlador.54.html
Por esta razón, este código de insertar un registro debería estar en el modelo. Quedaría así.
En la acción:
class mimoduloActions extends sfActions
{
public function executeUpdate()
{
// Envia los parametros enviados para insertar el nuevo registro
UserPeer::registerUser($this->getRequest());
}
}
Y en el modelo:
class UserPeer extends BaseUserPeer
{
/**
* Funcion que registra los datos principales del usuario
*
* @param object $parameter
*/
public static function registerUser($parameters)
{
$user = new User();
$user->setIdUsuario($parameter->getParameter('idUsuario');
$user->setIdUsuario($parameter->getParameter('nombreUsuario');
$user->setIdUsuario($parameter->getParameter('direccionUsuario');
$user->save();
}
}
De esta manera, tenemos un código mas limpio y estamos cumpliendo con el patrón MVC.
Hasta la próxima - Henry Vallenilla - hvallenilla@aberic.com


















Facebook
Twitter
LinkedIn
Excelente aporte pana.