Rumah >pembangunan bahagian belakang >tutorial php > 新型ORM queryphp框架 操作类似jquery方式,该怎么处理
新型ORM queryphp框架 操作类似jquery方式
本框架不大,几十Kb
实现了目前所有框架大部分功能
MVC试,ORM数据库支持 关系查询
数据库操作方式如:
echo $supply->Books->classname;//自动取得Books中内容
echo $supply->Books->Supply->title; //反过来取supply中的内容
支持多数据库链接,主从链接
这个一个微型框架
可以实现MVC方式
支持path_info方式
控制动作在router目录下面
/default/index
调用router目录下面defaultRouter.class.php文件
取得类后调用index方式
J()是index方法跳转
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')); // will call controller "Profile" with dynamic method ":action()"
C("router")->ruleMaps('users','/users/:id', array('controller' => 'users'), array('id' => '[\d]{1,8}')); // define filters for the url parameters
数据库数据模型
使用方法
构造一个数据库表模型
$beian=M('beian');
自动填充aaa bbb字段 $_POST中也要有这两个字段
//$beian->autoField(array("aaa","bbbb"));
$data中填充
$beian->autoField($data,array("aaa","bbbb"));
取两个主键值,排序为升序
//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();
select显示两个字段,Arraylist为数组
//print_r($beian->getAll("userid,language")->record); //改为record了
查询两个userid和language为1和5,fetch为取值
print_r($beian->whereUseridAndLanguage('1','5')->fetch()->record);
取得两个主键,显示三个字段,升序
//print_r($beian->get('confid,userid,language',53,54,'asc')->record);
输出主键值
//echo $beian->confid;
更新某个表的字段累加1
$beian->colupdate('tplid');
可以在model目录下,*****Model.class.php文件里面添加方法。
生成模型后可以马上可以使用
print_r($booktype=M("booktype")->getAll());
更新J()跳函数
可以支持各个路由之间跳转和传递参数
参数为array
J("show") 为转到本路由方法show
J("show",array("id"=>555)) 为转到本路由方法show 并传递参数ID过去
J(R("member"),"list") 将跳转到member路由上面并调用list方法 如果没有list那么默认为index方法,具体框架中设置的默认方法。
J("member")
J("member","list",array("userid"=>999))
hasOne hasMany ManyhasMany ORM(Object-Relational Mapper) 对象关系影射有三种可以在"map"=>"hasOne"这里更改
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php class supplyModel extends supplyBase{ var $mapper=array("Books"=>array("map"=>"hasOne","TargetModel"=>"booktype","localFiled"=>"typeid","targetFiled"=>"typeid")); var $maps; } $supply=M("supply"); $supply->get(3,4)->up(); echo ($supply->Books->classname);//自动取得Books中内容 print_r($supply->record); echo $supply->Books->Supply->title; //反过来取supply中的内容 print_r(M("booktype")->record); //booktype中已有对像关系了 ?> <div class="clear"> </div>