アイデアは、初心者向けの使いやすいフレームワークを作成することです。 Application ()クラスを使用して、 routes 、 controllers 、 modelsなどの必要なモジュールをロードします。モデルクラスは、データベース内のテーブルを直接表します。
このフレームワークは開発中です。コンポーネント、ルーティングとORMを備えたMVCパターンアーキテクチャを提供します。モデルクラスは、DBテーブルを直接反映します。
ターミナルで、プロジェクトのディレクトリに移動し、次のコードを実行します。
composer require rforge/rforge次に、このコマンドを実行して、新しいオートローダーを生成します
composer dump-autoload -o上記のすべての必要な手順を完了すると、新しいアプリケーションの作成を開始できます。これは、 index.phpのサンプル形式です。以下に示すようにrequire_once行を呼び出して、フレームワークを読み込みます。その後、 use RforgeApplication; 。
require_once __DIR__ . " /vendor/autoload.php " ;
use RForge Application ;
use RForge Settings Config ;
Config:: setConnection ([
" host " => " 127.0.0.1 " ,
" user " => " root " ,
" pass " => "" ,
" charset " => " utf8 " ,
" driver " => " mysql "
]);
$ app = new Application ( " YourProjectNameSpace " );
$ app -> setTables ( ' Models \' ); //<-- Directory path to your models
$ app -> database ( ' bld ' ); // <-- DB Name
$ app -> start (); //<-- Start loading the configurations注:
$app->start()を実行する前に、最初に構成を設定するか、デフォルトの構成を使用します
モデルはデータベース構造を直接表します。 RFORGEはモデルの変更を追跡し、データベースを更新します。フレームワークは、モデルリレーショナルデータベースマッピングをまだサポートしていません。
modelを作成するには、新しいクラスを作成するだけで、そのクラスにプロパティを割り当てます。クラスのプロパティは、データベースで作成されたcolumnsの名前になります。データ型を割り当てるには、以下に示すようにJSDOC構文を使用します。
class User{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}
これらのクラスはデータベースメソッドの実装を保持し、モデルに継承する必要があります。
class User extends Operations{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}一部のモデルは、それをトリガーするモデルに値を返します。一方、他のメソッドはそのモデルの配列として値を返します。現在、2つの方法のみがサポートされており、より多くの方法がまもなく利用可能になります。
モデルを初期化し、以下の方法を使用します。
$ user = new User (); // initialize the model with operations
$ user -> findByID ( 23 ); // invoke the method
echo $ user -> name ; //output => Alexモデルにクエリの値を直接取得することに注意してください。一部のメソッドはメソッドをトリガーしたモデルの配列を返しますが、他のメソッドは値をクラス自体に直接返します
これらのモデルを別のフォルダーに配置する必要があり、最大の直接にある必要があります。 filecrawlerこれらのディレクトリに他のクラスも見つけるためです。
setTables Methodに配置する必要があるパスです。