FoolPHPPHP 扩展 MVC 框架
FoolPHP是由PHP扩展实现的轻量级MVC框架
在php框架漫天飞的今天为什么还要自己再写一个呢?
首先,笔者写这个项目的主要目的很单纯:学习!笔者本人还很年轻,入行两年一直以二手程序员自居,还有很多很多需要学习的地方,我始终坚信阅读前辈的代码是一个非常不错的学习方式。FoolPHP是我在学习PHP扩展开发的过程中作为练习作业同时阅读参考Yaf而实现的,所以有些代码就是Yaf的。@Laruence
其次,虽然已经有很多优秀的框架供开发者选择,但是我仍然认为一个团队实现自己项目的框架是非常有意义的。笔者迄今为止待过的三个团队无一例外的都是在使用自己开发的框架,这能够让开发更好的掌控项目。
特点
- 非常简洁
- 不限制任何类名、文件名、目录,通过预处理的方式将类名及其所在的文件加入autoload
- 类自动加载
- 原生php模板引擎
安装
下载源码后解压,如解压后目录:FoolPHP-1.0.0 cd FoolPHP-1.0.0 phpize ./configure make && make install 最后将extension=foolphp.so加入php.ini,重启php-fpm或者其他fastcgi
初始化项目
1.新建一个目录,如/websites,将FoolPHP源码下tools目录复制到/websites目录下
2.执行sh tools/install.sh
成功后/websites下多了一个src目录,/websites/src结构:
├── application
│ ├── controllers
│ │ └── DemoController.php
│ ├── models
│ │ └── DemoModel.php
│ └── views
│ ├── Common
│ │ ├── footer.tpl.php
│ │ └── header.tpl.php
│ └── Demo
│ └── index.tpl.php
├── config
│ ├── config.inc.php
│ └── fool_php_class.map
└── www
└── index.php
3./websites/src/www为web访问目录,配置web服务器root :/websites/src/www,访问:http://Domain/index.php?m=demo.index
tools工具包
-
install.sh新项目初始化脚本
-
config.php预处理类配置文件,$application_path值为application目录:/your_websites/src/application,$config_path为配置文件目录:/your_websites/src/config,$scan_dir为自动加载类扫描目录,相对于$application_path的目录名,如controllers、models、librarys
-
create_map.php预处理类生成脚本,它会扫描config.php中配置的$scan_dir目录下的php文件,生成"类名 => 文件路径"的记录到$config_path/fool_php_class.map文件中,这将是使用最频繁的文件,当新增/修改/删除文件、类、目录时都要重新执行此脚本,否则将会运行出错
使用此脚本执行 php create_map.php即可