php

Debuguear php con emacs, xdebug y geben

Tags: 

Una de las cosas más útiles que puedes aprender para debuguear un programa en PHP es a usar xdebug. Y la verdad no es nada complicado.

Paso 1. Instalar xdebug. Eso lo puedes hacer con un simple sudo apt-get install php5-xdebug. Lo malo es que en ubuntu 10.04 (nuestros servers de prueba) se instala una versión viejita. Se necesita la versión 2.1 para que funcionen cosas padres como inspeccionar variables. Instalarlo en ubuntu tampoco es difícil.

cd ~
sudo apt-get install php5-dev
wget http://www.xdebug.org/files/xdebug-2.1.3.tgz
tar -xzf xdebug-2.1.3.tgz
cd xdebug-2.1.3
phpize
./configure --enable-xdebug
make
sudo make install

Paso 2. Configurar xdebug en tu php.ini. En ubuntu para el cli y apache esto es en una carpeta como /etc/php5/cli/php.ini:

xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_port=9001 # el puerto default es 9001, pero como uso fpm ese puerto ya está ocupado

Paso 3. Instalar un cliente para xdebug como geben para emacs (lo puedo usar en mi servidor directamente). Estoy suponiendo que ya tienes emacs instalado:

wget http://geben-on-emacs.googlecode.com/files/geben-0.26.tar.gz
tar xzf geben-0.26.tar.gz
cd geben-0.26
make
sudo make install

Y agregar estas líneas a tu .emacs:

(add-to-list 'load-path "/usr/share/emacs/23.1/site-lisp/geben") ; Geben directory
(require 'geben)

Y listo, ahora para debuguear un programa de php de tu cli simplemente:

  1. inicia emacs y luego corre C-u M-m geben. Puerto 9001.
  2. corre un programa de php en otra consola
  3. utiliza geben en todo su esplendor. Para ver qué shortucts tiene geben simplemente presiona '?'

Cuidado!!! No lo uses en tu servidor de producción, porque el desempeño baja considerablemente.

Referencias:

Image: 

Noticias sobre PHP5

Tags: 

Hoy me tope con 2 noticias bastante interesantes sobre PHP

  1. el 31 de diciembre de este año será el EOL (end of life) para PHP 4, es decir, a partir del 1o de enero del 2008 ya no habrá actualizaciones de PHP 4 (quizás sólo security fixes).

  2. parece ser que PHP 6 sí va a traer soporte para namespaces, y de hecho, ya hay alguien que migró ese patch al HEAD de PHP 5, por lo que existe la posibilidad de que PHP 5.3 ya venga con namespaces!!!

La verdad esa última es la que a mi me suena como una gran noticia, sobre todo si se materializa. No mas clases como las del Zend Framework:

$term = new Zend_Search_Lucene_Analize_Analyzer_Query_Term();

ta cañón no? jejeje ahora sería más bien algo como:

import Zend.Search.Lucene.Analize; $term = new Analizer_Query_Term();

ala java, .NET, o casi cualquier otro lenguaje carajo!!!! es una de las pequeñas cosas que me molestan todavía de PHP aunque, igual que con casi todo, terminas por acostumbrarte.

Bueno, los dejo con un link a una de esas presentaciones PRO-PHP5 que abundan ahorita.

noticias sobre PHP

Tags: 

hoy me tope con 2 noticias bastante interesantes sobre PHP

  1. el 31 de diciembre de este año será el EOL (end of life) para PHP 4, es decir, a partir del 1o de enero del 2008 ya no habrá actualizaciones de PHP 4 (quizás sólo security fixes). http://www.php.net/index.php#2007-07-13-1

  2. parece ser que PHP 6 sí va a traer soporte para namespaces, y de hecho, ya hay alguien que migró ese patch al HEAD de PHP 5, por lo que existe la posibilidad de que PHP 5.3 ya venga con namespaces!!! http://www.stubbles.org/archives/22-Namespaces-in-action.html

la neta esa última es la que a mi me suena como una gran noticia, sobre todo si se materializa. No mas clases como las del Zend Framework:

$term = new Zend_Search_Lucene_Analize _Analyzer_Query_Term();

ta cañón no? jejeje. Ahora sería más bien algo como:

import Zend.Search.Lucene.Analize; $term = new Analizer_Query_Term();

ala java, .NET, o casi cualquier otro lenguaje caray!!!! es una de las cosas que más me molestan todavía de PHP (aunque en realidad al día a día casi no lo sientes).

Bueno, los dejo con un link a una de esas presentaciones PRO-PHP5 que abundan ahorita.

http://blog.joshuaeichorn.com/slides/CoolThingsInPHP5/

Subscribe to RSS - php
Drupal theme by Kiwi Themes.