Twitterアプリまで作る気はありませんが、仕組みが分からないと気持ちの悪いたちなので、ちょっとだけいじってみることにしました。
現時点でBASIC認証もあれなので、oAuth認証で書くことにしました。
oAuth認証で書くためにはTwitterでアプリケーションを作る必要がありますが、ここでは割愛します。
詳細はこちらhttps://dev.twitter.com/

oAuth認証からTwitterへのリクエスト、レスポンスの制御は、ネットで多く見かける oauthtwitter.phpではなくcodebird.php を使用します。
今回使用したライブラリはこちら→https://github.com/mynetx/codebird-php

codebird.php

使い方としては、

require_once('codebird.php');
Codebird::setConsumerKey('カスタマーID', 'カスタマーシークレット');
$cb = Codebird::getInstance();

トークンとシークレットトークンを先に取得してある場合は

$cb->setToken('トークン', 'シークレットトークン');

このようにセットしてしまいます。

ユーザーホームタイムラインを取得するには下のように。

$reply = (array) $cb->statuses_homeTimeline();
print_r($reply);

パラメーターは配列で指定できますので、たとえば最新10件を取得する場合はこのように記述します。

$reply = (array) $cb->statuses_homeTimeline(array('count'=>'10'));
print_r($reply);

TwitterAPIパラメータは、以下のように記述するようです。
例: statuses/update → Codebird::statuses_update()
アンダーバーが入るパラメータはアンダーバーの次にくる文字が大文字になるようです。
例: statuses/home_timeline → Codebird::statuses_homeTimeline()


APIを制御するメソッド(で正しいのか?)

Timelines
GET statuses/user_timeline → Codebird::statues_homeTimeline()
Lists
GET lists/list → Codebird::lists_list()
GET lists/statuses → Codebird::lists_statuses()
// パラメーターを配列に格納して渡すときの例
require_once('codebird.php');
Codebird::setConsumerKey('CUSTOMERID','CUSTOMERSECRET');
$cb->setToken('USERTOKEN','USERTOKENSECRET');
$cb = Codebird::getInstance();
$reply = (array)$cb->lists_statses(
    array(
        'slug'=>'LISTNAME',
        'owner_screen_name'=>'SCREENNAME'
    )); // ソース例: slugにはリスト名をowner_screen_nameは自分のユーザーネームを指定
print_r($reply);
Help
GET application/rate_limit_status → Codebird::application_rateLimitStatus()
その他細かいパラメーターは公式参照。 https://dev.twitter.com/docs/api/1.1
ついでにJavaScriptでjQueryコールバックを使用する時の例
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$.getJSON('http://localhost/twitter.php?callback=?', function (json) {
	console.log(json); // この行はデバッグ時に使用
	$("#output").append("<dl>");
        // ここで処理する
	$("#output").append("</dl>");
});
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>