PHP 開発が爆捗る PHP ライブラリ 10 選

   

Code部

アプリ開発を強力にサポートしてくれる PHP 言語ですが、杓子定規に PHP プログラミングをしていたのでは膨大な時間と労力がかかります。
そんな気落ちしてしまいそうなプログラマーを助けてくれるツールの一つに「PHP ライブラリ」があります。現在 PHP ライブラリは 300 以上公開されていますが、今回はその中でも特に便利そうなライブラリを 10 ご紹介させていただきます。

PHP 開発が爆!捗る PHP ライブラリ 10 選

画像投稿なら「PHP Image Upload Class」

PHP Image Upload ClassPHP Image Upload Class

SNS や オークション・アプリには欠かせない画像投稿のプログラミングを効率化してくれるライブラリになります。画像サイズの変更以外にも、ぼかしやポップ表示など多彩な機能が用意されています。また日本語も用意されているので即利用することができます。同じような画像系 PHP ライブラリには、ImageWorkshop が公開されています。

PHP Image Upload Class を用いたサンプルコード
HTML側

<form enctype="multipart/form-data" method="post" action="upload.php">
  <input type="file" size="32" name="image_field" value="">
  <input type="submit" name="Submit" value="upload">
</form>

PHP 側

$handle = new upload($_FILES['image_field']);
if ($handle->uploaded) {
  $handle->file_new_name_body   = 'image_resized';
  $handle->image_resize         = true;
  $handle->image_x              = 100;
  $handle->image_ratio_y        = true;
  $handle->process('/home/user/files/');
  if ($handle->processed) {
    echo 'image resized';
    $handle->clean();
  } else {
    echo 'error : ' . $handle->error;
  }
}

 

グラフ作成なら「pChart」

pChartpChart

棒グラフから線グラフ、円グラフなど 20種類以上のレイアウト表示が可能で、データも CSV ファイル、SQL などから引用してグラフ制作を行うことができます。
表のレイアウトや HTML 側のコード紹介も豊富に用意されていますので、PHP 初心者でも利用しやすい PHP ライブラリの一つと思います。
また画面上部の Navigation 内の Sandbox でグラフ・レイアウトを設定でき、Image Map で HTML 側のコードを確認することができます。
サンプル確認は、pChart のダウンロードもしくは こちら からご確認ください。
尚、上記グラフで使用されている関数は、drawLineChart() や DrawPlotChart() など 8種類の関数が利用されています(上記グラフのコード)。

 

チャットなら「Ratchet」

RatchetRatchet / デモサイト

50 万回以上インストールされているチャット系 PHP ライブラリになります。Ratchet は、パッケージ管理の「Composer」からインストールすることが推奨されています(Composer 内の Ratchet)。
onOpen()、onMessage()、onClose()、onError() の4つの関数をベースに Http サーバーやWs サーバーなど 7種類の接続方法が用意されています。プライベートな環境からオープンな環境まで幅広くチャットを利用することができます。

 

ファイルのアップロードなら「Upload」

php-uploadUpload

アプリケーションの開発には何かと必要となるファイルのアップロード環境。このファイルのアップロードをサポートしてくれる PHP ライブラリに Upload があります。単にファイルのアップロード設定を行うだけでなく、ファイルサイズの上限指定や対応可能なファイル形式をセットすることが可能となります。
関数としては、ファイル名を取得する getNameWithExtension() や ファイルサイズを取得する getSize() など 6種類用意されています。

 

ユーザー登録なら「Sentinel」

SentrySentinel / デモサイト

Sentinel は、ユーザー登録やログイン管理の導入をスムーズにしてくれるライブラリになります。ライブラリの関数には、ユーザー名やメールアドレスなどのほかに Facebook と連携した認証システムも用意されています。
Sentinel のインストールは、Composer を利用した方法が推奨されています。多彩な認証機能をスムーズに使えるようにドキュメント(英語)もしっかり用意されていますので、本格的な認証システム開発をスピーディーに実現してくれます。

 

API 開発なら「Guzzle バージョン6」

guzzleGuzzle

Guzzle は、PHP を使って API 開発を行う際に役立つ HTTP リクエスト・ライブラリになります。Facebook やツイッターをはじめ、API を公開している多くのサードパーティー・サイトを活用することができます。
Guzzle も Composer を使ってインストールする方法が推奨されています。
使用できる関数は、認証関係の auth() や接続制御関係の timeout() など 20種類以上に及びます。

 

データベース管理の助けになる「Propel」

orm-propelPropel / デモサイト

データベース(リレーショナル)へのアクセス・プログラムを手助けしてくれるツールに ORM(オブジェクト・リレーショナル・マッピング)があります。その ORM の PHP 版ライブラリーとして Propel があります。
関数には、マトリックスに関係する getBehaviors() や modifyTable() をはじめ、検証の validate() 、ソートの getRank() など豊富な関数が用意されています。

 

2段階認証なら「TwoFactorAuth」

2段階認証phpライブラリTwoFactorAuth

金融関係をはじめ、資産管理が伴うサイトで当たり前となりつつある2段階認証システムを手っ取り早く導入するための PHP ライブラリになります。TwoFactorAuth は Google の2段階認証システムのためのライブラリで、メールや電話を使った2段階認証システムの場合は Authy PHP がお勧めです。

 

デバッグなら「PHP Debug Bar」

php-debugPHP Debug Bar

web 開発にブラウザの検証機能があるように、PHP の開発においてもデバッグツールがあると開発がはかどります。こちらの PHP Debug Bar は、比較的簡単に実装できる PHP ライブラリーで、データベース・エラーや配列エラーなど 8種類の関数を使ってデバッグを検証できるようになっています。PHP Debug Bar 公式ページの最下部にエラー表示されていることに気付くと思います。

 

決済サービスなら「Stripe」

stripe-phpStripe

商用アプリやウェブサービスには欠かせない決済業務を手助けしてくれるソフトの一つに Stripe があります。Ruby や Java などのライブラリも用意されていますが、PHP ライブラリで利用することもできます。
決済業務以外にもユーザーアカウント内の残金表示や入金業務なども Stripe で利用することができます。ただし、Stripe の利用には決済手数料 3.6% など費用負担が生じます。(Stripe 関数一覧 & GitHub

 

まとめ

いかがでしたでしょうか?PHP をはじめたばかりの方にとっては、分かりにくい PHP ライブラリもあったかもしれませんが、それでも同等の機能を一から作り上げていくことを思えばライブラリを頑張って理解するほうが断然お得と思います。
尚、PHP ライブラリのライセンスは、多くが MIT ライセンスや GNU General Public License などフリーで使えるものが多いですが、商用利用の場合は1ドメイン 15 ユーロなど費用負担が生じる場合もありますので、ご注意ください。

 - PHP, プログラミング