设为首页 收藏本站
查看: 464|回复: 0

[经验分享] ExtJS 2.0 的PHP封装

[复制链接]

尚未签到

发表于 2017-4-1 11:48:50 | 显示全部楼层 |阅读模式
本来想自己研发UI库,自从看到了ExtJS,我们彻底打消了重复造轮子的想法,也决定使用ExtJS来作为CMSPAD UI部分的基础类库。于是,偶们想到了一个个人感觉比较BT的方法来实现它--使用PHP来进行封装。
(以下代码和演示已经验证可用)
先看看运行ExtJS库PHP代码:
<?php
import('ExtJS:ExtApplication');
import('ExtJS:ExtButton');
import('ExtJS:ExtMessageBox');
class Test1 implements ExtRunnable{
/**
* @param ExtApplication $application
*/
public function run($application){
$button = new ExtButton(array('text' => 'hello world!', 'width' => '500px', 'renderTo' => 'extButton'), 'button');
$button->disable();
/*
$msgbox = new ExtMessageBox(array('title' => 'Address', 'msg' => 'Please enter your address:', 'width' => 300, 'buttons' => ExtConstant::getConstant('OKCANCEL'), 'multiline' => true), 'msgbox');
*/
ExtMessageBox::alert('Hello', 'World!');
}
}
?>
以上代码假设保存在inc/test/Test1.php文件中,再看看前台模板是怎么调用的:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Extjs 2.0 Example Test</title>
<!-- 调用ExtJS自带的样式文件 -->
<{portlet name="ExtJS" view="stylesheets"}>
<!-- 调用ExtJS的脚本文件,当前指定的是所有脚本 -->
<{portlet name="ExtJS" view="javascripts" extra="all" debug=true}>
<!-- 执行Test1,也就是上面的文件 -->
<{portlet name="ExtJS" view="application" main="ExtJS:test.Test1"}>
</head>
<body>
<div id="extButton"></div>
This is body.
</body>
</html>
下面看看附件中的执行效果截图,页面中有三个元素:一个被禁用的按钮、一个文本和一个对话框。正好是执行的那两个。看起来,还是好用的。:)
DSC0000.gif
以下是输出HTML页面的源代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Extjs 2.0 Example Test</title>
<!-- 调用ExtJS自带的样式文件 -->
<link rel="stylesheet" type="text/css" href="/CMSPAD/kernel/../portlet/ExtJS/lib/resources/css/ext-all.css" />
<!-- 调用ExtJS的脚本文件,当前指定的是所有脚本 -->
<script type="text/javascript" src="/CMSPAD/kernel/../portlet/ExtJS/lib/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="/CMSPAD/kernel/../portlet/ExtJS/lib/ext-all-debug.js"></script>
<!-- 执行Test1,也就是上面的文件 -->
<script type="text/javascript">
Ext.onReady(function(){
var button = new Ext.Button({text:'hello world!',width:'500px',renderTo:'extButton'});
button.disable();
Ext.MessageBox.alert('Hello','World!');
});
</script>
</head>
<body>
<div id="extButton"></div>
This is body.
</body>
</html>目前UI系统之正在初级验证和架构阶段,封装了一些常用代码,把小家伙们累惨了*_*。待到进入Beta测试时,我会发布更多特性~~
大家还有什么想法,可以一起研究哦~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-358673-1-1.html 上篇帖子: ExtJS 2.0 的PHP封装 下篇帖子: php日期溢出问题解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表