Yyuc-php框架的制作方法
【技术领域】
[0001]YYUC是一个基于PHP的高效的Web开发框架。PHP是在服务器端执行的脚本语言,具有简单易用、执行效率高和跨平台性好等优点,是目前最受欢迎的Web开发语言之一。
【背景技术】
[0002]Asp,J2ee,.net, php,Ruby on Rails......,到底要选择什么?在从事网络开发的几年里,以上的几种语言的项目都参与设计或开发过。笔者通过以下几点简单的筛选帮您找到答案:
1、先进性:很显然asp已经不再适应这一要求了。微软也不再主推它,没有先进的程序设计思想的支撑,没有面向对象的优势我想除了上世纪90年代开始开发的程序员,已经没有人再会选择他。
[0003]2、学习成本:j2ee的开发首先要掌握java的基本程序设计基础,面向对象的思想,mvc框架结构,开源或者官方的框架平台,ssh(j2ee开发必修),ejb,rest等等等等,百家齐放的框架,累的程序员不亦乐乎。
[0004]3、开放性(跨平台):.net是需要运行在其平台之上的,复杂的配置选项,常常弄得你不知道到底是业务优先还是配置优先了,当然.net的最大瓶颈还不在此,他所运行的Windows环境的服务效能是无法和linux平台相比的。
[0005]4、敏捷性:敏捷开发无非强调开发的效率,以最低的人力投入完成设计开发、实现业务需求。曾经看到过处理一个数据表的crud操作的代码量的统计调查,java和C#大约在600行左右(包括配置文件),php (无框架)90行左右,Ruby on Rails 60行左右。
[0006]5、流行性:Ruby on Rails在国外已经非常流行了,但是我想开发过rails的程序员都有这么一个感受,一个功能Coding的时间是一个月,那其中的5天你要花在环境的搭建和相关插件的安装上。3天的时间要花在服务器环境的配置上。同样Rails和J2ee—样很难独立运行在虚拟主机上,对于自由开发者服务器成本也是一笔不小的开支。
[0007]6、执行效率:j2ee更适合大型的企业级开发,因为基本上是局域网,服务器内存是10G级别的,所以我们的代码可以一堆再堆,反正不用考虑性能和带宽。放在互联网上j2ee就显的那么臃肿和笨重。坦率的讲,这一点上.net的优势倒也是很明显的,但是谁又会那么笨的首选Windows服务器呢。RoR和php都是解释执行的,没有编译这一步骤,可能效率上会有一定影响,但是您不要忘了,他们的底层都是C,大量的系统函数和扩展插件都是C解释编写的,在这种高度封装和扩展下,真正您自己的代码才有多少呢? php的最大优势是程序不常驻内存,虽然不能像java那样轻松的使用像applicat1n这样的全局对象了,但是php的服务内存是不会增长的,请求执行之后就会释放掉,像j2ee如果程序设计的不周全,Web Server内存就会越来越大,直至当机
经过以上分析,php作为web开发语言就是首选了。
[0008]由于PHP5之前的PHP版本对面向对象支持不完善,导致PHP的开发框架研究从PHP5发布后才逐渐展开。在发展过程中又受到Structs和R0R框架的严重影响,没有充分考虑PHP语言的特点,造成在PHP领域,框架的普及情况远远不如Java领域。
[0009]YYUC框架技术
团队来自不同公司研发部门的技术骨干,在多年的程序猿生涯中接触的PHP框架如Laravel、ThinkPHP、CodeIgniter、Symfony等。开发团队就框架的MVC设计模式、模板解析引擎和数据访问层及其在PHP中实现的主流方式和优缺点进行了持久的讨论分析发现在不同程度上,以上框架普遍存缺陷。笔者就以Laravel做简单分析。
[0010]Laravel是一个简单优雅的PHP WEB开发框架,将你从意大利面条式的代码中解放出来。通过简单、优雅、表达式语法开发出很棒的WEB应用!
但是通过使用我们发现Laravel在开发效率和运行效率上都存在瓶颈。如此优秀的框架都存在诸多问题。
【发明内容】
[0011]基于此我们在公司现有框架的基础上参照诸多框架(不限于php语言也参照java和ruby)的优点完成一个自主设计的框架。自此,YYUC框架的开发团队征集并完成组建,不断的讨论、编码、测试、内部开发和合作伙伴推广,一个完整的版本就此形成。
[0012]YY框架是一个高效稳定的PHP框架,轻量级是她最大的优势。熟悉Ruby On Rails的开发人员都知道约定优于配置的原则,这一原则简化了程序开发者的大量配置工作和框架思考。YY框架很大程度上借鉴并优化了 Rails的这一设计思想。毫不夸张的讲有了 YY框架其他的PHP框架就显得有些失色。要么全面而笨重,要么简单而不稳定,要么配置复杂难于学习和理解。
【主权项】
1.YYUC-PHP框架遵循开发运行一切从简的原则,用强大的框架核心支撑基于YY框架的业务代码,一部分重要的特性和优点列举如下:智能路由MVC架构,预编译机制,自动类库导入,ORM和验证统一,优化查询语言,动态和静态模型互补,高效模板引擎,前后台统一AJAX规则,国际化支持,缓存机制,多网站并存机制,多库并存机制。2.根据权利要求1所述YYUC-PHP框架,其特性在于开发人员运用智能路由框架MVC可以方便的设计系统URL规则,不再需要定义单一的类,而是采用传统的目录结构处理用户请求,与传统的Php开发做到了很好的技术过度,项目层次更加直观明料。3.根据权利要求1所述YYUC-PHP,其特性在于运用了具有独有模式转换功能,一键切换开发模式和生产模式的预编译机制,根据不同的模式采取不同的编译方案,特有的JS,CSS等文本文件的压缩机制和GZip压缩输出机制,最大效率的利用网络带宽。4.根据权利要求1所述YYUC-PHP框架,其特性在于运用自动类库导入,实现插件库均采用动态自动加载的方案进行按需加载,开发者无需手动引入,提高开发效率。5.根据权利要求1所述YYUC-PHP框架,其特性在于运用简洁轻巧的ORM实现,配合简单的CURD操作接口让开发效率得到极大的提高,更有前后台统一验证规则,让开发人员无需重复劳动,JS验证和PHP入库验证无缝衔接。6.根据权利要求1所述YYUC-PHP框架,其特性在于优化了查询了语言,内建丰富的查询机制,包括组合查询、快捷查询、复合查询、区间查询、统计查询、定位查询、多表查询、子查询、动态查询和原生查询,让你的数据查询简洁高效。7.根据权利要求1所述YYUC-PHP框架,其特性在于无需创建任何对应的模型类,轻松完成CURD操作,对于负载的DB模型处理,开发者可以采用自动生成的静态模型,进行虚拟字段的填充与回写,数据有效性的验证,模型功能的扩展等,实现了动态和静态的模式互补。8.根据权利要求书I所述YYUC-PHP框架,其特性在于拥有高效模版引擎,YY框架自建的模板编译执行引擎,最大限度的贴合原生Php写法,让初学者更容易上手,高级开发人员更灵活应用。9.根据权利要求书I所述YYUC-PHP框架,其特性在于采用前后台统一AJAX规则,三行js代码和一行php代码就可以完成ajax异步请求操作,极大的提高了开发效率和用户体验。10.根据权利要求书I所述YYUC-PHP框架,其特性在于有国际化支持,采用先进易读的yaml标记语言,用户语言自动检测和默认指定,全站国际化和部分国际化并存,缓存国际化识别引擎为开发者提供极速的多语言网站开发效率。11.根据权利要求书I所述YYUC-PHP框架,在缓存机制上的突出特性表现在,系统支持跨服务器缓存,数据检测机制缓存,时间过期机制缓存,基本文件缓存等多种缓存规则,最大限度的利用缓存功能减少服务器开销。12.根据权利要求书I所述YYUC-PHP框架,其特性表现在即使你用的是一个虚拟主机,在服务商不允许架设多个网站,YY框架可以通过内置的路由规则为你解决这一问题,实现多网站并存机制。13.根据权利要求书I所述YYUC-PHP框架,其特性表现在具有多库并存机制,运用集成多库集成调用方式,内置了分布式数据库的支持可以通过程序切换数据库连接,不人为指定的情况下自动实现主从式数据库的读写分离等(注意:主从数据库的数据同步工作不在框架实现,需要数据库考虑自身的同步或者复制机制。
【专利摘要】YYUC是一个基于PHP的高效的Web开发框架。PHP是在服务器端执行的脚本语言,具有简单易用、执行效率高和跨平台性好等优点,是目前最受欢迎的Web开发语言之一。YYUC框架是一个高效稳定的PHP框架,轻量级是她最大的优势。它具有学习成本低、开发性(跨平台)、敏捷性、执行效率高等诸多优点。它基于约定优于配置的原则,这一原则简化了程序开发者的大量配置工作和框架思考。YY框架很大程度上借鉴并优化了这一设计思想。毫不夸张的讲有了YY框架其他的PHP框架就显得有些失色。要么全面而笨重,要么简单而不稳定,要么配置复杂难于学习和理解。
【IPC分类】G06F9/44
【公开号】CN105242913
【申请号】CN201510386336
【发明人】孟庆群, 冯柳
【申请人】临沂优狐网络科技有限公司, 孟庆群, 冯柳
【公开日】2016年1月13日
【申请日】2015年7月6日