Hace pocos días me vi en la necesidad de buscar la forma de 
enviar tweets desde PHP. Empecé a buscar y encontré varias clases que implementaban lo que necesitaba, pero finalmente me decanté por una llamada 
Twitter for PHP.
Se trata de una pequeña librería de PHP con funciones muy interesantes para manejar una cuenta de Twitter y además lleva soporte para el 
protocolo OAuth. Si buscáis información en google encontraréis mucha información sobre este protocolo pero os dejo este 
enlace que lo explica bastante bien. La librería 
Twitter for PHP requiere como mínimo la versión 
PHP 5.0 y tener instalada la librería 
cURL.
Primeros pasos
Para utilizar esta librería lo primero que tendremos que hacer es 
descargarla desde su 
repositorio en 
GitHub. En el repositorio encontraremos ejemplos de lo que veremos en este mismo post.
A continuación deberemos dar de alta una cuenta de Twitter, si no la tenemos, e ir a 
http://dev.twitter.com/apps para 
registrar una aplicación. Una vez creada tienes que ir a la pestaña 
Key and Access Tokens y darle clic en la parte inferior de la ventana a 
Create my access token. Con esto ya tendremos los cuatro parámetros que necesitamos: 
consumer key, 
consumer secret, 
access token y 
access token secret.
Con todos estos datos ya estamos preparados para poder 
crear un objeto usando la librería:
$twitter = new Twitter($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
Enviar
El envío de un tweet lo realizaremos con el método 
post(). El mensaje debe ir codificado en 
UTF-8 y además le podremos añadir una 
imagen al tweet:
$twitter->send('Mi primer tweet');
$twitter->send('Mi primer tweet con imagen', $imageFile);
Ejemplo completo
Veamos ahora un 
ejemplo completo para enviar un tweet:
// Incluimos la librería descargada
require_once 'src/twitter.class.php';
// Definimos cuatro constantes con nuestros datos de Twitter
define(CONSUMER_KEY, 'myconsumerkey');
define(CONSUMER_ACCESS, 'myconsumeraccess');
define(ACCESS_TOKEN, 'myaccesstoken');
define(ACCESS_TOKEN_SECRET, 'myaccesstokensecret');
// Creamos el objeto
$twitter = new Twitter(CONSUMER_KEY, CONSUMER_ACCESS, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
// Enviamos manejando el posible error
try {
 $tweet = $twitter->send('Mi primer tweet');
} catch (TwitterException $e){
 echo $e->getMessage());
}