記載されている内容は2019年04月10日時点のものです。現在の情報と異なる可能性がありますので、ご了承ください。記事に記載されている情報は自己責任でご活用いただき、本記事の内容に関する事項については、専門家等に相談するようにしてください。PHPには便利なライブラリがたくさんありますが、その中から厳選した10個を紹介しています。決済用ライブラリのStripeやHTTPリクエストライブラリのGuzzle、2段階認証用ライブラリのTwoFactorAuthなど紹介しています。シェアツイートはてブ目次ライブラリとはPHPライブラリを目的別に紹介まとめライブラリとはhttp://php.net/images/logos/new-php-l...ライブラリとは、少ないコードで誰でも利用できるようにしたプログラム集です。ライブラリは、よく使うコードをプログラム集として事前に用意することで、開発工数の効率化を行なったり、逆に自分でプログラミングするには難しい実装や面倒な場合に、ライブラリを利用することで簡単にプログラミングを組み込むことができます。ライブラリを提供しているのは、個人や企業が提供している場合もあります。有償や無償の場合など様々です。ライブラリとフレームワークの違いPHPには、ライブラリと似たもので「フレームワーク」があります。ライブラリとフレームワークの違いは、「ライブラリ」は、ある目的の実装を事前に用意したプログラム集であるのに対して、「フレームワーク」は、開発の一連の流れに必要な基本的な仕組みを事前に用意したものです。そのため、フレームワークはプログラムの全体的な処理の流れに必要なものが一通り用意されています。PHPライブラリを目的別に紹介それでは、実際にPHPのライブラリのなかで厳選したものを紹介します。ライブラリは簡単に利用できますが、導入方法や利用するにあたっての注意点がありますので、あわせて紹介します。Classまずは、SNSなど様々なところで使われている「画像投稿」に関するPHPライブラリを紹介します。Class」は、画像の拡大縮小や回転、ぼかし、切り取りなど画像加工に関する機能やアップロードの成功失敗の確認や拡張子の判別を行うことができます。Classライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。$rename->error;}}上記のサンプルコードは、HTMLから送信された画像をリサイズしてファイル形式をGIFに変更しています。処理が成功した場合にはログを出力して、失敗の場合はエラーの内容を表示しています。画像のリサイズやファイル形式の変更の実装は、0から作るのは大変なので、ライブラリを使うことで簡単に実装することができます。チャット:RatchetRatchetRatchetは、簡単にチャット機能を導入できるPHPライブラリです。チャットの実装には手間がかかるため、Ratchetは多くのPHPアプリケーションで導入されています。Ratchetの使い方Ratchetライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。{}}?>上記のサンプルコードは、Ratchetのベースとなる実装部分です。それぞれのメソッドについて説明すると、「onOpen」は、新しいクライアントから接続があった場合に呼ばれるメソッドです。「onMessage」は、接続してメッセージを受け取った場合に呼ばれるメソッドです。「onClose」は、接続が切断された場合に呼ばれるメソッドです。「onError」は、接続中にエラーが発生した場合に呼ばれます。ファイルのアップロード:UploadUpload「Upload」は、ファイルをアップロードする機能を導入できるPHPライブラリです。ライブラリを利用しなくてもファイルのアップロードは可能ですが、「Upload」を使用することで、ファイルサイズの上限の設定や対応可能なファイル形式の設定を簡単に行うことができます。ファイルサイズの上限設定はPHP経験が浅い方にとって面倒な部分も多いので、「Upload」は便利なライブラリです。Uploadの使い方Uploadライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。$file->getErrors();}上記のサンプルコードは、HTMLからファイルが送信された場合の処理です。送信されたファイルは設定した制限を満たしているかどうか判定され問題なければアップロード処理を行います。ユーザー登録:SentinelSentinel「Sentinel」は、ユーザー登録やログイン、パスワードのリマインダー、ユーザー認証などユーザー管理機能を導入できるPHPライブラリです。ユーザー管理機能を0から実装するのはなかなかハードルが高いですが、「Sentinel」を導入することで開発の効率化をはかることができます。Sentinelの使い方Sentinelライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。'foobar',]);上記のサンプルコードは、先にユーザー情報を管理するデータベースの設定を行います。注意点としては、「database」「username」「password」については、接続する環境に合わせて設定する必要があります。その後、ユーザーの新規登録を行なっています。バージョン6Guzzle「Guzzle」は、PHPを使ってAPI開発時に役立つHTTPリクエスト簡単に導入できるPHPライブラリです。通信方式は、同期/非同期両方に対応しています。バージョン6の使い方Guzzleライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。$response->getBody();});$promise->wait();上記のサンプルコードは、大きく「同期通信」と「非同期通信」のコードに分かれています。分かれていますが、基本的なコードの書き方は同じです。「非同期通信」では、「then」以降の$responseでサーバからのレスポンスを受け取っています。データベース管理:PropelPropel「Propel」は、オブジェクトリレーショナルマッパー(ORM)で、データベースにデータへの保存や取得などできるPHPライブラリです。「Propel」を利用すればSQL文を書く必要がなく、データベースへのアクセスを簡単に実現することができます。Propelの使い方Propelライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。Book();$book->setTitle("Title_sample");$book->setDetail("Detail_sample");$book->save();上記のサンプルコードは、最初に保存するテーブルをXMLで定義します。その後、テーブルに必要なカラムの値をセットしてsave()を行います。これだけでデータベースに書き込むことができます。Auth」は、2段階認証システムを手軽に導入できるPHPライブラリです。Auth」で使用できます。Authライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。$_POST['verification']);上記のサンプルコードは、まず公開するキーを生成します。そのキーと認証情報をもとに認証を行うコードになっています。公開するキーは、そのままWebサイトに表示する以外にも、QRコードで表示することも公開方法として説明されています。Bar」は、デバック出力を画面下のメッセージバーに表示することができるPHPライブラリです。エラー表示だけでなく、例外処理も出力できます。Barライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。world!」を表示するコードです。実際に出力する場合は「addMessage()」にエラーメッセージをセットすれば確認することができます。決済サービス:StripeStripe「Stripe」は、決済処理を導入することができるPHPライブラリです。Webアプリだけでなくモバイルアプリも対応しています。PHPだけでなくJavaやRubyなどのプログラミング言語に対応しており、他のライブラリと比較して開発者向けのリファレンスが充実しています。Barライブラリの使い方について紹介します。次のPHPサンプルコードをご覧ください。$charge;?>上記のサンプルコードは、「composer」で導入した場合のサンプルコードです。APIキーをセットして決済内容を作成するだけです。最低限の決済処理であれば上記のコードだけで処理が行われます。まとめPHPの便利なライブラリを紹介してきました。ライブラリは自分では難しい機能を少ない実装で導入することができます。他にもPHPには便利なライブラリがたくさんありますので、ぜひ活用してください。file.2:営業マンとして活躍し、海外留学。file.4:独学よりもスクールで。他人と同じことはしない。