起動前に処理するファイルを挟む。

これは知らなかった。

PHPにはメインファイルの前に、自動的に付加するファイル名を指定する、auto_prepend_fileという設定があります。これを使えば、プロジェクト内のファイルには一切手を加えなくても、PHPで前処理を行うことができます。※なお、プログラムの後処理を加えたい場合は、auto_append_file という設定もあります。

引用元: PHPの開発時になかなか使えるauto_prepend_file設定 : アシアルブログ.

終了時の処理もあるとは。。何かに使えそう。何?と言われてもすぐ出てきませんが。

MacでPearを使う。

MacでPEAR、Portとかにあるのかな?
でもまあ普通にインストール出来てしまったので、これで。

Manual :: Getting and installing the PEAR package manager.

$ wget http://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar

途中でインストールするディレクトリを、apacheなどから見えるところに変更しておきます。

/Library/php/pear

など。

上記の場所にインストールされた場合、pearを叩く時は、

$ /Library/php/pear/bin/pear

とかpathを通したりして使いましょう。Let’s Pear。

HTTP_OAuthを利用してTwitterのOAuth認証を行う

HTTP_OAuthを利用してTwitterのOAuth認証を行う @ php-tips.

最近はPEARでライブラリをインストールするのがマイブームなのでw
PEARのHTTP_OAuthでOAuthってみました。上記のサイトを参考にガシガシと。ありがとうございますー

ちなみに、

pear/HTTP_Request2 can optionally use PHP extension "openssl"

と言われるので、該当のextensionが入っているかチェックをお忘れなく。

php53@CentOS5.6にPearを追加。

CentOS5.6でPHP5.3を動かしてますけど、php53-pearというpkgはないんですよね。
というわけで普通にPearをインストール。

# yum install php-pear
$ pear list

INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:=========================================PACKAGE VERSION STATEArchive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
PEAR 1.4.9 stable
Pager 2.4.8 stable
XML_RPC 1.5.0 stable

この時点でDepricatedなwarningがでまくりですw
そこでPear本体をupdate。

# pear upgrade PEAR
$ pear list

INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
Archive_Tar 1.3.7 stable
Console_Getopt 1.3.1 stable
PEAR 1.9.3 stable
Pager 2.4.8 stable
Structures_Graph 1.0.4 stable
XML_RPC 1.5.0 stable
XML_Util 1.2.1 stable

1.9.3になりました。もうlistを表示するだけでWarningが出たりしません。

とりあえずこれで大丈夫かな??

PHPフレームワークの「codeIgniter」がスゴすぎるらしい。

PHPフレームワークの「codeIgniter」がスゴすぎる

引用元: PHPフレームワークの「codeIgniter」がスゴすぎる | H2O Blog..

CakePHPは、例えば「Blog」というコントローラーを作りたければ、「BlogController」という名前にするとか、モデルになると「Blogs」と複数形になるとか名前もかなり厳しく定義されています。これを体に覚え込ませなければなりません。しかし、codeIgniterのコントローラーの宣言は、「class Blog」。簡単です。
さらに、「class Blog extends CI_Controller」(CIは CodeIgniterの略と思われる)と記述するだけなので、一瞬で覚えられます。簡単。

おーー。私はZend Framework派ですが、ほんとーにちょっとしたプログラムを作るときに「めんでーな」と感じる部分が多いんですよね。

後、modelのプロパティをテーブルから読んで勝手に作って欲しいんですが。。そんなのありませんでしょうか。

分散環境でのPHPによるタスク管理

分散環境でのPHPによるタスク管理 – Zend_Queue – (1/4):CodeZine.

ZendFrameworkにそんなものが。便利そう。
プロセス間でキューイング、私にはあまり用途はなさそうだが。。

PHPからエクセルを操作するPHP-Excel

作成したExcelファイルをPDFにも変換できるPHP-Excel。 今のバージョンはExcel2007形式とExcel2003までの形式と両方読み込み+書き込みできるので、PHPでExcelを操作するのに最強のライブラリだと思う。

引用元: SE奮闘記: PHPからエクセルを操作するPHP-Excelを使ってみた.

今までphpからexcelをホゲホゲするのに色々とやっていましたが、これでいいっぽいですね。
便利!
機会があったら使ってみよう。

ワイルドカードでマッチさせる : fnmatch

“*.php-seed.net”みたいな*をワイルドカードとしてマッチさせようと正規表現で頑張っていましたが、結構しんどい(^_^;
もしやと思って検索してみたら、そのものズバリの関数があるんですね。さすがPHP!

fnmatch()はstring で指定された文字列が pattern で指定されたシェルワイルドカードにマッチするかどうかチェックします。

引用元: PHP: fnmatch – Manual.

正規表現でやろうとするとやたら複雑になったので、これで手を打っておきます。

Limonade – micro framework

CakePHPなどのWAFを使うほどの規模の案件じゃないんだけど、生PHPでプログラムを作成して無秩序なプログラムができるのは問題ですよねということで、いわゆるPHP製の小規模WAFを探してみた際に見つけたのがlimonade。

引用元: limonadeを試してみる第一歩 | UCWD-Studio.【ホームページ制作 / 京都】.

普段はZendFremework使いの私も、「こりゃZend使うまでもねえなあ」みたいなのを組みたい時が時々あります。
そんな時が次にきたらこれを使ってみよっと。というメモ。

ついに自分のTwitterものをOauth対応にしました

ギリギリになって動くパターンのやつw
といっても、手を入れてないものばかりですがw

一番わかりやすかったのがこのページ。

PHP+OAuthでTwitter – SDN Project

お世話になりました。ありがとう!