phc es un compilador de PHP (un poco verde aún) que nos permite crear ejecutables con el código de un script PHP.
Para los desarrolladores de PHP nos ofrece las siguientes posibilidades:
Compilar código PHP en ejecutables optimizados
Compliar aplicaciones web en extensiones optimizadas
Formatear el código PHP de forma “bonita”
Ofuscar el código PHP
Combinar varios scripts PHP en uno solo
Optimizar el código PHP usando optimizaciones de complicación (experimental)
Ahora tengo dos dudas, si todo fuera optimizado y no se tratara de una versión inicial (por ahora no admite programación orientada a objetos):
¿En Apache se pueden ejecutar los compilados en el cgi-bin?, juraría que sí pero no lo tengo muy claro.
¿Qué es más eficiente: Apache preparado para interpretar PHP o ejecutar un compilado? siempre es más eficiente ejecutar que interpretar, pero no estoy tan puesto en Apache para saber qué puede ser más rápido.
Las últimas versiones de WordPress usan fuentes (dashicons) en vez de iconos. Cuando creamos un custom post type se le puede indicar el icono para el menú y se podía añadir un action para meter un css en el header del admin para meterle el icono que quisieramos. Ahora esto es más fácil, porque como ya existen bastantes iconos/fuentes, tan solo hay que indicar el class que querramos.
Primero, en la definición del post type, debemos indicar en el menu_icon la clase que queremos usar y que aparecerá en el menú:
// Aqui deberemos poner todos los argumentos
// yo solo pongo el que me interesa para abreviar
$args = array('menu_icon' => 'dashicons-cart'); // carrito de la compra
register_post_type('loquesea', $args);
Y por último solo tenemos que añadir un css para añadir este icono en la cabecera de la página:
add_action('admin_head', 'iq_home_slider_admin_header');
function iq_home_slider_admin_header() { ?>
Para saber que caráter debemos elegir para el content: "\f174", debemos ir al fichero /wp-includes/css/dashicons.css, buscar la clase correspondiente y copiar el carácter.
Para mí, uno de los mayores fracasos de Twitter es su API, una limitación de su uso increíble para algo que le podría dar mucho juego a la aplicación. Ahora mismo no sé en cuánto está el límite, pero la posibilidad de realizar una aplicación basada en Twitter es una pesadilla.
Para aquellos que no quieran sufrir lo que hemos sufrido con TwitterPoster (los espacios en blanco es porque la gente actualiza su imagen y no podemos recuperar la de todos los usuarios por el límite en el API de Twitter), les recomiendo usar Twitter mediante CURL.
Os paso un script sencillito que he realizado:
<?php
// Primer hacemos login
$url ="https://twitter.com/sessions";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Por si tienen limitación por navegador
curl_setopt($ch, curlOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
// Poned una ruta para las cookies
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/');
curl_setopt ($ch, CURLOPT_COOKIEFILE, '/temp/');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username_or_email=[usuario]&password=[contraseña]");
// Para que funcione el https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, curlOPT_SSL_VERIFYHOST, 2);
curl_exec ($ch);
// Cargamos el home, porque Twitter añade dos campos ocultos para poder publicar por web
$url ="http://twitter.com/home";
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
// Recuperamos los campos ocultos
preg_match('//', $result, $match);
$authenticity_token = $match[1];
preg_match('//', $result, $match);
$siv = $match[1];
// Insertamos el texto
$res = $url ="http://twitter.com/status/update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'siv='.$siv.'&authenticity_token='.$auth.'&status=[texto]');
curl_exec ($ch);
curl_close ($ch);
unset($ch);
?>
¿Qué fallo tiene este script? pues que si cambian el HTML (campos de formulario, …) o las URLs deja de funcionar, pero al menos no tenemos limitaciones. Eso sí, es más costoso para sus servidores y para los nuestros, porque en vez de hacer una llamada, hacemos 3, y en nuestro caso, a parte parseamos una página para obtener dos campos ocultos.
Interesante tutorial en el que se nos explica qué hacer para incluir donaciones mediante PayPal en nuestra web. Nos explica la estructura de la base de datos para almacenar las transacciones y los comentarios, el HTML y el PHP.
Para hacer uso de PayPal echa mano de una librería que nos facilita acceder a PayPal IPN
Cuando desarrollamos una aplicación web, algo muy importante es separar la lógica de la aplicación de la presentación. En el siguiente artÃculo, nos comentan como hacerlo mediante PHP y el sistema de plantillas Smarty.
Primero nos explica la direfencia entre la lógica de aplicación, la cual se encarga de las operaciones como acceso a base de datos, validación de formularios, de la lógica de plantillas, que es la que se preocupa únicamente de mostrar la información.
Dentro de la lógica de aplicación nos tenemos que ocupar de la inicialización y configuración de la lógica de plantillas:
<?php
$smarty = new Smarty();
$smarty->display('index.tpl');
?>
Hay que tener cuidado de no cometer el error de en la plantilla modificar el formato del texto, por ejemplo quitarle espacios u otras cosas que corresponden a la lógica de aplicación.
Os recomiendo el artÃculo, porque viene muy claramente explicado, con ejemplos y nos puede ser de mucha ayuda.
Ha salido la versión 2 de PHP-GTK, la extensión de PHP que incluye librerías para usar GTK+ y así poder realizar aplicaciones GUI multiplataforma.
Da soporte a las versiones GTK+ de la 2.6 a la 2.12, aunque para la versión 2.8 no lo es al 100%. A parte de solucionar algunos bugs, también da soporte al portapapeles, y muchas clases para win32.
No tengo yo muy claro que crear aplicaciones GUI con PHP sea lo más optimo, pero bueno, nunca está mal poder disponer de otras opciones. PHP-GTK2
Vía / PHPDeveloper.org