`
Liner
  • 浏览: 141651 次
  • 性别: 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的复杂,我自己写了自己的,我的框架把,商业逻辑完全独立了出来,通过接口与控制器通信,同时数据库部分从商业逻辑中独立出来。

相关推荐

    freemis 基于ror框架的mis

    RoR是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它遵循“Don't Repeat Yourself”(DRY)原则,强调简洁和生产力。RoR使用Ruby语言,以其优雅的语法和强大的元编程能力,使得开发者可以快速地构建...

    ror留言板程序

    "ror留言板程序"是一个基于Ruby on Rails框架开发的简单应用,它主要用于实现用户在网站上留言和查看他人留言的功能。Ruby on Rails(简称RoR)是用Ruby语言编写的开源Web应用程序框架,遵循MVC(Model-View-...

    敏捷开发第二版ROR必看

    在编程领域,Ruby on Rails(简称ROR)是一个深受开发者喜爱的开源Web应用程序框架,它基于Ruby语言,强调简洁、高效的代码编写。"敏捷开发第二版ROR必看"这个主题,指的是对敏捷开发方法论与Ruby on Rails的结合...

    ror中文资料

    Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”,提供了一套完整的工具链,使得开发者...

    初探ROR

    Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat Yourself”(DRY,...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    ThinkPHP开源的PHP框架

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

    RoR性能优化经验谈

    RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...

    ThinkPHP是一个快速、简单且基于MVC和面向对象的轻量级PHP开发框架.docx

    ThinkPHP是一个快速、简单且基于MVC(模型-视图-控制器)和面向对象的轻量级PHP开发框架。它由中国开发者创造和维护,自2006年初诞生以来,一直秉承简洁实用的设计原则,为开发者提供了丰富的功能和工具,支持快速...

    ROR安装必备所有架包

    `rake`是一个Ruby的构建工具,类似于Java的Ant或Python的setup.py。`rake-0.7.3.gem`使得你可以定义任务,并通过命令行执行,简化了项目的构建、测试和部署流程。 `actionwebservice`是Rails早期版本中用于创建Web...

    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应用,而 又...

    ror实例

    "ror实例"可能指的是在学习或实践中,通过创建一个具体的Rails应用程序来理解和掌握RoR的工作原理和最佳实践。 在Ruby on Rails中,重要知识点包括: 1. **Gemfile与Gemfile.lock**:项目中的Gemfile用于指定项目...

    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应用,而 又...

    ROR介绍演讲课件 ruby on rails

    TDD(测试驱动开发)也是RoR强调的一个重要方面,它鼓励开发者先写测试,再编写满足测试的代码,确保软件质量。 Rails社区活跃,拥有丰富的插件和gem(Ruby的库包),如Devise用于身份验证,CanCanCan进行权限控制...

    我的ror的第一天

    标题 "我的ror的第一天" 暗示了这是一个关于Ruby on Rails(简称RoR)的初学者经验分享,RoR是基于Ruby语言的开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程更加高效。 在描述中提到的...

    thinkphp php开源框架

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

Global site tag (gtag.js) - Google Analytics