`
Liner
  • 浏览: 138918 次
  • 性别: Icon_minigender_1
  • 来自: 西南边陲
社区版块
存档分类
最新评论

学写一个程序开发框架(PHP),灵感来源于ROR

阅读更多
先向各位高手们请个安。
我对ROR的了解很浅,仅仅是看了一遍它的说明手册……不太习惯没有分号的语句,所以没想进一步学Ruby,惭....

总的目标:
  1、简化程序的开发,提高速度;
  2、具有一定的配置灵活性和广泛的程序扩展性;
  3、提供良好的具有功能共性的代码或组件,并易于使用和集成。

基本特点:
  1、完全面向对象(和基于对象);
  2、充分利用文件系统——所有的东西都往数据库塞不太好吧?
  3、多数据库接口支持。
  4、组件/模块/方法 式结构,支持MVC划分。

先说这些,基本结构和逻辑已经完成,正在思考标准扩展组件……

………………………………………………………………………………………………………………………………
系统组件:
  1个标准组件:
  Auth -- 提供所有组件的用户基本管理和接口

  3个标准扩展组件:
  Admin -- 系统管理框架和组件管理接口
  Xhtml -- 组件静态化支持管理和接口
  CTemplate -- 组件编译型模板支持和管理

………………………………………………………………………………………………………………………………
优点:
  1、将用户的认证和基本管理抽取了出来,其它组件只需实现用户的授权管理即可。这样组件间的用户即可统一。
  2、除了对标准组件的依赖,组件之间没有任何的紧密耦合。同时组件可提供用于数据输出或操作的Helper,
    Helper可以被随意共享。(如Blog是一个组件,BBS是一个组件,如果Blog和BBS都提供一个接受文章的Helper,
    则可以实现本JE系统中Blog文章和BBS发贴的交互。)
  3、如果遵循框架的约定,其实任何互不相干的采用本框架的程序系统的组件都可以拿来就用(或者很少量修改),
    这可视为广泛的程序可扩展性。
  4、程序的框架代码由脚本自动生成,类定义基本骨架和约定命名也由脚本完成,程序员只需要写某个类的方法的
    实现即可。(准确的说是:分析需求,进行数据建模;在Model的方法中进行数据验证;在Controller的方法中
    进行程序逻辑控制;在View部分进行模板设计和编辑。)
分享到:
评论
5 楼 Jackphone 2007-12-21  
http://www.akelos.org/
这个怎么样?
4 楼 fnet 2007-09-26  
有道理,fleaphp的数据表入口用起来实在太方便,能够充分体现表关系
3 楼 Julien 2007-09-23  
我的感觉,cakephp也不如fleaphp简单方便
毕竟php的语言更加适合dataset而不是orm
2 楼 bencode 2007-09-21  
cakephp不复杂呀, 才300多K, 其实核心的才几个文件,花一天时间就可以把他MVC部分的源码搞清楚了

你可以看看,cakephp很大程度上也是仿ruby的
你提的这些需求cakephp已全部实现了,而且相关不错。
就是他的Model类比较大,嘿嘿。

你可以看看以下几个核心文件:

dispatcher.php
controller.php
model.php  // 很大, 浏览一下方法, 以及知道怎么要样组织Model之间的一对多,多对多联系就, 以及数据验证就可以了, 关于验证,可以参看我的blog http://bencode.iteye.com/admin/show/116756
view.php

然后在这几个文件中,会用到其他的一些文件,可以相应的来看源码, 就差不多知道他的工作方式了
1 楼 fnet 2007-09-08  
呵呵,我没有参照ROR,因为看到Cakephp的复杂,我自己写了自己的,我的框架把,商业逻辑完全独立了出来,通过接口与控制器通信,同时数据库部分从商业逻辑中独立出来。

相关推荐

    ThinkPHP开源的PHP框架

    ThinkPHP是一个开源的PHP框架,早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了 Struts的Action和Dao思想和JSP的TagLib...

    CakePHP php框架 v5.0.7

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.7.8.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.7.0 RC3.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.7.0 beta1.zip

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    CakePHP php框架 v3.8.5

    CakePHP 是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又...

    freemis 基于ror框架的mis

    freemis 基于ror框架的mis ruby on rails的一个很好实例

    thinkphp php开源框架

    ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和...

    ror实例

    ror实例ror实例ror实例

    ror

    NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696

    国内优秀框架ThinkPHP1.5.0新版+最新官方示例程序

    ThinkPHP是一个快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,并且永久免费使用,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。借鉴了国外很多优秀的框架和模式,使用面向对象的开发...

    RoR性能优化经验谈

    RoR性能优化经验谈,牛人对ror的优化,值得大家阅读

    ror中文资料

    ror中文资料ror中文资料

    SOA系列:开源框架Ruby on Rails

    Ruby on Rails, 也称RoR或简称Rails, 是一个使用Ruby语言写的开源网络应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。Rails是一个用Ruby编写的全栈...

    敏捷开发第二版ROR必看

    敏捷开发第二版,06年最佳出版物,学习ROR必看教程。。

    AspMvc框架 Web快速应用开发

    AspMvc是一个快速、简单的面向对象的轻量级Asp开发框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。 借鉴了国内外很多优秀的(Java Ssh/Net NetMvc3.5 ThinkPhp)框架和模式,使用面向对象的开发结构和MVC...

    初探ROR

    ROR 架构介绍及了解

    thinkphp3.0框架

    ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想架构来源于Struts,后来...

    PHP的开发框架的现状和展望

     随着Ruby on Rails的火爆,PHP这个流行的Web应用脚本语言也出现了大量的新一代开发框架。与此同时,国内PHP开发者也开始紧跟国外发展,推出了不同的开发框架。 Ruby on Rails催生变革  在RoR流行之前,PHP领域也...

    ThinkPHP 2.1 RC1 核心包,开源的PHP框架.zip

    ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想架构来源于Struts,...

Global site tag (gtag.js) - Google Analytics