站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
使用XOOPS应用程序接口
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
切换编辑器
您已切换至源代码编辑
关闭
您可以随时通过点击该图标切换回可视化编辑。
可视化编辑
源代码编辑
更多
高级
特殊字符
帮助
标题
2级
3级
4级
5级
格式
插入
拉丁字母
扩展拉丁字母
国际音标
符号
希腊字母
希腊字母扩展
西里尔字母
阿拉伯字母
扩展阿拉伯字母
希伯来字母
孟加拉语字符集
泰米尔数字和符号
泰卢固语字符集
僧伽罗语字符集
梵文字符集
古吉拉特语字符集
泰语字符集
老挝语
高棉语字母
加拿大原住民音节文字
卢恩
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
格式
链接
标题
列表
文件
参考
讨论
说明
输入内容
输出结果
斜体
''斜体文字''
斜体文字
粗体
'''粗体文字'''
粗体文字
粗斜体
'''''粗斜体文字'''''
粗斜体文字
===XOOPS ORM应用实例=== 以newbb[[论坛]]模块为例,描述数据操作的常用方法和范例。示例中涉及的类声明,按出现顺序: *Forum类的定义 <pre> class Forum extends XoopsObject { … } class NewbbForumHandler extends XoopsPersistableObjectHandler { … } </pre> *Moderate类的定义 <pre> class Moderate extends XoopsObject { … } class NewbbModerateHandler extends XoopsPersistableObjectHandler { … } </pre> *Category类的定义 <pre> class Category extends XoopsObject { … } class NewbbCategoryHandler extends XoopsPersistableObjectHandler { … } </pre> *Post类的定义 <pre> class Post extends XoopsObject { … } class NewbbPostHandler extends XoopsPersistableObjectHandler { … } </pre> *Post类的定义 <pre> class Topic extends XoopsObject { … } class NewbbTopicHandler extends XoopsPersistableObjectHandler { … } </pre> *获取单个对象实例的数据 <pre> /modules/newbb/viewforum.php // 获取forum ID $forum_id = intval($_GET['forum']); // 创建NewbbForumObjectHandler $forum_handler =& xoops_getmodulehandler('forum', 'newbb'); // 实例化NewbbForumObject $forum_obj =& $forum_handler->get($forum_id); </pre> *按条件获取多个对象实例的数据 <pre> /modules/newbb/moderate.php //确定forum_id需满足的条件 $criteria = new Criteria("forum_id", "(0, {$forum_id})", "IN"); //确定要读取的数据量上限 $criteria->setLimit($xoopsModuleConfig['topics_per_page']); //要读取的数据初始位置 $criteria->setStart($start); //排序所依据的规则,即字段名 $criteria->setSort($sort); //正序或倒序 $criteria->setOrder($order); //读取满足条件的数据并实例化到$moderate_objs $moderate_objs = $moderate_handler->getObjects($criteria); </pre> *新建对象实例并保存到数据库 <pre> /modules/newbb/admin/admin_cat_manager.php //创建category新对象 $category_obj =& $category_handler->create(); ... //从POST提交的数据赋值 $category_obj->setVar('cat_title', @$_POST['title']); $category_obj->setVar('cat_image', @$_POST['cat_image']); $category_obj->setVar('cat_order', $_POST['cat_order']); $category_obj->setVar('cat_description', @$_POST['cat_description']); $category_obj->setVar('cat_url', @$_POST['cat_url']); ... //将对象数据插入到数据库中 if (!$category_handler->insert($category_obj)) { ... } </pre> *更新单个对象实例的数据 <pre> /modules/newbb/admin/admin_cat_manager.php //创建category对象并从数据库读取数据 $category_obj =& $category_handler->get($cat_id); ... //从POST提交的数据赋值 $category_obj->setVar('cat_title', @$_POST['title']); $category_obj->setVar('cat_image', @$_POST['cat_image']); $category_obj->setVar('cat_order', $_POST['cat_order']); $category_obj->setVar('cat_description', @$_POST['cat_description']); $category_obj->setVar('cat_url', @$_POST['cat_url']); ... //更新对象在数据库中的数据 if (!$category_handler->insert($category_obj)) { ... } </pre> *按条件更新多个对象实例的数据 <pre> /modules/newbb/admin/topicmanager.php //建立条件查询类 $criteria_topic = new Criteria("topic_id", $topic_id); $criteria = new CriteriaCompo($criteria_topic); $criteria->add(new Criteria('pid', 0)); //更新所有满足条件的post对象的pid值 $post_handler->updateAll("pid", $topic_handler->getTopPostId($newtopic), $criteria, true); //更新所有满足条件的post对象的topic_id值 $post_handler->updateAll("topic_id", $newtopic, $criteria_topic, true); </pre> *删除单个对象实例的数据 <pre> /modules/newbb/admin/admin_forum_manager.php //创建forum对象并从数据库读取数据 $forum_obj =& $forum_handler->get($_POST['forum']); //从数据库中删除该对象的数据 $forum_handler->delete($forum_obj); *按条件删除多个对象实例的数据 <pre> /modules/newbb/admin/admin_forum_manager.php // forum类的delete方法 function delete(&$forum) { … // Get list of all topics in forum, to delete them too $topic_handler =& xoops_getmodulehandler('topic', 'newbb'); //删除forum_id等于当前forum ID的所有主题 $topic_handler->deleteAll(new Criteria("forum_id", $forum->getVar('forum_id')), true, true); … //调用父类删除当前论坛版面的数据 return parent::delete($forum); } </pre> [[category:Xoops模块开发指南]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)