﻿

 ********** 欢迎使用EaglePHP开源框架 ********

官网：www.eaglephp.com
下载：eaglephp.googlecode.com
微博：weibo.com/eaglephp

Author: maojian
Email : maojianlw@139.com
QQ    : 408865477    
QQ群  : 244174426


--------------------------------------------------------------------------------------------

EaglePHP V2.7  2013年12月30日

CHANGES：

框架：

封装最新最全微信5.0API基础接口、自定义菜单、高级接口，具体实现的接口如下：
1、接收用户消息。
2、向用户回复消息。
3、接受事件推送。
4、会话界面自定义菜单。
5、语音识别。
6、客服接口。
7、OAuth2.0网页授权。
8、生成带参数二维码。
9、获取用户地理位置。
10、获取用户基本信息。
11、获取关注者列表。
12、用户分组。

应用：
1、解决后台文章添加或修改文章出现上传图片的BUG。
2、优化后台资产管理->花费管理->消费明细按系统当前月份进行统计。


--------------------------------------------------------------------------------------------

EaglePHP V2.6  2013年8月26日

CHANGES：

框架：

1、工具库增加Ftp服务器操作类，实现ftp连接、文件及目录操作。

2、公共库增加新浪微博、腾讯微博API操作类。

3、修改信息提示页面，更好的用户体验，支持3种状态信息的显示（成功提示,错误提示、信息提示）。

4、修复核心类Model预处理数据方法boolean转换成string类型。

5、修改日志核心类，对加了@符号的代码产生的错误，将不会显示至页面，也不会记录至日志中。

6、模型基类增加判断当前模型对象是否存在的方法，如：model('user')->isExists()。


应用：

1、解决后台cms无法使用采集网页功能的bug。

2、解决安装时出现数据库存在的bug。

3、后台参数设置->接口选项->新增Sina和QQ的API appid、appkey参数设置。



--------------------------------------------------------------------------------------------

EaglePHP V2.5  2013年6月4日

CHANGES：

框架：

1、添加Behavior行为类增加路由正则匹配替换。

2、模型基类增加判断表名是否存在方法，使用方法：model('table_name')->tableExists();

3、系统函数库新增正则表达式匹配验证提取网址URL并自动加上链接。

4、优化错误信息提示，以debug trace回溯的方式显示程序在执行过程中的信息，并区分ajax、CLI、WEB三种错误显示方式。

5、核心表示层View类中增加获取从smarty assign中已设定值的方法getAssign($name)。


应用：

1、修复生成菜单URL时除控制器和方法名外的其他参数无效的bug。

2、修复菜单子节点没有按设置的顺序编号排序的bug。

3、解决IE6下登陆页无法显示图片和后台无法退出的bug。

4、解决应用中心->实用工具->安全信息页出现乱码的bug。

5、增加会员应用，实现会员登录、注册、激活、找回密码等功能。


--------------------------------------------------------------------------------------------

EaglePHP V2.4  2013年2月1日 【春节贺岁版】

CHANGES：

框架：

1、优化Model基类，移除自动创建表模型对象操作。

2、解决不同应用调用模型对象出现目录重叠的问题。

3、模型对象新增cache函数，用来缓存sql查询结果集。

4、3种URL模式任意切换（1为普通模式、2为pathinfo模式、3为.html模式）。
  
5、完善Router路由类，支持生成各种url模式及解析。

6、增加Smarty模版修饰符url，模版中的链接需要此修饰符支持，例如：{{$smarty.const.__ROOT__?c=news&a=show|url}}。

7、修改文件缓存规则，对数据查询结果集按表创建目录进行数据文件的缓存。

CMS：

1、增加许愿墙展示，实现发布许愿，按许愿编号、日期条件查询。

2、后台缓存更新增加清空模版缓存文件、模版编译文件及选择性的删除表缓存目录功能。

3、后台新闻管理html生成功能增加按类型、开始编号、结束编号生成静态html文章。

4、解决后台文章无法添加水印的bug。
       
       


--------------------------------------------------------------------------------------------

EaglePHP V2.3  2012年12月10日

CHANGES：

框架：

1、修复Model基类自动封装where语句出现表单提交值为零被过滤的bug。

2、修复框架底层抛出的Strict Standards、Notice信息，增强代码的健壮性。

3、框架底层增加客户端HttpRequest对象，封装对get、post、put、request、cookie、session等数据获取方式。

4、框架底层增加服务器端HttpResponse对象，封装所有http状态码，发送响应的头信息等。

5、修改控制器中获取客户端提交的数据方式:$this->get(name);$this->post(name);$this->cookie(name)等。

6、升级Smarty模版引擎至最新版v3.1.12，性能更快，功能更丰富。

7、修改Model基类对象以支持获取其他应用下面的模型对象，调用方式：model('appName.modelName')。

8、自动载入类配置文件及系统信息配置文件更换目录至Data/Config下面。

9、修改当访问控制器、方法不存在时跳转至系统404错误页面。

10、系统函数库增加显示404错误页面函数、删除不可见字符函数、html特殊字符转码函数。

11、将Library下的Main.inc.php移动至Config下，改名为Constants.php。

12、增加系统Security安全类，用来对客户端提交的数据进行XSS安全过滤替换。

13、解决缓存中的DB对象因查询数太多导致连接失效的bug。


CMS:

1、后台登陆发送邮件增加地理位置显示。

2、前台音乐频道实现根据虾米歌曲ID获取歌曲外链地址。

3、前台淘宝客模块增加商品排序、起始价格、最高价格等查询条件。

4、前台淘宝商品展示信息增加店名、卖家信用等级、成交量、商品所在地。

5、后台文章评论、留言反馈管理员回复增加邮件发送回复通知功能，及留言者IP位置显示。

6、解决后台角色设置由于DWZ UI升级后导致菜单复选框全选的bug。

7、修复后台照片管理上传照片选择相册提示为未选择的bug。


--------------------------------------------------------------------------------------------

EaglePHP V2.2  2012年11月7日

CHANGES：

框架：

1、修复数据库模型对象table()方法支持多表连接别名设置。

2、修复Model对象的join方法与表名连接bug。

3、修复框架在CLI命令行模式下执行删除操作出现参数无效的bug。

4、修正前端资源文件不做url rewrite处理，为.htaccess文件增加RewriteCond %{REQUEST_URI} !^.*(\.js|\.css|\.gif|\.png|\.jpg|\.jpeg|\.html|\.xml|\.swf|\.json)$。

5、修改自动加载类索引配置文件将类文件由绝对路径改为相对路径，解决切换到其他目录出现类无法找到的bug。

6、解决URL_MODEL模式切换到普通URL参数时常量__URL__、__ACTION__还是pathinfo模式的bug。

7、公共库工具包新增Date日期时间操作类、通用验证类、IP地理位置查询类，此类需要qqwry.dat纯真IP数据文件支持。

8、解决pathinfo模式路由解析参数值为0被过滤的bug，并将请求的控制器、方法名称赋值给$_GET数组中的c和a变量。

9、增加Widget页面表单控件实现库，通过对象完全封装dwz表单类，开发者无需任何html代码，只需创建对象即可实现常见功能的表单。

10、自带CMS后台富客户端DWZ-RIA UI升级至最新版1.4.4。





--------------------------------------------------------------------------------------------

EaglePHP V2.1  2012年10月16日

CHANGES：

框架：

1、将Smarty模版的后缀名.tpl修改为.html，方便相关软件识别模版结构。

2、实现PHP中文转拼音公共类，增加最新最全的拼音库。

3、函数库增加socket操作函数，同curl作用一致。

4、增加SQLite数据库驱动器类，全面支持sqlite数据库的各种操作。

5、清除系统多余文件，对文件结构进行简化。

6、对框架下的目录重新命名为：Application、Common、Config、Data、Library、Public，使之易懂规范。

7、优化自动加载对象引擎，对Common公共目录下除Smarty、Sdk目录外的class文件自动载入，而无需import方式加载。

8、优化主配置文件，移除发送头信息、输出控制缓冲器、显示错误设置等，并解决框架中的notice提示信息。


CMS：

1、管理员登录累计次数记录，在后台管理员列表进行查看。

2、优化后台主页对天气预报信息数据进行缓存，3小时更新一次。

3、账户权限精确到文章分类的关联分配，分配后只能对指定的分类文章进行操作。

4、增加网站友情链接管理，在网站前台底部展示。

5、增加网站投票管理，后台实现自定义投票选项操作，对投票次数进行限制。

6、解决文章详细页位置导航分类节点出现错乱的bug。

7、后台新闻发布增加插入投票选择，可关联到设置好的投票数据。

8、后台参数设置处增加是否开启伪静态配置，开启后将自动替换掉url中的index.php。

9、后台参数设置处增加是否开启天气预报配置，开启后将在后台主页显示天气信息。

10、后台文章发布增加内容分页功能，按分页符对内容切分生成多个html静态文件。

11、修复后台文章导出Excel数据为空、数据跟列头对应不上的bug。

12、修复后台菜单无法按序号排序的bug。

13、修复导出文章至Excel为空的bug。

14、解决后台修改主类菜单父菜单值为空的bug。


--------------------------------------------------------------------------------------------

EaglePHP V2.0  2012年8月9日

CHANGES：

1、封装COOKIE类，提供get、set、delete、clear等方法。

2、封装Session类，提供session存储策略机制及会话数据操作方法。

3、解决在虚拟运行环境及多级目录、apache alias别名设置下无法安装或目录找不到的bug。

4、框架底层增加页面防刷新机制，如果访问时间在页面刷新间隔内，将读取浏览器缓存显示。

5、框架缓存数据Data和配置数据Conf目录从Com目录下提取到EaglePHP目录下。

6、将App下的Compile、Log、Cache目录提取到Data目录下面。

7、解决框架在apache、iis、nginx等不同平台上运行的兼容性问题。


--------------------------------------------------------------------------------------------

EaglePHP V1.9  2012年8月2日

CHANGES：

1、后台数据备份列表增加引擎、数据大小、碎片、字符集等字段数据显示。

2、实现文章评论和留言反馈根据id生成随机用户头像。

3、增加淘宝SDK开发工具包。

4、实现对淘宝客推广商品数据的获取。

5、实现对淘宝客商品分类的获取。

6、后台实现对淘宝客精选商品数据的管理。

7、后台实现对淘宝客API参数的配置管理。

8、前台采用masonry瀑布流布局展示淘宝客精选商品。

9、实现国际化多语言处理类（i18n）。

10、优化Cache子类缓存策略机制和目录结构调整。

11、新增Alternative PHP Cache（APC）缓存操作类，调用实例：Cache::getInstance('apc')。

12、新增Redis缓存操作类，为string（字符串）、list（链表）、set（集合）、zset（有序集合）、hash提供丰富的操作方法。

13、修改Model数据模型类支持对请求数据进行插入和更新的预处理和后处理回调函数。

14、修改默认入口文件将apache_get_modules函数改为在phpinfo中获取mod_rewrite模块是否安装。

15、优化Exception处理机制，抛出异常后在其他的代码块处进行try catch捕捉。


--------------------------------------------------------------------------------------------

EaglePHP V1.8  2012年6月10日

CHANGES：

1、后台新闻发布增加根据指定URL采集网页内容的功能。

2、后台增加网页采集规则管理，可实现对任何网站内容的采集。

3、底层增加Cache类，目前支持CacheFile。

4、数据模型层DB中间件增加查询结果集缓存机制。

5、增加Mial组件，包含Mailer、SMTP、POP3。

6、增加系统错误邮件通知功能，在后台参数设置处管理。

7、增加后台登录邮件提醒功能，在后台参数设置处管理。

8、前台导航栏增加无限极菜单，及增加相册展示和图片flash播放。

9、前台增加RSS内容聚合功能。

10、修复model层因数据库表不存在继续创建orm缓存文件的bug。

11、后台登录界面全新改版，采用格调清新的样式及图片进行渲染。

12、后台增加音乐管理，实现音乐信息的浏览、修改、删除。

13、前台新增音乐频道，使用jPlayer插件用于控制和播放MP3文件。

14、对模型层的数据库表名进行特殊字符转换，如果表名是关键字则不会引起错误。

15、后台主页增加用户登录欢迎信息，包含登录名、日期、星期、天干地支、生肖。

16、后台主页增加天气预报，调用国家气象局接口，自动获取登录所在的城市天气，也可选择城市查询天气。

17、后台增加mysql管理、端口扫描、安全信息、PHP环境等功能。

18、前台增加案例展示，后台实现相关功能。

19、前台增加视频展示，后台实现操作功能。

20、底层代码优化，相关bug修复。

--------------------------------------------------------------------------------------------

EaglePHP V1.7  2012年4月25日

CHANGES：

1、公共库增加文件夹压缩解压类、加密解密类、Excel读取解析类。

2、后台管理系统增加广告管理，前台实现广告轮播展示。

3、前台增加文章发表评论功能，文章评论数据展示。

4、后台增加文章评论管理，浏览所有评论及对评论回复、删除等功能。

5、增加Oracle数据库驱动器类，需开启php_ori8.dll扩展库，注意此动态库依赖于oracle客户端底下的oci.dll文件，需在系统配置变量中指定oracle客户端路径。

6、后台增加文件管理器，实现新建文件、新建目录、文件上传、空间检查、文件改名、文件移动、文件删除、文件编辑等操作。

7、后台系统设置模块增加水印参数配置功能，可实现对文章图片按配置的参数加logo图片或文字水印。

9、前台文章列表增加浏览数、评论数、发布时间展示。

9、前台文章发表评论增加验证码、禁词过滤验证功能。

10、前台文章详细页增加Ajax动态获取评论列表、评论数、点击数。

11、后台文章发布增加作者、来源字段。

12、后台文章增加无限级分类，采用树形展示。

13、修改前台文章列表按包含的子类查询。

14、修改前台文章正文页按多级父类层次导航。

15、前台增加留言反馈功能，后台实现相关管理，可浏览、回复、删除留言。

16、实现对文章正文页html静态化处理。


--------------------------------------------------------------------------------------------

EaglePHP V1.6  2012年3月29日

CHANGES：

1、增加数据库表别名设置，参数设置：Com/Config/DbConfig.php中的dbprefix参数。

2、修改session目录可设置，数据默认保存在Com/data/_session目录中。

3、增加数据库按日期批量备份/还原，批量优化、修复表数据，查看表结构。

4、增加session会话生命周期配置，在主配置文件中Main.inc.php中加入常量SESSION_LIFE_TIME。

5、增加系统参数配置功能，可对站点、核心、附件、性能、其他等参数进行设置。

6、新闻发布增加远程图片下载、提取文章缩略图、删除非站内链接的功能。

7、修改权限管理，限制管理员角色及账号禁止删除，超级管理员具有所有的权限，对其取消权限编辑及权限验证。

8、新闻发布采用PHP分词技术自动提取文章内容关键字。

9、增加前台网站系统，对文章、公告、微博笔记进行列表展示，可点击查看文章正文内容。

10、后台增加每日微博笔记管理功能。

11、修复flash上传照片后，点击其他页面弹出新窗口的bug。

12、修复后台编辑器使文本框无法获取焦点的bug。

--------------------------------------------------------------------------------------------

EaglePHP V1.5  2012年2月13日

CHANGES：

1、增加 DB 类库，包含系统所需数据库驱动器扩展类。后续新增加扩展驱动器都放入此库，新增加的驱动器都要继承Db类，实现DbIterface接口。

2、修改 ORM 表结构映射缓存策略和存储结构，新存储目录为：Com/data/_filed/，按数据库名称建立目录。

3、增加 DbIterface 接口，为数据库驱动器扩展维护定义规范。

4、增加 mysql 扩展类，支持长连接方式。

5、增加 mysqli 扩展类，为Mysql增强版扩展。

6、增加 SQLSRV 扩展类，PHP从5.3开始不再支持mssql扩展库，如需连接sql server，需要从微软官方获取DLL，详情可在百度搜索，在此不做赘述。该类支持sql server 2000及以上版本的数据库访问。

7、增加 PDO 扩展类，现支持对MYSQL、SQLSRV的扩展访问，另在开发过程中发现连接SQLSRV采用长连接的方式会导致内存泄露，浏览器崩溃的情况，建议连接SQLSRV不采用长连接方式。

8、后台资产统计模块的消费管理增加FLASH统计报表，修改金额数字转换为货币字符串，对相关列表增加金额统计显示。

9、修改函数库中的 import 函数，支持带目录、后缀名的方式导入文件。

10、丰富完善模型基类，新增加 getby字段名、having、lock、replace 等方法。对实例化的模型对象存入静态缓存库中，供下次直接取用。
          
          匹配模型对象与表之间的关系，第一次访问时模型对象，会将关联映射到的表结构进行缓存。
          
          增加客户端提交数据按字段类型转换方式。
      
          如：  1、$model->getbyId(1); $model->getbyName('maojian'); // getby查询方法。
      2、$model->join('session ON test.id=session.sid')->where(true)->select(); // 级联查询。注意此处where方法传递true，是自动提取表单中的查询条件封装成where条件语句。
      3、$model->group('usetime')->having('usetime="2012-02-03"')->count('id'); // 分组统计查询。

11、数据库配置文件数组结构更新，如同一个项目中，需连接不同数据库，请参考以下配置方法：

      以连接SQLSRV驱动器为例：
      
  'sqlsrv_test' =>               // 数据库唯一标识，该标识用于获取模型对象的 M 函数的第二个参数传入，如$model = M('test', 'sqlsrv_test')。
	  array (
	    'dbhost' => '(local)',   // 主机
	    'dbport' => '',          // 端口
	    'dbuser' => 'sa',        // 用户名
	    'dbpwd' => '123456',     // 密码
	    'dbname' => 'test',      // 数据库名
	    'dbcharset' => 'utf-8',  // 字符集
	    'dbdriver' => 'sqlsrv',  // 驱动器名称
	    'dbtype' => 'pdo'        // 连接类型，此处采用pdo连接SQLSRV，还可采用sqlsrv类型连接。
    )
    
       以上配置方法在数据库配置文件中修改或增加，路径：Com/Config/DbConfig.php。


--------------------------------------------------------------------------------------------


EaglePHP V1.4  2012年1月29日

CHANGES：

1、后台增加相册、照片两大模块，实现增删改查等功能。

2、借助swfupload flash上传组件实现多文件上传，对上传文件生成原图、大图、缩略图等三种不同尺寸的照片存储。

3、利用开源jcrop组件实现对上传照片的自定义裁剪功能。

4、后台增加资产统计模块，实现对进账、出账、消费等信息的记录操作功能，并对这些信息实现按日期范围进行月统计。

5、优化Lib包中Model类，解决sum、avg、min、max等函数将返回值自动转换为整数的bug。

6、修改主配置文件Main.inc.php中的常量：PROJECT_NAME、__PROJECT__、__ROOT__、__APP_RESOURCE__，以适应部署至现网域名指向相关App的冲突问题。

7、修改Lib包中Application类，解决在对象控制器中无法在构造函数里获取到smarty对象的bug。

8、修改Lib包中AutoLoader类，因spl_autoload($class)函数自动将传递的类名转换为小写，如果类名为大写，就会在Linux系统上找不到类的错误，PHP官网已承认此函数确属bug，现采用自定义的spl_autoload_suxx函数代替。

9、解决框架移植到其他平台上的兼容性问题。



--------------------------------------------------------------------------------------------

EaglePHP V1.3  2011年12月25日

CHANGES：

1、解决session跨服务器跨域基于Memcache和数据库的会话重写，在Lib/Main.inc.php中修改SESSION_SAVE_TYPE常量配置，现设定三种储存方式Memcache、Db、File等。
   
2、为系统登录页增加验证码、页面美化、加入Cache机制。

3、解决数据列表因修改或删除某行记录又重新跳转到第一页的bug。

4、核心类库代码性能优化。

5、后台增加访问日志和系统日志的统计分析，采用流行的Amcharts Flash图表进行数据的动态展示。


--------------------------------------------------------------------------------------------

EaglePHP V1.2  2011年11月2日

CHANGES：

1、增加Doc输出模块，为本框架及包含的各项目生成CHM或HTML开发帮助文档，此功能需要HTML Help Compiler支持。访问路径：http://127.0.0.1/EaglePHP/doc/gen。（需先安装框架）
        
2、框架ROOT目录下增加Apache URL重写。
   <IfModule rewrite_module>
		RewriteEngine on
		RewriteCond %{REQUEST_FILENAME} !-f
		RewriteCond %{REQUEST_FILENAME} !-l
		RewriteCond %{REQUEST_FILENAME} !-d
		RewriteRule ^(?!(/pub/)).+$ pub/$0 [PT,NS]
	</IfModule>
	
3、增加EaglePHP V1.2框架教程.chm。


--------------------------------------------------------------------------------------------

EaglePHP V1.1  2011年10月30日

CHANGES：

1、增加框架CMS安装包。

2、日志文件采用数字31的ASCII码分隔。

3、修改异常类名称HiException为TraceException。

4、美化开发人员调式页面。



