LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

PHP Data Object

PHP Data Object (PDO) とは、に実装されているデータベース抽象化レイヤクラスである。要約すると、1つの関数で複数のデータベース(DBMS、RDBMS)へのアクセスを可能とする。2005年11月24日にリリースされたPHP 5.1.0から実装された。データベースの違いを吸収し、共通の関数でデータベースを操作できるように設計されている。拡張モジュール(PECL)として提供されている。今日では、MySQL、PostgreSQL、SQLiteなど、多くのデータベースシステムが存在している。PDOは、これら複数のデータベースの違いを(完全にと言うわけではないが)意識することなく、一つの関数で操作する機能を開発者に与える。例えば、上記のスクリプトでは、mysql:hostの部分をpgsql:hostなどに変更するだけで使用するデータベースをMySQLからPostgreSQLに変更できる(無論、データベースの名前やユーザー名、パスワードも同じであることが前提である。変更するなら、適時変更する必要はある)。多くのデータベースに対応する必要のあるシステム開発や、システムを異なるデータベースに移行するときなどに、特に威力を発揮する。PDOは、以下の機能を提供している。例えば userテーブルに変数$nameに'ウィキペディア'という文字列をSQLに挿入する例(prepareメソッド):prepare('INSERT INTO user (name) VALUES (:name)');$stmt->bindValue(':name', $names, PDO::PARAM_STR);$stmt->execute();PHPは、WEBアプリケーション作成の開発に適した言語であり、WEBアプリケーションと連携する多くのデータベースにアクセスする機能も、モジュールとして標準で備えている。しかし、その接続するための関数とそれに渡す引数はそれぞれのデータベース毎に異なっていた。MySQLやMariaDBではmysql_connect関数に代表されるMySQLモジュール(PHP7.0現在はmysqli_connnectに代表されるMySQLiに置き換えられた)、PostgreSQLではpg_connect関数に代表されるPostgreSQLモジュールなど、データベース毎に実装が異なっていた。また、関数に渡すパラメータなども各データベースによって異なるなど、複数のデータベースをサポートする開発者にとって多大な負担になっていた。PHP4では、PEARの1つとして、PEAR::DBがあり、これがデータベースへのアクセス機能をまとめ、共通のAPIを提供していた。しかし、この機能はPHPスクリプトで書かれているため、速度面で遅くなりがちという欠点を抱えていた。中小規模のシステムならともかく、大規模なシステムではその速度の遅さが欠点となっていた。そこで、PHP5からはC言語で書かれた拡張モジュールとしてPDOが作成・提供されることとなった。各データベースの独自実装SQLや、複雑な処理の違いを完全に吸収するわけではない。あくまでリスク低減、開発工数の削減がある程度可能となっているだけである。また、プリペアドステートメントを用いることでSQLインジェクションの脆弱性をより安全に回避することができるが、環境によっては対応が不完全で問題が発生したケースもある。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。