CrossPHP 1.1.1 版发布了

ideaa
 ideaa
发布于 2015年01月24日
收藏 20

CrossPHP 1.1.1 版发布了,该版本遵循PSR标准, 全局的异常处理, HMVC, 注释配置, URL别名, 简单的MySQL查询

1. 注释配置增加@cp_before @cp_after
2. Response类增加setEndFlush方法,用于终止Controller的Action调用
3. Model移至DB/Driver目录下
4. 增加Module目录,增加MysqlModule用于快捷的Mysql访问
5. 删除了一些老旧的库
6. app->admin增加一套bootstrap模板

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:CrossPHP 1.1.1 版发布了
加载中

最新评论(24

ideaa
ideaa
默认从MVC/Module中继承的类,MysqlModel (DB/Drivers/MysqlDriver)= $this->link
ideaa
ideaa

引用来自“leo108”的评论

mvc的m是model而不是module,这两个差别很大……
呵呵,老是有人提这个,我这里的M确实是Module,Module是一个为项目下所有APP提供数据的一个公共接口,数据的来源并不只是单一的model, 可能返回的一个数据是混合了mysql,redis/mongodb三者的数据,这样的话,用model来命名不太合适。
leo108
leo108
mvc的m是model而不是module,这两个差别很大……
ideaa
ideaa

引用来自“Skiychan”的评论

又一个国人开发的fr~
希望多支持~
ideaa
ideaa
http://git.oschina.net/ideaa/crossphp/blob/master/src/DB/Drivers/MysqlDriver.php
一共提供三种方式的查询
1. get(), getAll(), add(), find(), update(), del() 这几种推荐的 都是用的PDO的prepare来查询的
2. fetchOne(), fetchAll() 说用来直接执行sql语句的
3. prepare(), exec() 是用来执行复杂的参数绑定sql的
@月影又无痕 现在明白了吗?
ideaa
ideaa

引用来自“月影又无痕”的评论

PDO防止SQL注入的最基本要求就是,SQL与变量参数分离,执行参数化查询,你这样一来,就失去了其存在的意义了。

楼主精神可嘉,但此框架有很多需要改进的地方。
http://git.oschina.net/ideaa/crossphp/blob/master/src/DB/Drivers/MysqlDriver.php 246行 还看不懂?你所谓需要改进的地方,其实是早就实现了的,说话做事严谨点好吗?
月影又无痕
月影又无痕
PDO防注入原理分析以及使用PDO的注意事项

http://my.oschina.net/zxu/blog/148432
月影又无痕
月影又无痕
PDO防止SQL注入的最基本要求就是,SQL与变量参数分离,执行参数化查询,你这样一来,就失去了其存在的意义了。

楼主精神可嘉,但此框架有很多需要改进的地方。
ideaa
ideaa

引用来自“月影又无痕”的评论

public function fetchOne($sql, $model = PDO::FETCH_ASSOC)
$data = $this->pdo->query($sql);
return $data->fetch($model);

按这个定义,只能拼接SQL了,无法作参数化查询了,悲剧了吧。
这本来就只是直接执行sql语句的
ideaa
ideaa

引用来自“月影又无痕”的评论

还有,Request类中的getUserHostAddress
return $this->_SERVER('REMOTE_ADDR') !== '' ? $this->_SERVER('REMOTE_ADDR') : '127.0.0.1';

这个定法是错误的。HTTP条件下,REMOTE_ADDR永远不可能为空的,而且这段代码在代理服务器环境中运行,没有考虑 x-forwarded-for, http-client-ip, x-real-ip等等字段。

如果服务器集群的Apache/nginx前面有squid或是其它的nginx/apache反向代码,那么取的IP永远将是自己集群中最前端的服务器IP了
http://git.oschina.net/ideaa/crossphp/blob/master/src/Core/Helper.php#L498
返回顶部
顶部