`
hanssonlan
  • 浏览: 13645 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

用php写一个框架(一)

    博客分类:
  • php
阅读更多
“博客”这个词已经有好几年了,然今天我才认真的准备写一篇。
08年4月21日,一个平凡的日子,心血来潮,突然想用php一个web框架。
ruby on rails也有些日子了,这是我接触的第一个web开发框架,也是唯一接触的框架。说来惭愧,事实上,菜鸟、新手更适合对我的称谓。打住...
框架文件结构:和rails一样
语言:php
时间:2个半月
版本:0.0.9
php的web框架很多,也有很好的口碑,自己写一个只是想写了自己开心,用的时候好用一点。
第一天,写出了mvc原型,心情很不错
接下来,保证了他能工作的情况下,继续开发,
第一步是控制层,控制层是相对比较好些的,首先是路由的分析和解析
总共有两个核心的函数 Routing#parse() 和url_for()
Routing#parse()用来把传进来的url解析程序要的数组的键值对
如:http://localhost/blog/show/12通过路由配置
   Routing::connect (':controller/:action/:id');
  解析成:
      array('controller'=>"blog", 'action'=>"show", 'id'=>12)
url_for()相当于Routing#parse()反向操作。
这个是控制层花费时间比较多的。

再来就是写了model层,这是整个框架花了最多精力和时间的地方,很多版本就只是对model层的修改,改过来改回去,改回来又改回去,最后我得出一个结论,php写不了activerecord,所以做了很多折中,譬如说,model的类中
<?php
class City extends ActiveRecord{
	#做一些初始化工作的函数
	static function init(){
		#配置对应的表名
		self::$tables[__CLASS__] = "cities";
	}

	#用来设置表间关联,如果没有表间关联,此方法可以不用定义
	function initialize(){}
}
?>

多了一个static function init()方法,其实这个方法还有他的另一个功能,是就实现单表继承,在这个方法中加上一条
 self::$odditional_conditions[__CLASS__] = " type='Book' ";

就行了(注:这行代码只是为了说明怎样实现单边继承,和上面的city模型并没有什么直接的关系)
今天就先到这....
    
分享到:
评论
5 楼 hanssonlan 2009-05-24  
javatracker 写道

楼主,都四个多月了你写完了没。 我再写一个AppServer的框架,最近事情比较忙,进展很慢,周末要加把劲

不好意思,很久没来Javaeye了,框架写完了,用框架写了个小应用,http://www.souzon.com欢迎交流~~~
4 楼 javatracker 2008-12-26  
楼主,都四个多月了你写完了没。

我再写一个AppServer的框架,最近事情比较忙,进展很慢,周末要加把劲
3 楼 vb2005xu 2008-12-25  
我也在写 之前用过好长时间的 FLEAPHP了

不过这次完全是以 过程式的语法来开发

公司的服务器环境是PHP4 个人觉得 不使用类来完成核心结构的开发性能上能有不少的提高
1 楼 wujiekangyun 2008-08-05  
最近在看FLEAPHP,LZ自己写框架。支持。

相关推荐

    php简易框架自己写的大家试试

    一个PHP框架是开发者为了简化和规范开发流程而创建的一套工具集,它提供了一种结构化的方法来组织代码,提高开发效率,并且通常包含了一些预设的最佳实践。本篇文章将围绕标题“php简易框架自己写的大家试试”和描述...

    自己写的简单php框架

    标题“自己写的简单php框架”指的是作者创建了一个基于PHP的简单MVC架构,这种框架通常包含以下组件: 1. **Model**(模型):模型层是应用程序的核心部分,负责处理数据和业务逻辑。在PHP框架中,模型类通常与...

    自写的一个简单的PHP mvc框架

    以前用过CI,但用了一段时间总感觉许多东西其实自己用不到,于是自己写了一个轻量级的,只是做了一下简单的MVC,还有一个url路由,貌似暂时对我来说已经够用了。需要的可以参考参考

    PHP 教程 一个高性能的PHP框架 php快速开发框架 免费开源的轻量级、高性能PHP框架

    在压缩包文件中的"wpsshop电商系统官方版本V6.1.6",我们可以推测这是一个基于PHP的电子商务解决方案。这个系统可能包含了处理商品管理、订单处理、支付集成、用户管理等多种电商功能。学习和研究这个系统,开发者...

    84PHP开源框架 v1.1.0

    84PHP框架的建立最初是为了能给业务中提供一个可靠底层代码的框架,同时尽量逼近原生代码的运行效率,并且实现各模块之间的低耦合,提供快速开发的功能。 我们的目标:打造国内最便捷的优秀开源框架,在功能、代码量...

    一个轻量级的PHP依赖注入框架

    此外,iiDestiny框架可能还支持接口绑定,这意味着你可以为同一个接口注册多个实现,并在运行时动态选择使用哪个。这种策略在多环境下切换实现或者进行单元测试时非常有用。 在实际开发中,iiDestiny框架可能会提供...

    PHP微框架学习,PHP微框架,自己动手写的

    自己写的微框架,框架学习,PHP框架,需要的老铁们拿去

    一个简单的php框架

    "一个简单的PHP框架",可能指的是名为Labframe的PHP框架。虽然没有提供具体框架的详细信息,但我们可以根据一般PHP框架的特点来探讨其可能包含的核心组成部分和功能。 1. **路由系统**:路由是框架中的关键部分,它...

    自己写的MVC框架(PHP)

    命名空间自动加载到类是现代PHP开发的一个重要特性,它允许开发者更好地组织代码并避免类名冲突。通过自动加载,我们无需在每个文件开头都包含所需的类文件,而是由PHP自动找到并加载需要的类,简化了代码管理。 ...

    PHP轻量级框架

    CodeIgniter,简称CI,是一个基于MVC(Model-View-Controller)架构的PHP框架,旨在提供一个简单而高效的工具包,帮助开发者快速地构建功能丰富的Web应用。它的轻量级特性使得加载速度快,性能优异,且对服务器资源...

    自己写的PHP MVC框架,轻量框架,含bootstrap组件

    Bootstrap是一个流行的前端开发框架,提供了丰富的预设样式和响应式布局,可以快速构建美观且适应各种设备的网页。在这个PHP框架中,Bootstrap的集成使得开发者能够方便地创建现代、美观的用户界面,同时支持Ajax...

    一个简单的PHP开发框架

    4. **动手实践**:创建一个简单的项目,如博客系统,来应用所学知识。 总结来说,"一个简单的PHP开发框架"意味着这个框架旨在降低PHP开发的门槛,提供基本的MVC结构和必备功能,让开发者能够快速上手,搭建自己的...

    PHP mvc框架

    **描述** "使用PHP开发自己的MVC框架,站点其实很简单,一个ToDo程序" 提示我们,这里将涉及如何用PHP构建一个简单的MVC框架,并通过一个Todo应用来演示其功能。Todo应用通常是一个基础的待办事项列表,用于展示基本...

    自用php框架,非常灵活!做过多个项目

    标题中的“自用php框架”指的是一个专门为个人或小团队定制的PHP开发框架,它具有高度的灵活性,可以根据项目的特定需求进行调整和扩展。这样的框架通常由开发者根据自己的编程习惯和项目需求创建,以提高开发效率,...

    jQuery-Easyui写的一个后台框架

    这个“jQuery-Easyui写的一个后台框架”很可能是将EasyUI与后端技术(如PHP、Java或Node.js)相结合,创建了一个完整的管理界面系统。 首先,jQuery 是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、...

    微信开发php+mvc框架

    微信开发php+mvc框架

    cpp-一个用C编写的PHP框架具有简单快速标准安全的特性

    【标题】:“cpp-一个用C编写的PHP框架具有简单快速标准安全的特性” 这个标题指出,我们讨论的是一款基于C语言实现的PHP框架。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,主要用于Web开发,而...

    一个很简单实用 的 swoole 框架 麻雀虽小, 五脏俱全.rar

    另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。 swoole扩展本身提供了web服务器功能,可以替代php-fpm。 而如果仅仅用swoole框架,可以像其它PHP框架一样,运行在nignx、apache等web服务器中。 swoole...

    canphp框架-php框架

    - **CMS集成**:还包含了一个内容管理系统(CMS)的示例,便于开发者参考和快速搭建网站。 2. **PHP框架基础** PHP框架是一种用于组织和简化PHP开发的结构,通过预定义的类库和方法,可以规范开发流程,减少重复...

    Kraken第一个也是唯一一个容错分布式应用的PHP框架

    总的来说,Kraken PHP框架为PHP开发者提供了一个强大而灵活的平台,用于构建容错分布式应用。其独特的设计思路和强大的功能集使得开发过程更加高效,同时也保障了应用的稳定性和可靠性,是构建大型、复杂Web应用的...

Global site tag (gtag.js) - Google Analytics