blancoDbPhpの公開ベータ版をリリースしました。blancoDbPhpの公開ベータ版をリリースしました。blancoDbのPHP版です。利用するソースコードを自動生成することができます。SQL定義書およびデータベーススキーマを入力として、PHPデータベース入出力ソースコードを自動生成できます。ソースコード自動生成アプローチによって、SQLインジェクションなどのセキュリティリスクのほとんどを撲滅することができます。PostgreSQLでのみ動作確認が実施されています。他のリレーショナルデータベースでも動作する可能性はあります。→他のリレーショナルデータベースでの動作確認情報をお寄せいただくことを期待します。PostgreSQL上での動作確認情報も歓迎します。正常系のみ実装されています。そのままスローされるようになっています。データベース入出力は文字列および数値のみに対応しています。日付型などは全く試験していません。ご協力いただいた皆様に、大変感謝しています。ありがとうございます。blancoDbPhpの発展に必要です。Frameworkプロダクト群のインストールに比べて少し手間がかかります。Eclipseプラグインフォルダに展開します。libフォルダに格納します。METAFILE.MFファイルを編集する必要があります。PHP版のチュートリアルはありません。頑張ってインストールしてください。下記のようなソースコードを自動生成することができます。データベーススキーマから自動生成されたものです。QueryIteratorに属するクラスです。検索型SQL文をラッピングして各種アクセサを提供します。このクラスが内部的に利用するデータベース接続オブジェクト。データベース接続オブジェクトはコンストラクタの引数として外部から与えられます。このクラスが内部的に利用するステートメントオブジェクト。このオブジェクトは内部的に利用されます。現在フェッチしている行の内容。SimpleAuthorSelectIteratorクラスのコンストラクタです。※注意:クラスを利用後、最後に必ずclose()メソッドを呼び出す必要があります。パラメータの数、型チェックを行います。パラメータは[1]個である必要があります。']個のパラメータを伴って呼び出されました。1番目のパラメータは[pdo.PDO]型でなくてはなりません。']型が与えられました。実際に実行するSQL文を戻します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。利用されていたデータベースリソースを開放します。クラスの利用が終わった際に必ずこのメソッドを呼び出してください。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。クエリのプリコンパイルに相当します。動的に内容が変化するようなSQLを実行する必要がある場合にのみ、こちらのメソッドを利用します。※SQL文そのものをパラメータとして与えることができて自由度が高い一方、SQLインジェクションと呼ばれるセキュリティホールが発生する危険がある点に注意した上で利用してください。SQL文をフィールド変数に記憶します。パラメータの数、型チェックを行います。パラメータは[1]個である必要があります。']個のパラメータを伴って呼び出されました。1番目のパラメータは[string]型でなくてはなりません。']型が与えられました。クエリのプリコンパイルを実施します。与えられていたクエリ(SQL文)を利用します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。クエリに与える入力パラメータをセットします。SQL入力パラメータ。パラメータの数、型チェックを行います。パラメータは[1]個である必要があります。']個のパラメータを伴って呼び出されました。1番目のパラメータは[integer]型でなくてはなりません。']型が与えられました。SQL入力パラメータ[inParamAuthorCode]を設定します。検索型クエリを実行します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。例外処理が実装されていません。カーソルを現在の位置から1行次へ移動します。シングル属性が有効なのでスコープをprotectedとします。新しい現在の行が有効な場合はTRUE、それ以上の行がない場合はFALSE。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。現在の行のデータをオブジェクトとして取得します。シングル属性が有効なのでスコープをprotectedとします。GetSingleRowメソッドを利用してください。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。現在の行のデータをオブジェクトとして取得します。このメソッドを利用する場合には、next()などのカーソルを操作するメソッドとは併用しないでください。派生したクラスの例外が発生します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。NoRowFoundException("行が検索できませんでした。TooManyRowsFoundException("1件以上の行が検索されました。このメソッドを呼び出すことは推奨されません。Statementを直接利用する必要はありません。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。QueryInvokerに属するクラスです。実行型SQL文をラッピングして各種アクセサを提供します。このクラスが内部的に利用するデータベース接続オブジェクト。データベース接続オブジェクトはコンストラクタの引数として外部から与えられます。このクラスが内部的に利用するステートメントオブジェクト。このオブジェクトは内部的に利用されます。SimpleAuthorInsertInvokerクラスのコンストラクタです。※注意:クラスを利用後、最後に必ずclose()メソッドを呼び出す必要があります。パラメータの数、型チェックを行います。パラメータは[1]個である必要があります。']個のパラメータを伴って呼び出されました。1番目のパラメータは[pdo.PDO]型でなくてはなりません。']型が与えられました。実際に実行するSQL文を戻します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。利用されていたデータベースリソースを開放します。クラスの利用が終わった際に必ずこのメソッドを呼び出してください。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。クエリのプリコンパイルに相当します。動的に内容が変化するようなSQLを実行する必要がある場合にのみ、こちらのメソッドを利用します。※SQL文そのものをパラメータとして与えることができて自由度が高い一方、SQLインジェクションと呼ばれるセキュリティホールが発生する危険がある点に注意した上で利用してください。SQL文をフィールド変数に記憶します。パラメータの数、型チェックを行います。パラメータは[1]個である必要があります。']個のパラメータを伴って呼び出されました。1番目のパラメータは[string]型でなくてはなりません。']型が与えられました。クエリのプリコンパイルを実施します。与えられていたクエリ(SQL文)を利用します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。クエリに与える入力パラメータをセットします。SQL入力パラメータ。SQL入力パラメータ。SQL入力パラメータ。SQL入力パラメータ。SQL入力パラメータ。パラメータの数、型チェックを行います。パラメータは[5]個である必要があります。']個のパラメータを伴って呼び出されました。1番目のパラメータは[integer]型でなくてはなりません。']型が与えられました。2番目のパラメータは[string]型でなくてはなりません。']型が与えられました。3番目のパラメータは[string]型でなくてはなりません。']型が与えられました。4番目のパラメータは[string]型でなくてはなりません。']型が与えられました。5番目のパラメータは[integer]型でなくてはなりません。']型が与えられました。SQL入力パラメータ[inParamAuthorCode]を設定します。SQL入力パラメータ[inParamAuthorName]を設定します。SQL入力パラメータ[inParamAuthorNameKana]を設定します。SQL入力パラメータ[inParamDateOfBirth]を設定します。SQL入力パラメータ[inParamGenderCode]を設定します。実行型クエリを実行します。シングル属性が有効なのでスコープをprotectedとします。ExecuteSingleUpdateメソッドを利用してください。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。PreparedStatementが未取得の状態なので、ExecuteNonQuery()実行に先立ちPrepareStatement()メソッドを呼び出して取得します。例外処理が入っていません。実行型クエリを実行します。派生したクラスの例外が発生します。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。NoRowModifiedException("行が一件も変更されませんでした。"一件を超える行が変更されてしまいました。このメソッドを呼び出すことは推奨されません。Statementを直接利用する必要はありません。パラメータの数、型チェックを行います。パラメータは[0]個である必要があります。']個のパラメータを伴って呼び出されました。当個人的見解に一切責任を持ちません。