`

基于ThinkPHP的快速原型构建

    博客分类:
  • php
阅读更多

思路更像springside之于spring(自己对springside了解颇少,此语可能有误)

 

ThinkPHP(下文简称TP)已经解决了Php Web开发常遇到问题之1,2,3,4

 

以往用TP做过一些小东东,以偶的小小经验总结写下此文,愿能帮助Phper在Web开发中更方便的解决问题5,6,7,8——偶喜欢用些数字指代,请童鞋们自己看看相关文档和代码就好理解了。

 

具体切入点(基于TP的扩展方面——本身TP设计为Plugin的架构)

 

1. 常用的第三方方法和类库 —— 比如captcha,mail,chart,dbbackup-restore等;

2. 加入一些方便的全局变量和方法,比如专门做Memcache的save/get,把lite版本(TP1.5)中的Model重写为SModel只做简单的数据库sql操作,针对Tpl(TP的页面模板引擎)的常量设定;

3. 针对数据库应用的后台作业(数据维护)的自动化以减少重复性开发;

4. 重写了RBAC(建模类由一些关系字符串和方法取代);

5. 在MVC的Action(业务处理器?)层继承扩展了Action并加入了一些常用方法,比如Form Token Check,Authorization Filter等。类比下,就是Spring MVC中实现Controller接口的那些AbstractController之类;

6. 在视图层,对页面元素(css/js/image)等,尤其是其路径,做了大量的约定以便于开发保持一致,具体看Public目录,(偶比较喜欢JQuery);

7. 在开发支持方面,用Groovy AntBuilder写了一些脚本辅助一下。Xrails的create domain / controller之类,不过没细写;

8. 本打算用PHP仿照Fireflow实现一个工作流引擎,后来发现偶实在是有心无力(没这个本事),目前用Groovy在仿写,有了phprpc,多语言交互显得很容易了(貌似php client调用java server的效率很低?)。

 

白话了不少,估计自己写的代码质量不高,童鞋们看看,拍拍砖——虽然偶一直工作在Java一线,心里真切期望Php在Web开发上多发挥自身优势,汲取Java的A/B/C/D,day day up啊!

 

附上的代码都是基于TP1.5版本的。

 

再最后一句——editplus真是很强大啊!

 

分享到:
评论
9 楼 cevin 2010-10-29  
vb2005xu 写道
TP 基本都抄 rbac抄 flea的 很多东西都抄 ...晕


A说:1+1 = 2
然后B说:1+1=2
然后一群人说B抄A的。

不知道你看懂了么?
8 楼 vb2005xu 2010-09-10  
TP 基本都抄 rbac抄 flea的 很多东西都抄 ...晕
7 楼 joy_monkey 2010-09-10  
好的编辑器应该是这样的:
1、支持尽可能多语言类型的语法高亮;
2、支持源码文件编码类型设置、转换、识别;
3、支持源码换行符类型设置、转换、识别;
4、广泛的自定义功能:语法高亮、代码片段、函数列表、FTP/SFTP、等等;
5、支持块编辑操作;
6、支持宏;
7、支持插件;
8、支持自定义第三方工具;
9、便利的编辑功能:比如行调换、行删除、插入日期等;
10、行号、标尺、页边距的显示设置
11、多文件搜索查找

按这些标准评价下来,合格的也就PsPad、Ultraedit、EmEdit、Editplus。
如果你鄙视用盗版破解版,那么首选PsPad Editor。

而Notepad2、Notepad++对文件编码类型转换上总是差那么一点,选择utf-8无法进一步选择带不带BOM(新版Notepad++可以设置新建文档编码格式为without BOM了),不能不说是个缺憾啊
6 楼 化蝶自在飞 2010-05-19  
EditPlus确实强大,呵呵.尤其是修改远程文件,用它的ftp连接功能,一个优雅的进度条征服一切,哎.CuteFTP和FlashFXP只能打杂了.
5 楼 key232323 2010-04-21  
话说,其中有点装**,

人家“骨灰级”不都是喜欢notepad么,
俺虽小菜菜,心中向往一下,也可以哦!

4 楼 key232323 2010-04-21  
phpxiaoxin 写道
tp都2.0了你怎么还1.5?
editplus怎么强大了,我一直使用基于idea的web storm,现在是php strom了,

tp里面的权限控制不知道在哪里有文档介绍。RBAC这些东西是啥意思?还有session::应该不是原生的php吧?


新版本,代码和以前相比,也只是重构,

1.5,咱自己也可以重构么,毕竟文档和代码注释写得那么详尽,而且不一定版本越高越好。

TP的rbac实现,核心是基于MODULE and ACTION的,比较粗粒度,自己抽象下资源,然后自己重写个简单的rbac,不算难啊。RBAC是权限访问的一个策略模式吧(基于角色的访问控制)。

TP对session封装了下,但复杂对象还是要进行手工显示的序列化和反序列化,比原生态,效率低不多少,用着方便。

TP的MVC也有数据绑定的功能,直接到Model的,但个人认为不方便,所以自己做了个所谓的于比较贫血的域对象模型。

Well,用TP做东东,做习惯了,推荐或给点高的评价,也正常,大家熟悉的互相讨论下么。

至于Editplus,其强大,不是因为他本身作为哪个编辑器功能很强,而是我个人感觉它提供的几个很好功能,我用得很熟练而且觉得很实用,所以就说它很强大——比如它的快捷键比eclipse常用的多,举几个具体例子,
find in directory,change to current directory, new template(1-10) file, user tools change and execute,
new / delete / rename file or direcotry, duplicate lines, strip tags, to upper/lower case...等,不过这个也是个人喜欢,eclipse通过设置也不差,vi(m)/jedit要实现,借助很多Plugin货自己要写好多script,比较麻烦。

一般我做java这种需要compile的,喜欢用大点的IDE,小的,还是喜欢ep,比较也快速拉
3 楼 phpxiaoxin 2010-04-21  
tp都2.0了你怎么还1.5?
editplus怎么强大了,我一直使用基于idea的web storm,现在是php strom了,

tp里面的权限控制不知道在哪里有文档介绍。RBAC这些东西是啥意思?还有session::应该不是原生的php吧?
2 楼 songduanlei 2010-03-29  
editplus确实是不错的开发工具,不过个人觉得eclipse+pht开发php也不错
1 楼 freedomstyle 2010-03-28  
editplus真是很强大啊???????强大在哪里?

相关推荐

    基于ThinkPHP6.1和Layui2.8的快速开发的后台管理系统。.zip

    标题 "基于ThinkPHP6.1和Layui2.8的快速开发的后台管理系统" 描述了一个使用现代PHP框架ThinkPHP6.1和前端UI框架Layui2.8构建的高效后台管理解决方案。这个系统可能是一个适用于各种业务场景的通用型管理平台,尤其...

    html5+javascript+jQuery+php5+smarty完全中文手册+ThinkPHP快速入门手册打包下载

    JavaScript是一种解释型的、基于原型的对象导向语言,常用于网页交互和动态效果。关键知识点有: 1. DOM操作:通过JavaScript可以对HTML文档进行增删改查,实现动态更新页面。 2. AJAX:异步JavaScript和XML,允许...

    thinkphp.zip

    其“敏捷开发”的理念,使得ThinkPHP成为许多中小型项目和快速原型开发的首选。 在"thinkphp.zip"文件中,我们可以期待找到关于以下主题的详细资料: 1. **环境搭建**:如何在本地或服务器上安装PHP环境,如XAMPP...

    cmf.rar_phpcmf_phpcmf、 thinkphp_simplebootx_thinkPHP后台_thinkphp

    【标签】中的 "simplebootx" 是 thinkphp 框架的一个简洁版本,专为快速开发和原型设计而设计,具有轻量级、高效的特性。"thinkphp后台" 再次强调了这个项目的核心是用于构建后台管理系统。"phpcmf" 标签则表明这个...

    小型医疗门诊挂号系统 医院管理系统后台thinkphp内核源码.zip

    本文将深入解析一款基于ThinkPHP框架构建的小型医疗门诊挂号系统,该系统集成了第三方配置及微信登录功能,旨在为医疗机构提供全面、便捷的资料管理解决方案。 首先,我们要了解ThinkPHP框架。ThinkPHP是一款国内...

    ThinkPHP 5.0.24 核心版

    1. 快速原型开发:ThinkPHP 5.0.24的简洁设计使得开发者可以快速搭建项目原型,减少前期开发时间,提高工作效率。 2. 企业级应用:在大型企业项目中,ThinkPHP 5.0.24的模块化设计、强大的权限管理以及优秀的性能...

    ThinkPHP v5.0.19 完整版

    在【描述】中提到,ThinkPHP强调敏捷开发,这表明框架支持快速原型设计和迭代,能够迅速响应需求变化。它提供了丰富的内置组件和工具,如路由系统、数据库操作、模板引擎、缓存管理等,使得开发者可以快速构建复杂的...

    个人简易博客系统.rar

    描述中提到的“基于ThinkPHP”表明这个博客系统使用了ThinkPHP框架。ThinkPHP是中国的一款开源PHP框架,它简化了Web应用开发流程,提供了丰富的功能和良好的性能。开发者可以利用其MVC模式、模型-视图-控制器架构来...

    sunjunfengcms1.2版本下载

    基于ThinkPHP的CMS系统的一大优势是可扩展性。开发者可以利用其丰富的插件和模块系统,添加自定义功能或集成第三方服务。此外,ThinkPHP的文档齐全,社区活跃,遇到问题时能找到大量的解决方案和支持。 在压缩包中...

    签到系统-小程序-后台都有.zip

    这是一个基于ThinkPHP5框架开发的在线签到系统,包含了前端移动端页面、小程序端以及后台管理系统。这个系统的主要功能是提供在线签到服务,方便管理员管理课程及学员信息,监控学员的签到情况。 首先,我们要了解...

    带前台后台的简单模板

    【描述】"带前后台的简单模板,基于thinkphp模板的PHP"揭示了该模板的核心特点。ThinkPHP是一款强大的PHP框架,它提供了一套完整的MVC(模型-视图-控制器)架构,有助于提高开发效率,降低代码复杂度。通过使用...

    环境监测管理系统后台模板

    总结来说,“环境监测管理系统后台模板”是一个集成了ThinkPHP和easyUI的开发框架,它提供了一个基础的环境监控系统结构,方便开发者快速构建和扩展功能。通过这个模板,开发者可以专注于业务逻辑和功能创新,而无需...

    多小区物业管理系统.zip

    《多小区物业管理系统:基于ThinkPHP5与Bootstrap的高效解决方案》 物业管理系统是现代社区管理的重要组成部分,它涉及日常运营、资源调度、服务提供等多个环节。本系统——"多小区物业管理系统",采用ThinkPHP5...

    thinPHP6.0 demo(已经安装好驱动)

    ThinPHP6.0是基于PHP语言的轻量级框架,其设计目标是让开发者能够快速地构建简单但功能完备的应用程序。在这个“thinPHP6.0 demo”中,您已经得到了一个预先安装好驱动的环境,这对于初学者或快速原型开发来说非常...

    2021-12-29.rar

    豆瓣是一个集书影音评分、社区讨论和推荐功能于一体的平台,因此这个项目可能旨在实现类似的功能,但规模较小,适合初学者或者快速原型开发。 【标签】"实战/PHP/thinkphp" 提供了更多关于项目的技术栈信息。"实战...

    tp6:小项目6

    "tp6:小项目6" 这个标题表明我们正在讨论一个基于ThinkPHP6(简称tp6)框架的小型Web项目。ThinkPHP6是PHP开发的一个流行框架,它提供了丰富的功能和高效的性能,使得开发者能够快速构建Web应用。"小项目6"可能是指...

    B2C电商小程序系统

    这里以标签"tp5小程序"为例, TP5框架(ThinkPHP 5)是一种流行的PHP框架,用于构建后端服务。前端则利用微信小程序开发工具,基于WXML(微信小程序标签语言)和WXSS(微信小程序样式语言)进行页面布局和样式设计,...

    js+php 14套手册

    最后是ThinkPHP手册,这是一个基于PHP的轻量级框架,适用于快速开发Web应用: 1. **MVC模式**:理解模型-视图-控制器架构的基本原理和应用。 2. **路由系统**:如何配置和使用路由规则来处理URL请求。 3. **数据库...

    PHP开发工程师的岗位职责(最新).pdf

    PHP开发工程师是负责构建和维护基于PHP语言的Web应用程序的专业人员。他们的主要职责包括: 1. **项目结构设计与核心模块开发**:开发工程师需负责主要项目的架构设计,实现架构原型,并对核心模块进行开发,确保...

Global site tag (gtag.js) - Google Analytics