Heim  >  Artikel  >  Backend-Entwicklung  >  新型ORM queryphp框架 操作类似jquery方式,该怎么处理

新型ORM queryphp框架 操作类似jquery方式,该怎么处理

WBOY
WBOYOriginal
2016-06-13 10:01:22757Durchsuche

新型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"这里更改

PHP code
<!--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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn