[RaptorsFramework][PHP]DB接続
公開日:
:
最終更新日:2024/05/01
RaptorPHPFramework
前回に引き続きRaptorFrameworkの作業を続ける。
Coreファイルをゴリゴリ追加していこうと思う。
基本的にこのフレームではPHPだけで作る予定だ。なのでhtacsessなどのファイルは使用せず、MYSQLとPHPが稼働すれば動くような仕組みにしていきたい。
リクエストの起点がViewになるという事で純粋な意味でPHPのMVCモデルの定義からは反しているだろうが、
オブジェクト指向に基づいた形ではしっかり作っていく。間違ってたら(あるいはより簡略化できそうなら)是非指摘してもらいたい。
まずはDB接続の処理から。DB接続のユーザー名をまとめるコンフィグファイルと接続処理をまとめるファイルに分割して記述する。
一つにまとめることもできるが、今回それはしない。理由は二つあって一つは接続情報などが変わった場合、コンフィグファイルだけ書き換えれば問題ない状態にすればいい状態にしたいこと、もう一つは処理によってDB接続先を変えたい時にコンフィグファイルを追加できるようにしたいため。
あともう一つ情けない理由があって、慣れ親しんで使っていたmysqli_connectクラスが次のPHPバージョンで削除されてしまうらしく、
そうなるとその一箇所が崩壊するとDB接続関係の処理を全部書き換えなければならなくなるのでPHPのバージョンアップの際に接続処理を書いたファイルだけ書き換えれば対応できる状態にしておきたい。
今やっておけよっていうツッコミは無しな。今は。
config.php
//Mysqlに接続 if(!defined('DB_HOST')){ define("DB_HOST", "localhost"); } if(!defined('DB_USER')){ define("DB_USER", "root"); } if(!defined('DB_PASS')){ define("DB_PASS", "root"); } if(!defined('DB_DATABASE')){ define("DB_DATABASE", "cake_blog_tutorial"); }
dbconect.php
class dbconect { function returnDbconfig() { $con=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE); mysqli_set_charset($con, "utf8"); //接続に失敗した場合エラーを表示してプログラムを終了 if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); exit; }else{ return $con; } }
config側でコンフィグ内容は定数として用意しておく。
もしも別の処理で接続先を変えたいならコンフィグファイル内で設定した定数をその処理内でオーバーライドすればいい。
関連記事
-
[PHP]西暦→世紀変換する
(遊戯王真DM2本編より転用+一部改変) 先日偶然家にいた姉と真DM4をやっていた。舞台設
-
[php]どの数値の倍数かどうかを判定する
俺はPHPでクラス関数を開発した人の事は全力で称えたい PHPでどの数値の倍数かどうかを判定す
-
[RaptorsFramework][PHP]リクエストをオブジェクト化する
RaptorFrameworkだけどネーミングに既に先客がいた。 どうしてもラプターって言う単語だ
-
フレームワークを作ってみる。
このブログ。元々PHPの学習状況を報告する為の場所だったんだが、いつの間にか遊びの報告しかしてない事