ホームページ >バックエンド開発 >PHPチュートリアル >新しい ORM queryphp フレームワークとチュートリアル エントリ ソリューションの紹介
新しい ORM queryphp フレームワークの紹介とチュートリアルの紹介
現在、インターネット上には多くの php フレームワークがあります
国産の thinkphp もまだ良いですし、qeephp も良いですが、プログラムを書くときにコードを書きすぎる必要があります
海外では、私は symfony をよく使います。これは確かに、多くの自動化と美しい検証方法を備えた非常に優れたフレームワークです。自動フォーム
は、国内のぎこちない検証方法と比べて、非常にオープンです。
しかし、手動で実行したい場合は、プラグインを作成する必要がある場合があります。
また、symfony は少し遅いですが、Doctrine はたくさんあります。 jquery 操作メソッドを実装します
私が使用し続けることができる唯一の js フレームワークは jquery であり、jquery も比較的小規模であり、Google は CDN も提供しているため、サーバー トラフィックも小さいです
旧正月の数日後、私は jquery に似た php プログラムの作成メソッドである queryphp フレームワークを開発しました。
例: Supply と Books は両方ともデータベース テーブルです。
echo $supply->Books->classname;//Books のコンテンツを自動的に取得します
echo $supply->Books->Supply->title; // 逆に、供給されているコンテンツを取得します
echo $supply->title;
echo $books->classname;
は hasOne hasMany ManyhasMany モード関連付け
もサポートし、PATH_INFO も
testframework をサポートします。 php?controller=default&action=index
testframework.php/default/index
Apache を使用して testframework.php ファイルを書き換えて削除できます
以下にいくつかのチュートリアルを投稿してください
これフレームワーク
は MVC モードを実装できます
path_info モードをサポート
ルーター ディレクトリの下でアクションを制御します
/default/index
defaultRouter.class.php を呼び出しますルーターディレクトリ配下のファイル
クラスを取得した後にインデックスメソッドを呼び出す
J()はインデックスメソッドですjump
R()は
C()によって制御されます生成されたクラス
M () はデータベース クラス モデル データベース リンクです。model.function.php の
には、framework.php ファイルのみが含まれます。
path_info メソッド
testframework.php?controller=default&action=index
testframework.php/default/index
Apache を使用して testframework.php ファイルを書き換えて削除できます
ルーティング ルールは自分で設定できます
C("router")->ruleMaps("login",'/login/:id', array('controller' => 'auth', 'action' => ; 'login'));
その後、testframework.php/login/5555 と一致します
このように、$_GET['id'] を使用して 5555;
'controller' => 'auth', 'action' => 'login'
はコントローラーとメソッドです
その他の設定
C("router")->ruleMaps(' logout','/logout', array( 'controller' => 'auth', 'action' => 'logout'));
C("router")->ruleMaps('signup', '/signup', array('controller' => 'auth', 'action' => 'signup'));
C("router")->ruleMaps('profile','/profile /:action', array('controller' => 'profile')); // 動的メソッド ":action()" でコントローラー "Profile" を呼び出します
C("router")->ruleMaps( 'users','/users/:id ', array('controller' => 'users'), array('id' => '[d]{1,8}')); // フィルターを定義します。 URL パラメーターの場合
データベース データ モデル
メソッドを使用します
データベース テーブル モデルを構築します
$beian=M('beian');
aaa bbb フィールド $_POST にも自動的に入力します。これらの 2 つのフィールドは必須です
//$beian->autoField(array("aaa","bbbb"));
$data が入力されます
$beian->autoField($data, array("aaa","bbbb"));
2 つの主キー値を取得し、昇順に並べ替えます
//print_r($beian-> get(53,54,'asc'));
フィールドに値を割り当てます。
$beian->userid=2;
$beian-> language=1;
割り当てられたフィールドを印刷
//print_r($beian->data ) ;
保存して、挿入したばかりの ID を表示します
//echo $beian->save()->pkid();
主キーを設定して削除します
//echo($beian->pkid(69)->delete());
テーブル内の行数を取得します
//echo $beian->Totalnum( );
選択すると 2 つのフィールドが表示されます。Arraylist は配列です
//print_r($beian->getAll("userid, language")->record); //record に変更されました
2 つのユーザー ID と言語を 1 と 5 としてクエリし、値をフェッチします。
print_r($beian->whereUseridAndLanguage('1','5')->fetch()->record) ;
2 つの主キーを取得し、3 つのフィールドを昇順で表示します
//print_r($beian->get('confid,userid, language',53,54,'asc')-> ;record);
主キー値を出力
//echo $beian->confid;
特定のテーブルのフィールド累積を 1 更新します
$beian- >colupdate('tplid' );
モデル ディレクトリの *****Model.class.php ファイルにメソッドを追加できます。
モデル生成後すぐに使用できます
print_r($booktype=M("booktype")->getAll());
Update J()ジャンプ関数
ルート間のジャンプとパラメーターの受け渡しをサポートできます
パラメーターは array
J("show") で、このルーティング メソッド show
に移動しますJ("show",array("id"=>555)) はこのルーティング メソッド show にジャンプし、パラメータ ID を過去に渡します
J(R("member"),"list") はジャンプします上記のメンバーにルートし、リスト メソッドを呼び出します。リストがない場合、デフォルトのメソッドは、特定のフレームワークで設定されているデフォルトのメソッドであるインデックス メソッドです。
J("member")
J("member","list",array("userid"=>999))
hasOne hasMany ManyhasMany ORM(オブジェクト リレーショナルMapper) ここで変更できるオブジェクト リレーションシップ マッピングは 3 種類あります。 "map"=>"hasOne"
モデル ファイルは自動生成されます
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php クラス SupplyModel extends SupplyBase{ var $mapper=array("Books"=>array("map"=>"hasOne","TargetModel"=>"booktype","localFiled"=>"typeid","targetFiled"=> "タイプID")); var $maps; } ?> <div class="clear"></div>