walu开发结构和它的类自动加载机制
时间:2011-07-01
来源:互联网
walu_framework,是采用php语言编写,只面向web开发的一个框架。我的目标有三个,保留习惯、快、简约到极致。
这个东东目前没有应用类的类库,所以只能算是个开发结构,但是结构这个词不好听,就权称为框架吧。
看前提醒:别打口水仗
下午优化了一下类自动加载机制中提取类名的部分,说之前先描述下我的autoload原理如下:
先扫面顶端library文件夹里文件定义的类名、接口名,再扫描app里model文件夹定义的类名、接口名,最后缓存在文件里供autoload用。
在以前的时候是通过正则来提取类名和接口名的,但它会导致误提,如果一个字符串正好符号规范就完蛋了,今天下午用php的token重新做了这一块,算是彻底解决了这个问题。
大致思路如下:
提取出文件内容,先转为php-token,然后根据token来分析php语法找出类和接口名称。
具体代码如下:
private static function find_object_in_file($path)
{
$object_path=array();
$content=file_get_contents($path);
$token_array=token_get_all($content);
$prev_1=$prev_2=false;
foreach($token_array as $value)
{
if(!is_array($value))
{
continue;
}
//T_CLASS:353 T_WHITESPACE:371 T_INTERFACE:354 T_STRING:307
if( ($prev_2==353 || $prev_2==354) && $prev_1==371 && $value[0]==307 )
{
$object_path[$value[1]]=$path;
}
$prev_2=$prev_1;
$prev_1=$value[0];
}
return $object_path;
}
今天刚把walu传到github上,欢迎围观。
https://github.com/walu
尾声:ppc,你可否换个好用的代码编辑器,还是我不会用?
作者: cnan 发布时间: 2011-07-01
这个不错
作者: kernel 发布时间: 2011-07-01
围观
作者: rickykurt 发布时间: 2011-07-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28