フレームワークを作ってみる。
公開日:
:
最終更新日:2024/01/18
RaptorPHPFramework
このブログ。元々PHPの学習状況を報告する為の場所だったんだが、いつの間にか遊びの報告しかしてない事に気づいた。
まあ、ブログなんてそんなもんだとか考えながらやってたけど、ちょっとは楽しみながら勉強したいよね。
PHP仕事で使っているが、上司がゴリゴリ作ったフレームワークを使ってWEBアプリを作っている。
それの使い方だけ覚えていてPHPの基礎部分を何一つわかってないと言う事。
そこで俺だけのフレームワークを一個作ってみる。
まず、そう考えた理由がいくつかある。一つは上記のとおり。もう一つは上司が個人でゴリゴリ作ってたものを気安く外に出せない事もあって外部からの提案事に対応できなかったのがある。
で、俺が作ったやつだったらどうしようが勝手だろうと言う事と、自分で解る仕組みを作っておいてエラーが出たら対応できるようにしたい。
(仕事で使ってるやつはコアファイルを怖くて弄れない。ってか大体のFWはそうだと思うけど。)
今回作るFWの目的は以下の通り。
・PHPとDBの連携の教材として使える物。
・完成後何かしらのコアファイルにする
(段階的にBBS→メルマガシステム→CMS)
とりあえず最初の着地点として
DBへのInsert、Select、Edit、Deleteが<Form>上からできる。
という形にする。
開始のベースとしていくのは以下のプログラム。
//Mysqlに接続 $con=mysqli_connect("HOST","USER","PASSWORD","DBTABLE"); mysqli_set_charset($con, "utf8"); //接続に失敗した場合エラーを表示してプログラムを終了 if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); exit; } $sql = "SELECT * FROM test_json"; //実際にSQLを実行する if ($result = mysqli_query($con, $sql)) { //結果の配列を定義 $resultArray = array(); $keyArray = array(); while($row = $result-&gt;fetch_object()) { //SQLの実行結果を配列に入れる $keyArray = $row; array_push($resultArray,$keyArray); } //取得した結果をJsonデータに変換 echo json_encode($resultArray); } //Mysqlの接続を閉じる mysqli_close($con);
テスト用にこの間作った奴なんだが、DBから取得した情報を配列にしてJSONに変換して吐き出すだけのスクリプト。
これにControllerを作って処理をゴリゴリ書いていこうと思う。
ディレクトリ構造を考える
とりあえずMVCのモデルは崩さない形にしたい。
最近になって自分の認識が間違ってた事もあるけど(ViewからModelに直接アクセスしても大丈夫だって知らなかったとか色々)、まあとにかくMVCなのだ。どうせβ版だし。最小限ViewとModel、Controllerとの分割が出来てれば最初はそれでよかろう。
どうせβ版だし。
ユーザー領域
ユーザーがゴリゴリ書いたものを追加していく領域。これはもうベースディレクトリをその形にしていく。
Core領域
このFWの基本機能の部分。
上のコードで言う所の3行目から21行目辺りを書いていくことになる。
機能だけの部分なので基本的にユーザーは触らない。
このフレーム自体にRaptorFrameworkと名付ける事にするが、
その由来とかはまた今度。
関連記事
-
[php]どの数値の倍数かどうかを判定する
俺はPHPでクラス関数を開発した人の事は全力で称えたい PHPでどの数値の倍数かどうかを判定す
-
[RaptorsFramework][PHP]リクエストをオブジェクト化する
RaptorFrameworkだけどネーミングに既に先客がいた。 どうしてもラプターって言う単語だ
-
[PHP]西暦→世紀変換する
(遊戯王真DM2本編より転用+一部改変) 先日偶然家にいた姉と真DM4をやっていた。舞台設
-
[RaptorsFramework][PHP]DB接続
前回に引き続きRaptorFrameworkの作業を続ける。 Coreファイルをゴリゴリ追加し
- PREV
- Air BnB泊まった感想
- NEXT
- [RaptorsFramework][PHP]DB接続