YYUC开发手册
版权申明
发布本资料须遵守开放出版许可协议 1.0 或者更新版本。
未经版权所有者明确授权,禁止发行本文档及其被实质上修改的版本。 未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发行。
有任何问题,请联系版权所有者 admin@yyuc.net 。
YYUC-PHP框架官方地址http://www.yyuc.net 。有关YYUC-PHP项目及本文档的最新资料,请及时访问项目主站。
本文档及其描述的内容受有关法律的版权保护,对本文档内容的任何形式的非法复制,泄露或散布,将导致相应的法律责任。
框架简介
YYUC-PHP框架简介
YYUC-PHP框架(本站简称YY框架)是一个面向自由开发者的框架,只需一个人就可以轻松搞定一个动态网站,或者是小型的信息系统建设。当然这 并不是说YY框架只适用于小型系统,应用于多人开发的大型项目它同样极具优势。YY框架的设计初衷就是敏捷开发快速建站,由于是完全开源和免费的,很显然 它将是小型企业和个人网络开发者的首选。
YY框架是一个免费开源的,快速、简单的PHP开发框架,我们采取大道至简的原则,并不严格遵循面向对象的开发模式,追求极致的开发效率和运行效率 才是我们的初衷。YY框架遵循Apache2开源协议发布,社区的个人和团队为其贡献力量,代码的贡献,审阅,测试每一个步骤都力求完美。
使用YY框架,你可以更方便和快捷的开发和部署应用。不仅仅是网络应用,企业级应用开发更是可以从YY框架的简单、快速、稳定、高效的特性中受益。 你可以免费使用YY框架,遵从Apache2开源协议我们允许把你基于YY框架开发
开源或商业产品并将之发布或销售。
优势所在
Asp,J2ee,.net,php,Ruby on Rails......,到底要选择什么?在从事网络开发的几年里,以上的几种语言的项目都参与设计或开发过。我想通过以下几点简单的筛选帮您找到答案:
1、先进性:很显然asp已经不再适应这一要求了。微软也不再主推它,没有先进的程序设计思想的支撑,没有面向对象的优势我想除了上世纪90年代开始开发的程序员,已经没有人再会选择他。
2、学习成本:j2ee的开发首先要掌握java的基本程序设计基础,面向对象的思想,mvc框架结构,开源或者官方的框架平台,ssh(j2ee开发必修),ejb,rest等等等等,百家齐放的框架,累的程序员不亦乐乎。
3、开放性(跨平台):.net是需要运行在其平台之上的,复杂的配置选项,常常弄得你不知道到底是业务优先还是配置优先了,当然.net的最大瓶颈还不在此,他所运行的Windows环境的服务效能是无法和linux平台相比的。
4、敏捷性:敏捷开发无非强调开发的效率,以最低的人力投入完成设计开发、实现业务需求。曾经看到过处理一个数据表的crud操作的代码量的统计调 查,java 和 C#大约在600行左右(包括配置文件),php(无框架) 90行左右,Ruby on Rails 60行左右。
5、流行性:Ruby on Rails在国外已经非常流行了,但是我想开发过rails的程序员都有这么一个感受,一个功能Coding的时间是一个月,那其中的5天你要花在环境的 搭建和相关插件的安装上。3天的时间要花在服务器环境的配置上。同样Rails和J2ee一样很难独立运行在虚拟主机上,对于自由开发者服务器成本也是一 笔不小的开支。
6、执行效率:j2ee更适合大型的企业级开发,因为基本上是局域网,服务器内存是10G级别的,所以我们的代码可以一堆再堆,反正不用考虑性能和 带宽。放在互联网上j2ee就显的那么臃肿和笨重。坦率的讲,这一点上.net的优势倒也是很明显的,但是谁又会那么笨的首选Windows服务器呢。 RoR 和php都是解释执行的,没有编译这一步骤,可能效率上会有一定影响,但是您不要忘了,他们的底层都是C,大量的系统函数和扩展插件都是C解释编写的,在 这种高度封装和扩展下,真正您自己的代码才有多少呢?php的最大优势是程序不常驻内存,虽然不能像java那样轻松的使用像application这样 的全局对象了,但是php的服务内存是不会增长的,请求执行之后就会释放掉,像j2ee如果程序设计的不周全,Web Server内存就会越来越大,直至当机!
YY框架是一个高效稳定的PHP框架,轻量级是她最大的优势。熟悉Ruby On Rails的开发人员都知道约定优于配置的原则,这一原则简化了程序开发者的大量配置
工作和框架思考。YY框架很大程度上借鉴并优化了Rails的这一设 计思想。毫不夸张的讲有了YY框架其他的PHP框架就显得有些失色。要么全面而笨重,要么简单而不稳定,要么配置复杂难于学习和理解。
很高兴的告诉你,恭喜你找到了YY框架,高效的开发会让你将网络程序设计视为生活的一种享受。
特点及性能
YY框架借鉴了国内外很多优秀的框架和模式,并在这些设计思想的基础上进行了优化和改进,遵循开发运行一切从简的原则,用强大的框架核心支撑基于YY框架的业务代码,一部分重要的特性和优点列举如下: 智能路由MVC架构:
YY框架采用智能路由架构模式。利用这一的匹配模式,开发人员可以方便的设计系统URL规则,不再需要定义单一的控制器类,而是采用传统的目录结构处理用户请求,与传统的php开发做到了很好的技术过度。 项目层次直观明了。 预编译机制:
独有的模式转换功能,一键切换开发模式和生产模式。根据不同的模式采取不同的编译方案。特有的JS,CSS等文本文件的压缩机制和GZip压缩输出机制,最大效率的利用网络带宽。 自动类库导入:
YY框架的所有插件库均采用动态自动加载的方案进行按需加载,开发者无需手动引入,提高开发效率。 ORM和验证统一:
简洁轻巧的ORM实现,配合简单的CURD操作接口让开发效率得到极大的提高,更有前后台统一验证规则,让开发人员无需重复劳动,JS验证和PHP入库验证无缝衔接。 优化查询语言:
内建丰富的查询机制,包括组合查询、快捷查询、复合查询、区间查询、统计查询、定位查询、多表查询、子查询、动态查询和原生查询,让你的数据查询简洁高效。
动态和静态模型互补:
无需创建任何对应的模型类,轻松完成CURD操作。对于负载的DB模型处理,开
发这可以采用自动生成的静态模型,进行虚拟字段的填充与回写,数据有效性的验证,模型功能的扩展等等。 高效模板引擎:
YY框架自建的模板编译执行引擎,最大限度的贴合原生php写法,让初学者更容易上手,高级开发人员更灵活应用。 前后台统一AJAX规则:
前后台ajax互动高度统一,三行js代码和一行php代码就可以完成ajax异步请求操作,极大的提高了开发效率和用户体验。 国际化支持:
先进易读的yaml标记语言,用户语言自动检测和默认指定。全站国际化和部分国际化并存,缓存国际化识别引擎为开发者提供极速的多语言网站开发效率。 缓存机制:
系统支持跨服务器缓存,数据检测机制缓存,时间过期机制缓存,基本文件缓存等多种缓存规则,最大限度的利用缓存功能减少服务器开销。 多网站并存机制:
即使你用的是一个虚拟主机,在服务商不允许架设多个网站,YY框架可以通过内置的路由规则为你解决这一问题。 多库并存机制:
YY框架集成多库集成调用方式,内置了分布式数据库的支持可以通过程序切换数据库连接,不人为指定的情况下自动实现主从式数据库的读写分离等(注意:主从数据库的数据同步工作不在框架实现,需要数据库考虑自身的同步或者复制机制。)。
简明教程
基础准备
不懂php开发环境搭建的可以去网上搜索下。相信学习这个框架的童鞋们也都不是菜鸟级的了。 我习惯开发中直接用实际要发布的域名来做测试,这样将来发布后会省去一些不必要的麻烦。 假如你的程序将来要发布到域名www.test.com上,这里简单介绍一下方法:
1、修改本机host ,把你要测试开发的网络地址指向本地: 用文本编辑器打开:C:\\Windows\\System32\\drivers\\etc\\host 文件 最后一行添加:
? 127.0.0.1 www.test.com
这样从你本机的浏览器请求网址www.test.com 都会被解析到你的本机ip : 127.0.0.1上。
2、打开apache的 Virtual Hosts配置文件 建立添加虚拟网站文件映射。 ?
? ServerAdmin mqqkobe@163.com ? DocumentRoot \? ServerName www.test.com
? ErrorLog \
? CustomLog \?
3、根据上面的配置可以看出,需要把工程test的开发目录拷贝到D:/php下 4、默认情况下把框架的参考系统源码目录也拷贝到D:/php下
开发工具
这里推荐eclipse的php开发工具(PDT),笔者是从java开始接触程序开发的所以推荐eclipse 下载地址:http://eclipse.org/pdt/downloads/ 一般下载all in one就好。
本人本地配的域名是框架网站的主域名: ?? 127.0.0.1 www.yyuc.net
特别说明:
1、因为示例中配置的域名是www.yyuc.net,所以下文所提到 www.yyuc.net的地方你都需要自换成自己的域名。