ccc

Silex: Crear clases de controladores

Paralelamente a las carpetas de admin, config y public crear una carpeta llamada clases y crear un fichero CAll.php: require_once("CUsuarios.php");
require_once("CVideos.php");
...
Crear el fichero CUsuarios.php:
namespace diclases;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;
class CUsuarios {
    var $app;
    function __construct() {
    }
 
   // *********************************
    function getArrUsuarios(Application $app) { // para q sea llamado desde otras clases
        $sql = "SELECT * from users where activo = 1 order by username";
        $arrUser = $app['db']->fetchAll($sql, array());
        return $arrUser;
    }

    // *********************************
    function getUsuarios(Application $app) {
        $arrUser = self::getArrUsuarios($app);
        return $app['twig']->render('templateComun.twig', array(
            "titular" => "Listado de Usuarios",
            "template" => "listUsuarios.twig",
            "arrUser" => $arrUser
        ));
    }
}
En public/index.php:
require_once __DIR__ . '/../clases/CAll.php';
...
$app->match('/{_locale}/form_add_compra', 'diclases\CUsuarios::formAddCompra')
->bind('form_add_compra');
Si alguna función necesitase pasar algún parámetro sería:
$app->match('/list_movim_usuario/{id}/', 'diclases\CUsuarios::getListMovimientos')
    ->bind('list_movim_usuario');

Y en CUsuarios:
 // ***********************************
    function getListMovimientos(Application $app, $id) {
   ...
   }

No hay comentarios:

Publicar un comentario