Enviar pesquisa
Carregar
Uc home二次开发参考手册
•
Transferir como DOC, PDF
•
0 gostou
•
678 visualizações
C
charleenchen1990
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 5
Baixar agora
Recomendados
File api
File api
Tom Fan
第十一章解答
第十一章解答
jiannrong
Oracle试题Exam Adminv1.1
Oracle试题Exam Adminv1.1
Zianed Hou
PHP通用程序的模板运行机制
PHP通用程序的模板运行机制
horseluke
Mnesia用户手册
Mnesia用户手册
shu beta
Moodle 项目帮助手册:程序编写准则
Moodle 项目帮助手册:程序编写准则
YUCHENG HU
C语言
C语言
peterlhj
dbug in mysql
dbug in mysql
Tim Chou
Recomendados
File api
File api
Tom Fan
第十一章解答
第十一章解答
jiannrong
Oracle试题Exam Adminv1.1
Oracle试题Exam Adminv1.1
Zianed Hou
PHP通用程序的模板运行机制
PHP通用程序的模板运行机制
horseluke
Mnesia用户手册
Mnesia用户手册
shu beta
Moodle 项目帮助手册:程序编写准则
Moodle 项目帮助手册:程序编写准则
YUCHENG HU
C语言
C语言
peterlhj
dbug in mysql
dbug in mysql
Tim Chou
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
Tao He
Php设计模式介绍
Php设计模式介绍
cyf5513
Eloquent ORM
Eloquent ORM
Shengyou Fan
Eloquent ORM
Eloquent ORM
Shengyou Fan
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Frank Cai
Overlayfs and VFS
Overlayfs and VFS
Hao(Robin) Dong
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
Lixun Peng
1, shell intro
1, shell intro
ted-xu
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
六步教你学会简单Rmi
六步教你学会简单Rmi
yiditushe
Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
5, system admin
5, system admin
ted-xu
4, files & folders
4, files & folders
ted-xu
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
xuebao_zx
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
Asika Simon
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
ZongYing Lyu
網站設計100步
網站設計100步
evercislide
Windowsîä¼þïµí³¹ýâëçý¶¯¿ª·¢½ì³ì(µú¶þ°æ)
Windowsîä¼þïµí³¹ýâëçý¶¯¿ª·¢½ì³ì(µú¶þ°æ)
rvillegasg
Magento页面载入的执行流程
Magento页面载入的执行流程
Sim Jiason
【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學
ilovejoomla
Mais conteúdo relacionado
Semelhante a Uc home二次开发参考手册
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
Tao He
Php设计模式介绍
Php设计模式介绍
cyf5513
Eloquent ORM
Eloquent ORM
Shengyou Fan
Eloquent ORM
Eloquent ORM
Shengyou Fan
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Frank Cai
Overlayfs and VFS
Overlayfs and VFS
Hao(Robin) Dong
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
Lixun Peng
1, shell intro
1, shell intro
ted-xu
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
六步教你学会简单Rmi
六步教你学会简单Rmi
yiditushe
Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
5, system admin
5, system admin
ted-xu
4, files & folders
4, files & folders
ted-xu
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
xuebao_zx
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
Asika Simon
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
ZongYing Lyu
網站設計100步
網站設計100步
evercislide
Windowsîä¼þïµí³¹ýâëçý¶¯¿ª·¢½ì³ì(µú¶þ°æ)
Windowsîä¼þïµí³¹ýâëçý¶¯¿ª·¢½ì³ì(µú¶þ°æ)
rvillegasg
Magento页面载入的执行流程
Magento页面载入的执行流程
Sim Jiason
【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學
ilovejoomla
Semelhante a Uc home二次开发参考手册
(20)
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
Php设计模式介绍
Php设计模式介绍
Eloquent ORM
Eloquent ORM
Eloquent ORM
Eloquent ORM
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Overlayfs and VFS
Overlayfs and VFS
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
1, shell intro
1, shell intro
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
六步教你学会简单Rmi
六步教你学会简单Rmi
Lucene 全文检索实践
Lucene 全文检索实践
5, system admin
5, system admin
4, files & folders
4, files & folders
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
I Love Joomla! 佈景製作教學 0212
I Love Joomla! 佈景製作教學 0212
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
網站設計100步
網站設計100步
Windowsîä¼þïµí³¹ýâëçý¶¯¿ª·¢½ì³ì(µú¶þ°æ)
Windowsîä¼þïµí³¹ýâëçý¶¯¿ª·¢½ì³ì(µú¶þ°æ)
Magento页面载入的执行流程
Magento页面载入的执行流程
【 I Love Joomla 】- Joomla!佈景製作教學
【 I Love Joomla 】- Joomla!佈景製作教學
Uc home二次开发参考手册
1.
Uchome 二次开发 一 文件系统结构及主要文件说明
Uchome 文件系统结构大概如下图所示 Admin: uchome 系统管理,与 home 目录(uchome 根目录)下 admincp.php 紧密相关 Api:与 ucenter 相关等的 api Attachment:附件上传保存目录 Data:临时数据缓存文件等存储目录,模板缓存文件就在这个目录里生成 Image:图片目录 Install:安装时用到,安装完毕建议删除 Language:操作对应语言 Source:uchome 架构核心目录,实际的处理及相关操作函数都在该目录中 Template:模板目录 Theme:主题(css 风格) Uc_client: 和 ucenter 信息交互的目录,必须 Home 目录( uchome 根目录)下主要文件(入口)功能说明: 1、系统首页 /index.php 显示页面为/template/模板文件夹名/index.htm。 2、个人页面 /space.php 不带参数时显示个人首页;带 uid 参数(用户编号)为显示其他人的首页;do 参数指示调用的模块, 如/space.php?do=blog 将显示日志内容。 带 do 参数页面的处理:/space.php?do=xxx 将调用/source/space_xxx.php(其中 xxx 为相关模块或操作, 下同)进行数据和逻辑处理,最终的页面是显示对应的模板页,为/template/模板文件夹名/space_xxx.htm。 3、随便看看页面 /network.php 不带参数时显示随便看看首页;带 ac 参数时显示某个模块的随便看看页面,如/network.php?ac=space 为随便 看看现有的成员。 带 ac 参数页面的处理:/network.php?ac=xxx 将调用/source/network_xxx.php 进行数据和逻辑处理,最终 的页面是显示对应的模板页,为/template/模板文件夹名/network_xxx.htm。 4、操作页面 /cp.php 不带参数时显示个人设置页;带 ac 参数时显示某个操作的页面,如/cp.php?ac=profile 为设置个人资料。 带 ac 参数页面的处理:/cp.php?ac=xxx 将调用/source/cp_xxx.php 进行数据和逻辑处理,最终的页面是显 示对应的模板页,为/template/模板文件夹名/cp_xxx.htm。 5、动作页面 /do.php
2.
不带参数时会被跳转到个人首页或系统首页(看是否已登录);带 ac 参数时为进行某项动作,不一定有显示的界 面。 带
ac 参数页面的处理:/do.php?ac=xxx 将调用/source/do_xxx.php 进行数据和逻辑处理,最终的页面是显 示对应的模板页,为/template/模板文件夹名/do_xxx.htm(不是所有的动作需要页面显示结果,所以不一定存 在对应的模板文件)。为防止注册机等外挂软件的攻击,程序对于 login 和 register 做了单独处理,直接加在 ac 参 数后是无效的,而是通过一串标识符来指示 login 或 register 动作。 6、高级管理页面 /admincp.php 不带参数时显示管理平台首页;带 ac 参数时显示某项功能的管理页面,如/admincp.php?ac=ad 为广告设置页。 带 ac 参数页面的处理:/admincp.php?ac=xxx 将调用/admin/admincp_xxx.php 进行数据和逻辑处理,最 终的页面是显示对应的模板页,为/admin/tpl/xxx.htm。 7、应用页面 /app.php 显示页面为/template/模板文件夹名/iframe.htm。 8、个人应用页面 /userapp.php 显示页面为/template/模板文件夹名/userapp.htm。 9、邀请加入页面 /invite.php 显示页面为/template/模板文件夹名/invite.htm。 10、RSS 页面 /rss.php 显示页面为/template/模板文件夹名/space_rss.htm。 11、帮助页面 /help.php 显示页面为/template/模板文件夹名/help.htm。 12、通用代码 /common.php 缓存、Cookie、用户状态验证、各种状态初始化等通用处理。 13、配置文件 /config.php 数据库连接、系统编码、站点网址等全局性配置。 14、富文本编辑器 /editor.php 15、模块载入代码 /js.php
3.
未发现使用的地方,所以不做解释。
16、连接显示页 /link.php 未发现使用的地方,所以不做解释。 17、xmlrpc 服务 /xmlrpc.php 调用/source/class_xmlrpc.php 来处理。关于 XML-RPC 的规范可看这里 二 uchome 架构简单说明 uchome 大概架构流程如下图: 是个轻量级的框架,逻辑流程都很清晰,space.php do.php 等入口文件属于 controler 级别,space_blog.php 等属于 model 级别, /data/tpl_cache/template_default_space_blog.php 等是 view 级别的。 当然这个架构不是严格意义上的 mvc 模式 三 uchome 全局变量说明 1 $_SC:系统全局配置 2 $_SBLOCK 3 $_SCONFIG:个人空间配置 4 $_SCOOKIE: 5 $_SGLOBAL:各类全局信息 6 $_SN:昵称信息 四 二次开发相关说明: 1 模板方面 首先,在根目录文件 config.php 中配置系统使用的模板: $_SC[“template”] = ‘default’;//选择模板目录
4.
当需要调用模板文件时,首先程序会在模板缓存目录 /data/tpl_cache/ 下查找是否存储了模板缓存文件, 模板缓存文件的命名规则:template_模板目录名_模板文件名.php,如果存在缓存的模板文件,直接调用就可以 了。如果不存在,则解析对应模板文件,生成缓存文件,然后使用。
模板解析通过调用/source/function_template.php 文件中的函数 parse_template()实现 解析的过程:读取模板文件( .htm)—>正则表达式替换相应标记为 php 代码—>生成标准 php 代码文件, 存储于/data/tpl_cache 目录 欲了解具体解析过程,查看 /source/function_template.php 中的函数 parse_template 模板语法: (1) 调用其他模板文件 <!--{template header}--> 说明:此处调用 header.htm (2) 调用头像 模板代码: <!--{avatar($value[uid],small)}--> 解析后的代码:<?php echo avatar($value[uid],small); ?> (3) 调用广告 模板代码:<!--{ad/header}--> 解析后的代码:<?php adshow('header'); ?> (4) 调用时间 模板代码:<!--{date('Y-m-d H:i', $value[dateline], 1)}--> 解析后的代码:<?php echo sgmdate('Y-m-d H:i', $value[dateline], 1); ?> (5) 输出 php 代码 模板代码:<!--{eval echo formhash();}--> 解析后的代码:<?php echo formhash(); ?> 说明:<!–{eval 和}–>之间的是需要执行的 PHP 代码,要求语句完整。 (6) 调用变量 <a href="space.php?uid=$value[uid]">{$_SN[$value[uid]]}</a> 解析后的代码: <a href="space.php?uid=<?=$value['uid']?>"><?=$_SN[$value['uid']]?></a> 说明:{和}之间的是需要输出的变量。 (7) 选择输出逻辑(if) <!—{if(condition)}? Dosomething <!—{elseif(condition)}= Dosomething <!—{/if}i 当然没有 elseif 这种情况可以省略 (8) 循环输出 <!—{loop $list $key $value}v Do something D {/loop}i 相当于 <?php If(is_array($list)){
5.
Foreach($list as $key=>$value){
Do something ?> <?php } }?> 另外关于 loop 后的参数说明:当 loop 后跟着三个参数时,第一个是要循环的数组,第二个是循环数组 的键名,第三个是该键名对应的值 当参数是两个的时候,第一个参数是循环的数组,第二个是当前循环的数组成员值 2 uchome 与 ucenter 交互机制 Uchome 中调用的一些信息是来源于 ucentenr 的,故在开发过程中需要知道 uchome 与 ucenter 交互 的机制。 (1) 文 件 说 明 : ucenter 与 uchome 交 互 的 代 码 位 于 /uc_client/ 目 录 下 , 相 关 的 数 据 调 用 函 数 都 来 自 client.php 文件中的函数,在 uchome 文件代码中加入: include_once S_ROOT.'./uc_client/client.php'; 即可调用相关 ucenter 的数据 (2) 函数说明:函数全部以 uc 开头,函数具体功能参见源代码注释 (3 ) 在/config.php 中有相当一部分有关 ucenter 的配置,相关配置变量以 uc 开头
Baixar agora