Se encuentra en:
Pautas para la construcción en Codeigniter
LIBP-0109 (Libro de pautas)
- Área: Construcción por Capas y Frameworks de Aplicaciones PHP
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
Pautas
Título | Carácter |
---|---|
Mover el directorio de la aplicación fuera del directorio de sistema | Recomendada |
Realizar las validaciones de los formularios en una biblioteca independiente | Recomendada |
Mover el directorio de la aplicación fuera del directorio de sistema
MADEJA recomienda mover el directorio de la aplicación fuera del directorio de sistema
Esta situación es recomendable por las siguientes razones:
- Las actualizaciones del Core de CodeIgniter no sobrescriben la configuración de la aplicación
- Es mas fácil , durante el desarrollo, estructurar los ficheros propios e ignorar los ficheros del Core
- CodeIgniter no necesita modificaciones para funcionar correctamente
Realizar las validaciones de los formularios en una biblioteca independiente
Poner la validación de formularios y otras acciones relacionadas con la forma de una biblioteca independiente. Mantiene limpio su controlador y se pueden aplicar los patrones de forma mas sencillo. Un ejemplo sería le siguiente:
// controller
$this->load->library('formactions');
function index()
{
if(array_key_exists('addbutton',$_POST))
{
list($msg,$redirect) = $this->formactions->add();
}
if(array_key_exists('updatebutton',$_POST))
{
list($msg,$redirect) = $this->formactions->update();
}
if(array_key_exists('deletebutton',$_POST))
{
list($msg,$redirect) = $this->formactions->delete();
}
if($redirect != '')
{
redirect($redirect);
}
else
{
$data['msg'] = $msg;
}
$this->load->view('someview',$data);
}
// library
class Formactions
{
var $ci;
function Formactions()
{
$this->ci =& get_instance();
}
function add()
{
$msg = '';
$redirect = '';
// validation
if(!$this->ci->validation->run())
{
$msg = $this->ci->validation->errror_string;
}
else
{
// do something else (for example database action, manipulate image, write to file, ...)
// redirect if needed
$redirect = 'controller/success';
}
return array($msg,$redirect);
}
}