Buscar aquí

martes, 13 de diciembre de 2011

Java: Nombrar correctamente un identificador

Son las palabras que se usaran para dar nombre a una clase, método, interface, variable o constante, y aunque existen mucha flexibilidad debes tener en cuenta las siguientes reglas para escoger un nombre:

  • Deben ser caracteres Unicode (Amplia posibilidad)
  • Debe comenzar con letra, signo $, o signo _ (underscore), nunca por un numero
  • Luego del primer carácter, puede estar compuesto de letras, números y cualquier carácter luego de 0X00C0 (Esto ultimo es por los carácteres que no son letras (de 0X0041 a 0X007A) y numeros (de 0X0030 a 0X0039) y que estan antes de 0X00C0 como por ejemplo # = 0X0023, < = 0X003C, > = 0X003E, los cuales no se pueden usar como identificadores)
  • La longitud del identificador no importa
  • No puede contener espacios.
  • Java es case-sensitive.
  • Las palabras reservadas de Java no pueden usarse como identificadores.

Son correctos:

$nombre;
_nombre;
____largo;
_$;

Incorrecto:

4numeros;
:d;
mayor>;
public;


Fuentes Java 2,  Benjamin Aumaille

    martes, 14 de junio de 2011

    Usar un controlador sin tener una tabla asociada CakePHP


    En ocasiones he necesitado tener un controlador que no tiene un modelo (tabla en la base de datos asociado). La forma de lograrlo sin que arroje el error:
    Error: Database table home for model Home was not found.

    Poner el siguiente codigo en la definición del controlador:

    class HomeController extends AppController { 

    var $name = 'Home';
    var $uses = array(); //Asi estamos definiendo que modelos usara y al dejarlo vació pues no busca ninguno.


    function index(){
    }


    }


    Gracias,
    Luisa Quiroga

    lunes, 13 de junio de 2011

    Tablas con nombres compuestos por dos palabras en CakePhp

    Programando en el framework cakephp me tomo un tiempo averiguar cual era realmente la convención para usar nombres compuestos por dos palabras para tablas en el framework, dado que la documentación no es muy precisa al respecto, pero la cosa es asi:

    Nombre de tabla:
    celulas_cuerpos     //Las tablas se nombran en plural y separadas por underscore

    Nombre del controlador:
    celulas_cuerpos_controller.php //Se nombra en plural y separado por underscore

    Sintaxis en el controlador:
    class CelulasCuerposController extends AppController {
       var $name = 'CelulasCuerpos';
       function add(){
          if(!empty($this->data)){
             if($this->CelulasCuerpo->save($this->data)) {
                $this->Session->setFlash("Registro guardado!");
                  $this->redirect('/celulas'); }
              }
          }
      }
    Lo mas importante en la sintaxis dentro del controlador es que para acceder al modelo debe ser en Camel Case pero contrario a toda lógica humana o del cook book es la primera en plural y la segunda en singular.

    Nombre de la vista
    La vista debe ir en una carpeta llamada /views/celulas_cuerpos y dentro los nombres de las vistas normalito

    Acceso URL 
    Para acceder a la funcion es www.ejemplo.com/celulas_cuerpos/add
    Y eso es, me funciono!!!!

    Gracias,

    Luisa