您好,欢迎访问三七文档
YYUC开发手册版权申明发布本资料须遵守开放出版许可协议1.0或者更新版本。未经版权所有者明确授权,禁止发行本文档及其被实质上修改的版本。未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发行。有任何问题,请联系版权所有者admin@yyuc.net。YYUC-PHP框架官方地址。有关YYUC-PHP项目及本文档的最新资料,请及时访问项目主站。本文档及其描述的内容受有关法律的版权保护,对本文档内容的任何形式的非法复制,泄露或散布,将导致相应的法律责任。框架简介YYUC-PHP框架简介YYUC-PHP框架(本站简称YY框架)是一个面向自由开发者的框架,只需一个人就可以轻松搞定一个动态网站,或者是小型的信息系统建设。当然这并不是说YY框架只适用于小型系统,应用于多人开发的大型项目它同样极具优势。YY框架的设计初衷就是敏捷开发快速建站,由于是完全开源和免费的,很显然它将是小型企业和个人网络开发者的首选。YY框架是一个免费开源的,快速、简单的PHP开发框架,我们采取大道至简的原则,并不严格遵循面向对象的开发模式,追求极致的开发效率和运行效率才是我们的初衷。YY框架遵循Apache2开源协议发布,社区的个人和团队为其贡献力量,代码的贡献,审阅,测试每一个步骤都力求完美。使用YY框架,你可以更方便和快捷的开发和部署应用。不仅仅是网络应用,企业级应用开发更是可以从YY框架的简单、快速、稳定、高效的特性中受益。你可以免费使用YY框架,遵从Apache2开源协议我们允许把你基于YY框架开发开源或商业产品并将之发布或销售。优势所在Asp,J2ee,.net,php,RubyonRails......,到底要选择什么?在从事网络开发的几年里,以上的几种语言的项目都参与设计或开发过。我想通过以下几点简单的筛选帮您找到答案:1、先进性:很显然asp已经不再适应这一要求了。微软也不再主推它,没有先进的程序设计思想的支撑,没有面向对象的优势我想除了上世纪90年代开始开发的程序员,已经没有人再会选择他。2、学习成本:j2ee的开发首先要掌握java的基本程序设计基础,面向对象的思想,mvc框架结构,开源或者官方的框架平台,ssh(j2ee开发必修),ejb,rest等等等等,百家齐放的框架,累的程序员不亦乐乎。3、开放性(跨平台):.net是需要运行在其平台之上的,复杂的配置选项,常常弄得你不知道到底是业务优先还是配置优先了,当然.net的最大瓶颈还不在此,他所运行的Windows环境的服务效能是无法和linux平台相比的。4、敏捷性:敏捷开发无非强调开发的效率,以最低的人力投入完成设计开发、实现业务需求。曾经看到过处理一个数据表的crud操作的代码量的统计调查,java和C#大约在600行左右(包括配置文件),php(无框架)90行左右,RubyonRails60行左右。5、流行性:RubyonRails在国外已经非常流行了,但是我想开发过rails的程序员都有这么一个感受,一个功能Coding的时间是一个月,那其中的5天你要花在环境的搭建和相关插件的安装上。3天的时间要花在服务器环境的配置上。同样Rails和J2ee一样很难独立运行在虚拟主机上,对于自由开发者服务器成本也是一笔不小的开支。6、执行效率:j2ee更适合大型的企业级开发,因为基本上是局域网,服务器内存是10G级别的,所以我们的代码可以一堆再堆,反正不用考虑性能和带宽。放在互联网上j2ee就显的那么臃肿和笨重。坦率的讲,这一点上.net的优势倒也是很明显的,但是谁又会那么笨的首选Windows服务器呢。RoR和php都是解释执行的,没有编译这一步骤,可能效率上会有一定影响,但是您不要忘了,他们的底层都是C,大量的系统函数和扩展插件都是C解释编写的,在这种高度封装和扩展下,真正您自己的代码才有多少呢?php的最大优势是程序不常驻内存,虽然不能像java那样轻松的使用像application这样的全局对象了,但是php的服务内存是不会增长的,请求执行之后就会释放掉,像j2ee如果程序设计的不周全,WebServer内存就会越来越大,直至当机!YY框架是一个高效稳定的PHP框架,轻量级是她最大的优势。熟悉RubyOnRails的开发人员都知道约定优于配置的原则,这一原则简化了程序开发者的大量配置工作和框架思考。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开发环境搭建的可以去网上搜索下。相信学习这个框架的童鞋们也都不是菜鸟级的了。我习惯开发中直接用实际要发布的域名来做测试,这样将来发布后会省去一些不必要的麻烦。假如你的程序将来要发布到域名上,这里简单介绍一下方法:1、修改本机host,把你要测试开发的网络地址指向本地:用文本编辑器打开:C:\Windows\System32\drivers\etc\host文件最后一行添加:127.0.0.1上。2、打开apache的VirtualHosts配置文件建立添加虚拟网站文件映射。VirtualHost*:80ServerAdminmqqkobe@163.comDocumentRootD:/php/test/pubServerNameErrorLoglogs/dummy-host.somenet.com-error.logCustomLoglogs/dummy-host.somenet.com-access.logcommonDirectoryD:/php/test/pubOptionsFollowSymLinksAllowOverrideAllOrderallow,denyAllowfromall/Directory/VirtualHost3、根据上面的配置可以看出,需要把工程test的开发目录拷贝到D:/php下4、默认情况下把框架的参考系统源码目录也拷贝到D:/php下开发工具这里推荐eclipse的php开发工具(PDT),笔者是从java开始接触程序开发的所以推荐eclipse下载地址:一般下载allinone就好。本人本地配的域名是框架网站的主域名:127.0.0.1特别说明:1、因为示例中配置的域名是,所以下文所提到的地方你都需要自换成自己的域名。2、为了让你更了解YY框架的原理和构成,我们先介绍几个简单的示例再介绍开发管理中心的使用,虽然开发管理中心会帮助我们省去一些敲代码的工作量,但是作为初学者,还是建议你一步一步的往下看。Nginx的配置:linux下我们更常用nginx来代替apache完成页面请求转发的工作,下面是在一个简单的nginx配置示例:userworker_processes1;error_log/home/pid/usr/local/nginx/logs/nginx.pid;#Specifiesthevalueformaximumfiledescriptorsthatcanbeopenedbythisprocess.worker_rlimit_nofile51200;events{useepoll;worker_connections51200;}http{includemime.types;default_typeapplication/octet-stream;server_names_hash_bucket_size128;client_header_buffer_size32k;large_client_header_buffers432k;client_max_body_size50m;sendfileon;tcp_nopushon;keepalive_timeout60;tcp_nodelayon;fastcgi_connect_timeout300;fastcgi_send_timeout300;fastcgi_read_timeout300;fastcgi_buffer_size64k;fastcgi_buffers464k;fastcgi_busy_buffers_size128k;fastcgi_temp_file_write_size256k;gzipon;gzip_min_length1k;gzip_buffers416k;gzip_http_version1.0;gzip_comp_level2;gzip_typestext/plainapplication/x-java
本文标题:YYUC开发手册
链接地址:https://www.777doc.com/doc-2859055 .html