Categoría:

CakePHP

Ayuda, tutoriales, códigos de ejemplo y mi experiencia trabajando con este framework.

Tags más relevantes en esta categoría: tutoriales , Git , cache , memcached

Usas CakePHP? Comprueba si tu código cumple las convenciones

errores standares CakePHP



Si usas CakePHP es muy recomendable que compruebes si tu código cumple los estándares y convenciones definidos por CakePHP, que puedes ver en su página oficial: convenciones de CakePHP. Esto se puede hacer con un sniffer de código, el cual ha desarrollado el equipo de CakePHP. A continuación indico como integrarlo tanto si tienes un entorno de desarrollo en Linux como en Windows. Si tienes un entorno de desarrollo en Linux Tienes que ejecutar. y para usarlo La documentación oficial la puedes ver en el repositorio oficial de CakePHP https://github.com/cakephp/cakephp-codesniffer Si tienes un entorno de desarrollo en Windows con Xampp Saca una consola de windows, en Inicio > Ejecutar o buscar > teclea cmd y pincha en el icono de la consola Ubícate en la carpeta php dentro de xampp. Usa los comandos cd y dir de windows, para moverte por las carpetas y mostrar el contenido respectivamente. Ejecuta el siguiente comando Si ya lo tienes instalado te aparecerá un mensaje similar a este: Channel “pear.cakephp.org” is already initialized Ejemplo visual de este proceso. Instala el sniffer Nota: he agregado –alldeps para que en caso de que no tengáis el canal de pear.phpunit.de el cual se necesita para instalar el [...]

Instala CakePHP como un submodulo con git

CakePHP



En este artículo os voy a mostrar como montar CakePHP mediante git con unos simples pasos, a priori te parecerán muchos pero en realidad son muy simples y no creo que tardes más de 5 minutos. El truco está en instalar CakePHP como un submodulo con git, de manera que el core del framework siempre lo podemos tener actualizado y linkado al repositorio oficial de CakePHP con git Primera parte agregar CakePHP como un submódulo de git 1) Ubícate donde quieras montar el proyecto, en /var/www/html, en tu /home o donde quieras. 2) Crea una nueva carpeta Entra en la carpeta 3) Inicia el repositorio con git Esto te mostrará un mensaje similar al siguiente: Initialized empty Git repository in /path-completo/.git/ 4) Ahora llega la magia. Añade CakePHP como un submódulo Esto te mostrará por pantalla algo similar a esto: Cloning into ‘cakephp’… remote: Counting objects: 174971, done. remote: Compressing objects: 100% (35369/35369), done. remote: Total 174971 (delta 136329), reused 170237 (delta 133011) Receiving objects: 100% (174971/174971), 24.33 MiB | 1.46 MiB/s, done. Resolving deltas: 100% (136329/136329), done. Cuando haya terminado actualiza y registra el módulo Segunda parte haz un bake y setup de tu proyecto 1) Situado en el [...]

Usar memcached para guardar las sesiones de usuario en CakePHP

CakePHP



Hace tiempo que he hecho un desarrollo bastante interesante, y todavía no había escrito sobre esta mejora, con la que he conseguido optimizar un poco más el desarrollo web en el que estoy trabajando. Se traba de guardar las sessiones de usuario en memcached en vez de en disco, que suele ser la configuración por defecto. Memcached es un sistema de cacheo en memoria ram, con la que se consigue evitar escribir en disco y optimizar la respuesta del servidor, ya que la lectura y escritura en ram es mucho más rápido que en disco, esto a modo de resumen rápido y práctico para los que no conozcan esta herramienta. Para comprobar cual es la configuración por defecto de las sesiones de PHP tendremos que verlo en la configuración del php.ini, lo podremos comprobar con el siguiente comando Puede que el path o la ruta sea diferente al vuestro, esto ya tendréis que adaptarlo vosotros. Como salida del comando tendremos algo así. En el pantallazo, aparece la configuración por defecto en el archivo, todavía no he cambiado nada en el php.ini. Para usar las sessiones de PHP con memcached se puede hacer editando y configurando el archivo php.ini cambiando los [...]

Cakephp aumentar el tiempo de session timeout

CakePHP



Problema, tus usuarios, los administradores o editores que tienen que hacer login a una sección de la web y después de un tiempo sin actividad, cakephp los desloguea automáticamente si la sesión no es esta refrescando. Esto es muy común y se hace por temas de seguridad. Pero digamos que hay secciones de la web o intranet donde se quiere que la session dure mucho más tiempo, a pesar de que el cakephp puede almacenar las sessiones php en diferentes lugares. Por defecto se guardan en el path que se indica desde php.ini definido en la directiva /var/lib/php/session/ suele ser uno de los path por defecto donde se guardan las sesiones en el sistema. Pues bien también hay una directiva que indica el tiempo de vida de la session definida también en el php.ini Pero no es muy aconsejable cambiar esto cuando se tienen varias aplicaciones en un mismo servidor, de hecho si alguien tiene un servidor compartido ni podrá acceder al php.ini. Pues bien, para alterar el tiempo de vida de la session en CakePHP lo que tenemos que hacer es modificar donde cake guarda las sessiones. Hay diferentes opciones. En el archivo config/core.php Podemos setear cualquiera de las [...]

Cakephp usar un helper dentro de otro helper

CakePHP



Me ha pasado que creando un nuevo helper, he necesitado a acceder a funciones de otro helper, en mi caso acceder a las funciones del helper Html por ejemplo a la funcion link(). Pues bien hay que definir el array $helpers con todos los helpers que quieras usar dentro del tuyo propio. Pues me pase de listo y fui muy rápido al intentar acceder a las funciones de link(), directamente escribiendo $html->link(). Craso error. Evidentemente no se hace así. La manera correcta es llamar desde tu propio objeto al objeto Html y de éste a la función La llamada correcta es $this->Html->link() Con más detalle en el siguiente ejemplo. Tags de búsquedas:url helper cakephp