Jan 18

thinkphp3.0改进功能列表 不指定

shuguang , 11:50 , 官网新闻 , 评论(0) , 引用(0) , 阅读(11298) , Via 本站原创 | |
开源中国项目网:http://www.oschn.com/news/37/thinkphp3.0-svn-changeLog
r2501  修正当数据类型为bigint的时候 Model开启字段类型验证后强制转换出错的问题
r2498  U函数支持路由定义 例如 U('/cate/3') 以/开头的地址定义表示是路由 不再解析为模块和操作
r2495  完善query和execute方法 的sql也可以通过 getlastsql按模型获取
r2492  Model类的getLastSql方法支持获取模型的最后一次sql
r2491  改进模板路径
r2490  改进模板常量定义 //OSPHP.COm.CN
r2489  修正模板变量
r2484  优化include标签解析

r2483  模板输出规则调整为 模板主题:模块:操作 不支持 跨项目和跨分组调用 该用法可用于display方法和include标签
r2481  query和execute增加第二个参数 表示是否需要解析SQL 默认为false 表示直接执行sql 如果设为true 则会解析sql中特殊字符串 (需要配合连贯操作)
r2480  Model类的query方法增强 支持 $model->table()->where()->field()->query('select %FIELD% from %TABLE% %WHERE%);
r2479  load_think_mode 方法 更名为 load_runtime_file
r2478  runtime自动生成目录优化
r2477  分组目录的Action类 也支持自动加载 并且优先
r2473  Model类的field方法支持NOT机制 例如 field('id,name') 表示查询id,name字段 field('id,name',true); 表示查询除id,name之外的字段
r2472  改进array_define的生成换行
//OsPHP.COM.CN

r2470  修正Lite模式的db类
r2468  核心编译生成文件支持常量分离到单独的文件外部加载
r2467  parseWhere 多条件支持的改进 $map['a|b'] = array('gt',1); 表示 a>1 OR b>1 $map['a|b'] = array(array('gt',1),array('lt',1),'_multi'=>1); 表示 a>1 OR b<1
r2463  getField方法增加用法支持
r2461  parseWhere方法完善 支持 $map['a|b'] = array(array('gt',1),array('lt',1)); 得到sql 的条件为 a > 1 OR b < 1 $map['a&b'] = array(array('gt',1),array('lt',1)); 得到sql 的条件为 a > 1 AND b < 1
r2460  去掉setField getField setInc setDec方法的condition条件参数 用连贯操作where替代
r2459  改进Model类的getField方法
r2457  完善REST模式扩展
r2456  改进自动加载判断
r2455  关联模型跨库操作的改进 操作关联的时候M方法改用D方法
r2453  U函数对模块的解析支持判断URL_CASE_INSENSITIVE参数 //OSPHP.COm.CN
r2452  改进分组的大小写区分
r2451  惯例配置中去掉 VAR_PAGE定义
r2450  废除 APP_GROUP_DEPR 配置参数
r2449  去掉原来生成的ThinkPHP.php 目前~runtime.php 可以用于直接替换入口 提升时间统计的级别 默认为小数后4位
r2448  优化ThinkPHP 入口文件 G函数移入基本函数库并改进调用机制
r2447  getField 方法多表连接查询BUG修复
r2444  重构A D和R方法 统一格式调用 A方法格式为: [项目://][分组/]模块 D方法格式为:[项目://][分组/]模型 R方法格式为:[项目://][分组/]模块/操作
r2441  R方法参数改变 调用方式改为 R('[分组/]模块/操作','项目','参数') 解决当项目名称没定义的时候 R方法无法实例化Action的问题
r2440  修正ClI模式
r2439  CLI模式独立采用Model和Db类
r2438  cli模式采用标准版的model和db类 取消个别命令行下面不需使用的函数

//OSPHP.COm.CN


r2437  msubstr函数改进
r2435  修正数据库驱动类的getFields方法
r2432  改进mysql对存储过程查询的支持
r2428  Lite模式扩展重构
r2427  Think模板引擎的load方法更名为fetch
r2426  内置模板引擎无需驱动类 删除HashMap Portal Dir类库
r2425  去掉Think基类的依赖和继承 Think类用于放置静态方法
r2423  对标签内部属性使用变量的完善
r2422  include导入文件规则改进 对分组的TMPL_FILE_DEPR设置予以支持
r2421  增加 TMPL_LAYOUT_ITEM 配置参数 用于配置布局内容替换标识 默认是 {__CONTENT__}
r2419  改进布局模板和标签布局的冲突
r2418  布局标签解析修正
r2417  内置模板引擎 parsePhp放到布局检测之后
r2415  模板缓存有效期判断修正
r2414  去除Cx标签库的layout标签 模板的layout标签内置用于读取当前模板所属的布局文件 当前include的模板内容会并入布局layout_name中的 {__CONTENT__}
//OSPHP.COM.Cn开源

r2413  修正系统别名的加载和编译 增加别名定义文件
r2412  布局模板功能整合到模板引擎 去掉布局模板行为
r2411  布局模板修正
r2410  CLI模式App类更新
r2409  布局模板改动会自动更新模板缓存
r2408  代码规范修改
r2407  修正PHP5.2* 版本下面的行为接口方法定义兼容
r2404  修改 Cx 标签库 for 标签的循环变量属性 value 为 name 用法不变
r2403  优化 Cx 标签库中 for 标签 循环算法,在某些情况下提高运算效率
r2402  Cx标签库添加 for 标签支持 用法: content 属性说明: start:循环起始值(数值/变量/常量/函数;变量支持点语法,函数调用 :fun;默认值:0) end: 循环终止值(同上) step:步进值 (默认值:1;其他同上) comparison:比较条件 (ThinkPHP条件比较字符串,默认值 lt) value:循环变量 (字符串 默认值 i) 例: //PHP开源代码
r2401  改进R方法 并支持参数传人 调用方式 R($url,$vars); url 格式 [项目://][分组/]模块/操作
r2400  类库代码规范调整
r2399  Db类和驱动的方法规范改进
r2398  默认不开启布局模板
r2396  改进数据库的不等于判断符号
r2394  Widget类修正路径
r2392  去掉Cx标签库的iterate方法定义
r2391  Widget支持第三方模板引擎扩展
r2390  widget类renderFile方法修改 去掉charset参数
r2388  改进U函数 支持不指定操作默认为当前操作
r2385  改进U函数 对默认分组的检查
r2384  默认模板主题设置为空
r2383  修正U函数的默认分组 模块和操作的处理
r2382  U函数改进 格式: U('[分组/模块/]操作?参数','参数','伪静态后缀','是否跳转','显示域名')
r2381  CORE_PATH TMPL_PATH HTML_PATH常量可以在入口重新定义 //开源代码OSPHP.COM.Cn
r2380  命令行模式扩展调整函数库定位
r2379  不同模式生成不同的编译缓存 底层基础函数库和标准模式函数之间调整
r2378  改进兼容模式的判断 优先判断兼容模式URL
r2374  减少路径常量
r2372  TagLib扩展并入Driver目录 减少路径常量定义 Db类移入Core类库包
r2371  修正ParseTemplate行为类的语法错误
r2370  核心的驱动目录调整 Think.Util部分类库移入Think.Core
r2365  替换Smarty3.0版本到Vendor
r2364  CheckLang行为扩展 移出系统行为目录
r2363  框架加载底层默认语言包 并编译缓存 检测语言行为扩展 仅仅是加载应用语言包 并且默认不纳入系统行为扩展
r2362  Behavior类 加入到编译缓存 别名加载 如果文件不存在则不导入
r2361  移除PHPUnit第三方类库
r2359  修正widget类 //oSPHP.COM.CN
r2356  行为扩展修正
r2355  修正模板检测行为扩展
r2352  行为扩展类库 改造
r2351  允许下面路径在入口文件重定义 EXTEND_PATH MODE_PATH VENDOR_PATH LIBRARY_PATH
r2350  增加Think.Util.Behavior 类库 所有行为扩展类库必须继承该类 改写系统行为扩展类库
r2349  分离部分惯例配置参数到行为扩展中
r2348  模式扩展在入口文件中用常量 MODE_NAME 配置 行为扩展的默认参数 在行为扩展中用C方法自行设置
r2341  行为集合重构 升级为模式扩展 用于替换原来的模式扩展 通过更改项目的配置文件 设置'MODE_NAME' 即可
r2340  框架底层语言包放到Common/Lang目录 删除Extend/Lang 可以直接在项目的Lang中添加
r2339  核心别名定义修改
r2338  静态缓存相关行为移动到行为扩展目录 不内置为系统行为
r2335  增加RestAction扩展action //OSPHP.com.CN
r2334  模式扩展的入口文件和别名定义修改
r2333  Extend增加Model和Action用于放置 扩展Model和扩展Action 需要的时候直接拷贝到项目的Lib/Model 或者 Lib/Action 目录 然后继承扩展即可
r2332  Model目录移出核心类库 作为扩展模型 放入Extend 内置标签库 去掉Html标签库
r2331  核心类库目录下面 Cache Template 调整移出Util包
r2329  array_define方法增加check参数 用于控制生成的常量定义是否需要判断已经定义
r2324  增加 path_info 标签 用于处理 $SERVER['PATH_INFO'] 数据 默认不做处理,去掉原来dispatcher类的getPathinfo方法
r2323  分组配置和公共文件加载 从Dispatcher移动到App类 职责单一化
r2322  增加一个P_ACTION_NAME 常量定义 用于获取实际的操作名称(区分大小写) 便于空操作使用
r2318  修正 分组模式下面不再自动生成默认Action的问题 修正 dispatcher的pathinfo检测的一处错误

//开源代码OSPHP.COM.Cn


r2316  部署编译生成新的入口文件 可以用于入口引入
r2312  增加route_check 标签 路由检测行为 分离 行为类为CheckRouteBehavior
r2310  删除惯例配置里面的APP_CONFIG_LIST 配置 默认行为集合里面增加路由动态扩展配置支持
r2309  增加行为集合定义 在项目配置文件中定义COLLECTION_NAME 即可 默认的行为集合配置文件在 系统的Common/collection.php 行为集合的扩展目录位于Extend/Collection 废弃APP_CONFIG_LIST 配置 tags由系统自动读取 其余配置可以用LOAD_EXT_CONFIG 取代
r2308  auto_charset函数移入扩展函数库
r2306  修正Action类的display方法 配置TMPL_CONTENT_TYPE参数无效的bug
r2305  改进alias_import
r2304  优化import方法 去掉同名类库冲突检测
r2303  增加 LOAD_EXT_FILE 和 LOAD_EXT_CONFIG 配置参数 用于动态加载外部文件和配置文件 其中加载的文件和配置 不会纳入编译缓存,配置格式如下: 'LOAD_EXT_FILE'=>'ext1,ext2', 如果在项目的公共文件目录存在 ext1.php ext2.php 就会自动加载 'LOAD_EXT_CONFIG'=>'db,define' 如果项目配置目录下面有 db.php define.php 就会自动加载 并入配置参数 获取方式 C('参数名') 如果定义方式为 'LOAD_EXT_CONFIG'=>array('db'=>'db_config') 那么会读取项目配置目录下面的db_config.php 文件 并把配置参数纳入 C('db'); 获取某个参数的方式为 C('db.参数名'); functions文件增加 load_ext_file 方法用于实现 //开源OSPhP.COM.CN
r2302  还原项目编译文件列表定义功能 支持项目配置目录下面定义 app.php 该文件中定义的列表文件会纳入编译缓存
r2301  支持 自定义编译缓存文件名 可以在入口文件增加常量 RUNTIME_FILE 默认位置不变
r2299  优化require_cache函数 去掉realpath处理
r2298  默认调试模式配置调整 默认情况下不开启运行信息和页面Trace信息
r2296  修正load方法重复导入冲突的问题
r2292  修正runtime 使用require_cache的错误
r2290  修正 核心编译列表文件定义后 再次import的冲突bug
r2287  实现了驱动类库的扩展分离 包括数据库驱动、缓存驱动和模板引擎驱动
r2283  自动加载系统行为扩展 改进
r2280  系统内置模板文件统一为tpl 后缀
r2279  分组的模板结构改变为 Tpl/分组名/主题名/模块/操作.html
r2278  当前模板文件名配置 更名为 TEMPLATE_NAME //OsPHP.COM.CN
r2274  语言包目录移动到Extend/Lang 这里放置框架核心语言包
r2273  自动加载机制调整
r2266  Autoindex增加命令行判断
r2262  基类库目录移动到Extend/Library 核心Lib目录更名为Core
r2258  系统行为扩展自动加载 无需定义别名
r2257  修正分组模块不存在 自动加载上层模块的bug
r2255  表单令牌生成行为扩展 从模板内容替换行为扩展中分离出来
r2250  __hack_module 没有返回对象的话 直接返回 不再继续执行
r2248  __hack_module 函数如果返回false 则不再继续执行后面的操作 直接返回
r2246  去掉核心php文件最后的?>
r2245  去掉compat函数文件
r2244  改进系统行为扩展的编译机制
r2242  模式扩展的列表文件去掉alias
r2241  模式扩展的alias别名定义文件 自动加载 //开源OSPhP.COM.CN
r2240  url方法替代U函数
r2239  ShowPageTrace行为放到app_end标签
r2238  添加标签执行的日子记录
r2236  添加行为的执行日志记录
r2235  添加add_tag_behavior方法 用于动态添加行为扩展到某个标签
r2234  行为扩展定义文件 可以单独定义行为类的路径 便于模式扩展单独存放行为扩展 例如 支持 'app_init'=>array( 'MyName'=> MODE_PATH.'Cli/behavior/MyNameBehavior.class.php' )
r2233  移除兼容模式扩展Compat
r2232  模式扩展可以独立定义自己的行为扩展文件
r2230  改进tag方法 没有执行任何行为的话返回false view_parse 标签如果没有定义任何行为 则采用原生PHP模板解析
r2229  增加APP_TAGS_ON配置 用于设置是否开启系统行为扩展 应用行为扩展 可以通过更改APP_CONFIG_LIST 进行关闭
r2228  修正init运行时间的显示问题

//OSPHP.COm.CN


r2224  增加view_template标签扩展 用于解析定位模板文件
r2223  删除view类的buildHtml方法 直接移入action类 view类增加show方法用于输出内容 display方法调用show方法输出 fetch方法去掉display参数
r2222  增加view_filter标签扩展 用于内容输出过滤 header请求 移入display方法 view_begin 和 veiw_end 标签移入display方法 fetch方法参数改变
r2221  改进view类的fetch方法 header请求位置
r2220  入口文件简化 无需在项目入口文件中添加 App::run();
r2219  View类 output方法并入fetch方法 并删除templateFile属性
r2214  修改别名定义方式,改为直接返回数组方式定义即可 并且别名定义纳入编译缓存 增加项目的别名定义文件支持 可以在项目的配置目录增加alias.php文件
r2213  修改自动加载方法Think::autoload 改为使用搜索路径的方式 默认的APP_AUTOLOAD_PATH参数更改为@.Action,@.Model,@.Behavior,Think.Util 注意定义中不再需要加最后的.符号了 //OSPHP.com.CN
r2210  修改view_begin标签 增加templateFile参数 增加view_parse标签 并增加LocationTemplate和ParseTemplate行为扩展
r2208  去掉Action类的相关trace方法
r2206  改进tag方法 允许应用标签扩展覆盖系统标签扩展 默认情况下是合并标签扩展 如果在应用扩展中设置 '_overlay'=>1 则表示完全覆盖系统标签扩展的(对应的系统标签扩展将不被执行) 例如, 'app_begin'=>array('appBehavior1','appBehavior2','_overlay'=>1) 则表示app_begin标签将不再读取系统定义的标签扩展行为
r2200  去掉兼容函数 版本要求提升至PHP5.2.0
r2199  应用标签扩展定义和系统标签扩展定义可以同时定义 互不冲突,应用标签扩展只需要定义自己需要的标签扩展
r2198  惯例配置添加 APP_SUB_DOMAIN_RULES和APP_SUB_DOMAIN_DENY 默认设置
r2197  修正核心行为扩展的编译缓存
r2193  增加系统核心行为扩展文件 部分功能移出核心 纳入核心行为扩展 //OSPHP.COm.CN
r2192  系统行为扩展纳入编译缓存
r2191  添加系统默认核心行为扩展文件支持 系统默认核心行为扩展文件 位于Common/tags.php 应用行为扩展文件 需要复制该文件 然后添加额外的行为扩展
r2190  自动加载机制 添加项目的行为扩展类 位于项目目录下面的Lib/Behavior/ 下面的行为扩展类 无需手动导入即可自动加载
r2189  系统扩展目录增加标签库扩展 TagLib目录 该目录下面的标签库无需导入 可以自动加载
r2188  修改THINK_PATH APP_PATH 的调用 增加 MODE_PATH 常量用于模式扩展目录
r2182  改进B函数,自动检测行为 按照优先级加载行为类 系统行为优先执行
r2181  开放应用标签扩展 无需开启APP_PLUGIN_ON (该配置参数同时废弃) 增加app_init 标签位置 用于在URL调度之前 执行行为
r2180  系统目录增加Extend目录 用于系统扩展 原Mode目录移入Extend目录 作为模式扩展目录 Extend目录下面包括Behavior 用于系统行为扩展
//开源代码OSPHP.COM.Cn

r2179  runtime.php中的build_action 改名为 build_first_action
r2178  自动生成目录的时候 生成项目的Behavior、Widget和Filter目录
r2176  添加view_begin和view_end 应用标签扩展 便于对页面输出进行控制和扩展
r2175  日志保存加入Action析构方法
r2174  修正url函数的一个bug
r2171  路由规则加上变量的数字约束定义,例如: 'news/:id|d'=>'News/read'
r2170  修正cache缓存类的一个错误
r2166  规则路由进一步加强 可以支持 全动态和动静结合定义,例如 ':user/blog/:id'=>array('Home/Blog/user')
r2164  优化缓存驱动类
r2163  db类增加查询sql封装的缓存支持 惯例配置增加 'DB_SQL_BUILD_CACHE' => false, // 数据库查询的SQL创建缓存 'DB_SQL_BUILD_QUEUE' => 'file', // SQL缓存队列的缓存方式 支持 file xcache和apc 'DB_SQL_BUILD_LENGTH' => 20, // SQL缓存的队列长度
//PHP开源代码

r2162  S方法添加options参数 用于传人缓存类的连接配置参数 cache驱动类取消type属性,调整expire参数 加入连接配置参数,另外配置参数增加 length 驱动队列的长度 默认为0 表示不限制 queue 驱动队列的缓存方式 默认为file 支持xcache和apc
r2159  编译缓存中常量定义加上是否已经定义的判断 避免出现警告错误
r2156  u函数增加domain参数 如果是true 则生成的URL地址会添加域名或者子域名,默认false
r2155  url函数添加子域名支持 suffix和redirect参数对调位置
r2154  url函数的suffix参数默认值改为true
r2153  url函数suffix参数改进 使用字符串格式,默认为'' 表示取C('URL_HTML_SUFFIX') 非字符串方式 均表示不添加后缀
r2152  url函数处理默认分组的情况
r2151  url方法的参数传人改进 支持 url('module/action?status=1&b=1'); 或者 url('module/action',array('status'=>1,'b'=>1); 并且兼任 url('module/action','status=1&b=1'); //OSPHP.com.CN
r2149  路由定义规范如下: 1、正则路由定义 '路由正则'=>'[分组/模块/操作]?参数1=值1&参数2=值2...' '路由正则'=>array('[分组/模块/操作]','参数1=值1&参数2=值2...') '路由正则'=>'外部地址' '路由正则'=>array('外部地址','重定向代码') 参数值和外部地址中可以用动态变量 采用 :1 :2 的方式 2、规则路由 '路由规则'=>'[分组/模块/操作]?额外参数1=值1&额外参数2=值2...' '路由规则'=>array('[分组/模块/操作]','额外参数1=值1&额外参数2=值2...') '路由规则'=>'外部地址' '路由规则'=>array('外部地址','重定向代码') 路由规则中 :开头 表示动态变量 外部地址中可以用动态变量 采用 :1 :2 的方式
r2148  规则路由和正则路由的优化和规则定义规范
r2147  优化自定义路由解析代码
r2146  正则路由的自定义解析改进,返回字符串表示需要重定向跳转的URL地址 返回数组表示 需要合并到$_GET 数组

//OsPHP.COM.CN


r2145  正则路由增加自定义解析规则定义,例如: '/new\/(\d+)\/(\d+)/'=>array(':Think','myRule'), 调用myRule函数自定义路由正则解析 '/new\/(\d+)\/(\d+)/'=>array(':Think',array('Rule','check')), 调用Rule类的check方法自定义路由正则解析
r2144  修正 strip_whitespace 函数对heredoc字符串的支持
r2141  正则路由定义优化,改成 路由到模块和操作方式 '/new\/(\d+)\/(\d+)/'=>array('News/read/id/:1/page/:2','status=1') 路由重定向跳转方式 '/new\/(\d+)/'=>array('/new.php?id=:1&status=1','301')
r2140  对路由地址的重定向检测改进
r2139  路由定义改进 支持规则路由和正则路由 路由定义格式为 '路由规则'=>array('路由地址','路由参数') '路由正则'=>array('路由地址','路由参数') 原有路由配置文件需要调整为: 'URL_ROUTE_RULES'=>array( 'news/:month/:day/:id'=>array('News/read','status=1'), 'new/:id'=>array('/new.php?id=:1'), // 重定向方式 '/new\/(\d+)\/(\d+)/'=>array('News/read','id,page'), '/new\/(\d+)\/(\d+)/'=>array('/new.php?id=:1&page=:2','status=1'), // 重定向方式 ) //OsPHP.COM.CN
r2138  完善sae版对静态缓存的支持,并优化代码。
r2137  sae下的固定配置独立成文件,完善sae下日志记录问题。
r2135  缓存有效期 永久有效改为0
r2134  Model类补充getProperty方法
r2133  sae下,trace信息显示模版缓存的MC名称
r2132  sae下使用Memcache缓存代替File缓存,修正当缓存时间为-1时表示永不过期。
r2131  增加DB_MASTER_NUM配置参数用于 读写分离后 主(写)服务器数量 默认为1,数据操作的时候 会随机往主服务器写入
r2129  增加action_begin action_end 标签扩展位 success方法执行后不再exit 可以应用后置操作
r2128  取消动态配置文件功能 调整自动加载机制的位置
r2127  sae版核心代码与目前最新的普通核心进行同步。并增加了模拟器功能,用户在本地开发也能模拟出sae的环境,使用sae的服务。

//开源代码OSPhP.COm.CN


r2126  Cache类增加队列功能
r2125  修正Model类的flush方法的一处bug
r2124  修正Model类db方法的一处bug
r2123  Model类的db方法的第二个config参数支持配置参数
r2122  完善Memcache缓存驱动 增加MEMCACHE_HOST和MEMCACHE_PORT配置 Db缓存类的缓存表去掉id字段 cachekey字段改为唯一
r2120  增加规则权限认证方式,弥补RBAC认证的一些不便。能同时认证多条规则,可设置规则关系,可以设置规则表达式等,具体用法见源码注释。
r2119  查询结果为空的时候不缓存
r2118  改进查询缓存的获取
r2116  Model增加查询缓存支持,使用连贯操作cache调用,用法如下: 采用默认配置缓存 $Model->cache()->select(); 采用memcche缓存1小时 $Model->cache(true,3600,'memcache')->select(); 采用memcache缓存一小时 并设置缓存别名cache_name $Model->cache('cache_name',3600,'memcache')->select(); //OSPHP.COm.CN
r2115  完善Db类的parseFields方法 改进对 Model中field('key,value')的支持
r2114  增加url函数 用于测试后替代U函数,用法: url('/Admin/index/','status=1&name=test'); url('__URL__/add'); url('__APP__/User/edit','id=2'); 可以自动识别当前URL模式和PATHINFO分隔符和伪静态后缀设置, 格式为 url('/分组名/模块名/操作名','参数1=值1&参数2=值2) 第一个参数可以支持__APP__ __GROUP__ __URL__ __ACTION__ 自动替换 暂时不支持子域名和跨项目
r2113  增加DbSession行为扩展
r2112  修正CacheDb缓存驱动类
r2111  APP_CONFIG_LIST配置参数改为字符串方式 (数组方式保留) 并且取消taglibs modules actions 外部扩展文件支持。 并且更改动态配置的获取方式,例如配置 'APP_CONFIG_LIST' => 'routes,tags,htmls', 则获取routes.php 里面的配置为C('routes'); 获取其中的某个参数为 C('routes.my_config_name');
r2110  删除app_init标签 并入app_begin标签
//开源代码OSPHP.COM.Cn

r2109  增加redis缓存方式支持
r2108  改进Db类的parseWhere方法对between数据的处理
r2107  取消APP_AUTOLOAD_REG配置参数 取消APP_DOMAIN_DEPLOY配置参数 session初始化放到init之后 App标签扩展统一移入App::run方法检测
r2106  Model增加parseFieldsMap方法 用于处理字段映射的数据写入和读取 create方法已经内置对字段映射的数据写入支持 字段映射的读取需要手动处理 在find方法之后调用,例如: $data = $Model->where()->find(); parseFieldsMap($data);
r2105  create方法中的检查字段映射 放到状态检查之前 用于需要映射主键的情况
r2104  完善Db类的table解析方法 可以支持数组方式 model类的table方法支持数组方式参数 支持表别名定义,例如 table(array('think_user'=>'user','think_article'=>'article'))
r2102  rest模式 路由定义允许定义多个资源访问类型
r2100  rest模式增加公共函数文件和单独的配置参数 rest模式改进安全检测 增加访问入口支持 例如 user_get_xml 如果请求为默认get方式 会找第二个入口user_xml 如果post请求,资源类型为默认html方式 会找第二个入口user_post

//开源OSPhP.COM.CN


r2099  Model类create方法中生成数据对象 增加 autoCheckFields属性的判断 如果autoCheckFields关闭 则不过滤表单中的非数据表字段
r2098  Mongo驱动增加调试SQL支持 也可以在MongoModel中采用getlastsql或者_sql方法调试最后执行命令 但是仅限于调试模式支持
r2097  数据库Db类添加union查询支持 Db类增加buildSelectSql方法 用于生成查询sql Model类增加buildSql方法 用于生成子查询SQL 用法 $Model->where()->field()->order()->limit()->buildSql(); 和select用法一样 buildSql方法必须用在连贯操作的最后 model类增加union连贯操作
r2096  修正Rest模式的Action一处错误
r2095  修正目录结构改变 导致的build_action报错
r2094  移除原来Dispatcher和Action类中对RestFul支持 由REST模式替代
r2093  增加REST模式
r2092  Db类addSpecialChar方法更名为parseKey 用于统一处理字段名中的关键字

//OSPHP.COM.Cn开源


r2090  LOG_RECORD_LEVEL 设置参数 改成字符串方式 用逗号分隔
r2089  LANG_LIST 设置改为字符串方式 用逗号分隔多个
r2088  增加LANG_LIST配置参数 用于设置允许切换的语言
r2087  修正部署模式下面 模板输出{__RUNTIME__} 的bug
r2086  优化Model类的flush方法 在没有获取到字段信息则直接返回false 也不会记录字段缓存
r2085  修正mysql驱动bug
r2084  修正Model类_parseType方法
r2083  分页类参数修改
r2082  优化多语言的自动侦测
r2081  分页配置参数移出惯例配置 需要的话在项目配置中添加即可
r2080  去掉MongoModel的getPk方法 改造flush方法里面的主键和自增记录
r2079  Model类增加_parseType 用于字段类型检测和转换
r2078  修正CacheDb数据库缓存类
r2077  Model类增加_after_db回调接口

//OSPHP.com.CN


r2075  Model类的_parseOptions方法改成protected访问
r2073  MongoModel改用回调接口方式处理
r2071  完善MongoModel 支持单独设置不同的dbName
r2070  Action内置获取get post put等参数的方法前面加_
r2069  修正Mongo驱动主键删除条件的bug
r2068  修正Mongo 在snapshot模式下不支持sort
r2067  加强捕获Mongo驱动类的异常 惯例配置的数据库端口默认为空
r2066  修正Mongo的collection获取错误
r2065  删除MongoModel部分和Model相同的代码
r2064  修正Mongo数据库驱动的delete方法
r2063  增加MongoModel别名定义 用于自动加载MongoModel类
r2062  增加Mongo数据库驱动类 增加MongoModel用于配合Mongo数据库驱动操作数据
r2061  Model类的_parseOptions方法参数设置默认值
r2060  字段缓存文件名 增加数据库前缀 //开源代码OSPhP.COm.CN
r2059  更改模块扩展和操作扩展方式 采用hack方式 分别定义__hack_module和__hack_action
r2058  增加系统默认页面跳转模板支持,可通过配置参数 TMPL_ACTION_ERROR和TMPL_ACTION_SUCCESS改变
r2057  增加SHOW_LOAD_FILE 参数 用于控制是否需要显示加载文件数 该参数 仅在SHOW_RUN_TIME 开启时有效
r2056  优化内存开销计算
r2054  资源访问类型 __EXT__ 强制小写转换
r2053  修正运行时间中的template部分的计算 去除运行时间显示的外层div 由模板文件自己控制
r2052  主入口文件里面执行的load_think_mode函数放入runtime.php 文件执行
r2051  调试模式切换删除编译缓存 便于调试后直接切换到部署模式
r2050  废除模块配置文件功能 需要的话可以使用项目配置文件或者动态配置文件
r2049  Dispatcher类移动到Think/Core包
r2047  action增加资源访问入口方法支持,例如,当前访问操作为user模块的pic操作 访问资源类型为 jpg 那么如果没有定义pic方法入口方法自动解析为 pic_jpg 如果有定义pic方法的话则需要自己解析
//开源代码OSPHP.COM.Cn

r2046  增加根据访问方式单独定义action方法支持
r2045  增加URL访问资源类型获取 定义__EXT__ 用于后续操作 路由定义增加访问方式和资源类型定义
r2043  自动生成目录结构完善 支持配置多级子目录的支持
r2042  完善根目录部署的时候 模板目录的定位 只需要设置 define('APP_NAME','');
r2040  Db类对page连贯操作的完善支持
r2039  令牌验证放到自动验证成功后 避免验证错误后 表单令牌错误的情况
r2037  废除操作链功能
r2035  优化编译缓存
r2034  调试模式配置参数调整
r2033  鉴于没有项目编译缓存的概念了,故废除自定义项目编译缓存功能 如果需要 直接使用模式扩展的项目自定义列表功能
r2031  取消APP_DEPLOY常量 增加APP_DEBUG常量 表示是否开启调试模式 默认为false
r2028  修正CLI模式下面的模块名获取 //OsPHP.COM.CN
r2027  修正Db类在有些情况下报close方法未定义错误
r2026  修正部署模式下面的内存占用显示错误
r2019  allinone模式和普通模式合并 项目运行模式分为部署模式和调试模式 增加常量APP_DEPLOY定义 设置当前项目的运行模式 默认为false 表示调试模式 切换到部署模式 需要在入口文件增加 define('APP_DEPLOY',True); 并废除下列常量定义,包括:APP_CACHE_NAME、NO_CACHE_RUNTIME、RUNTIME_ALLINONE、STRIP_RUNTIME_SPACE 废除下列配置参数,包括:APP_DEBUG
r2018  取消模板快捷变量输出 统一使用标准变量输出方式
r2017  IN 查询增加表达式参数支持 用于某些特殊情况的IN查询 $map['id'] = array('IN',$subQuery,'exp'); 其中subQuery是一个子查询或者SQL函数语法等 就可以使用exp参数在后面
r2016  Model增加子查询支持,使用子查询的时候 select方法的参数必须为false,例如: // 首先构造子查询SQL $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false); // 进行查询 $model->table($subQuery.' a')->where()->order()->select() 构造的子查询SQL可用于TP的连贯操作方法,例如table where等 //开源OSPhP.COM.CN
r2015  数据库驱动类的__destruct方法移到Db类
r2013  改进mysql类的escape_string方法
r2012  __SELF__ 常量定义移到 defines文件 避免Log记录的时候出错
r2011  修正mysql驱动的escape_string方法
r2007  Lite模式的模板引擎类同步核心模板引擎类的改进升级
r2005  TMPL_ALLOW_PHP 配置参数 改成 TMPL_DENY_PHP 更便于升级兼容
r2004  正文提取类,可提取任意网页的正文,成功率很高 实例: $he = new HtmlExtractor(); $str = $he->text($html); 其中$html是某个网页的HTML代码,$str是返回的正文,正文编码是utf-8的
r2002  将__TABLE_NAME__这样的字符串替换成正规的表名,并且带上前缀和后缀 例如 $dao->join("__CHANNEL__ as c on c.pid = __COMPANY__.channelpid")->limit(10)->select(); 其中__CHANNEL__ 和 __COMPANY__ 将会翻译成对应的表名 这样使代码更好看也更易理解。
r2000  由于php 5.3弃用了mysql_escape_string()这个函数,所以改为mysql_real_escape_string保证向后兼容。 //PHP开源代码
r1998  去掉模板引擎自身多余的缓存检测
r1997  废弃模板引擎的普通标签方式的include和load标签 以下用法不再支持 {include:public/header.html} {load:/public/css/common.css} 替代用法 因为XML标签方式的include和load用法更强大 ,包括可以传人模板变量名等,XML方式的load标签还有很多的别名用法,完全可以取代普通标签加载。 目前,普通标签仅仅用于输出变量和一些快捷输出。
r1995  parsePhp方法解析位置移动
r1994  改进cx标签库的include标签的解析效率
r1993  改进数据库驱动类对长连接配置的支持,配置下面参数即可 'DB_PARAMS'=>array('persist'=>true),
r1991  修正PHP 5.4版本支持
r1989  优化标签库解析 改进扩展标签库的位置定义,默认标签库位于 ThinkPHP/Lib/Think/Template/TagLib下面,如果不是,定义别名指定即可 //OSPHP.com.CN
r1988  如果系统支持SPL模块 默认使用sql_autoload_register注册自动加载 避免很多第三方系统中的类库自动加载覆盖问题
r1985  查询条件增加定义方式,例如: $map['name&title'] = array('like','%Think'); 等效于 $map['title'] = array('like','%Think'); $map['name'] = array('like','%Think');
r1983  增加pdo的sqlsrv数据库类型的支持
r1982  改进PDO驱动类的getFields方法对sqlite的支持
r1981  查询条件增加定义方式,并增加条件字段安全检测,例如: $map['name|title'] = array('like','%Think'); 等效于 $map['title'] = array('like','%Think'); $map['name'] = array('like','%Think'); $map['_logic'] = 'OR';
r1980  鉴于使用频繁,给model类的getlastsql方法增加别名_sql
r1979  由DbMssql驱动类修改而来的DbSqlsrv驱动[尚未完全测试]
r1976 废除model类的findall 如需要用select替代或者在公共模型类里面添加findall定义 //开源代码OSPhP.COm.CN
r1975  Model增加check方法 用于个别需要的情况手动验证数据,支持部分自动验证的规则 用法 check('验证数据','验证规则','验证类型') 验证类型支持 in between equal length regex expire ip_allow ip_deny,默认为regex 结果返回布尔值 $model->check($value,'email'); $model->check($value,'1,2,3','in');
r1974  自动验证规则增加between 用于判断提交数据是否在一个范围之内 例如 array('num','10,100','必须在10到100之间',0,’between’) 完善in规则,支持逗号分隔的字符串 array('num','1,2,5','只能选择1,2,5',0,’in’) 和下面的定义等效 array('num',array(1,2,5),'只能选择1,2,5',0,’in’)
r1973  Model类增加getFieldBy*** 动态方法 用于根据某个字段的值获取记录的其他字段
r1972  删除URL_PATHINFO_MODEL设置参数 PATHINFO模式保留智能模式
r1971  增加TOKEN_RESET参数 设置令牌错误后是否重置 默认为true //OSPHP.COm.CN
r1970  表单令牌的尝试性改进 支持多窗口的令牌验证
r1968  Action的success和error方法添加jumpUrl参数 用于直接传人跳转地址
r1967  修正模板变量的函数解析的参数中带有=的BUG
r1966  日志信息添加当前URL记录
r1964  视图模型的视图定义添加实际表名定义支持 使用 '_table'=>'test_db.test_table'
r1963  鉴于使用频率不高,取消Model类的tableSuffix属性定义 需要的话可以用定义trueTableName属性替代
r1962  改进Model类和M方法 Model类架构方法增加dbName支持和tablePrefix参数 M方法可以直接用于跨库和不同数据表前缀支持
r1961  添加自动验证的批量验证功能 需要在模型类里面设置patchValidate属性为true 默认为false,批处理验证采用getError() 方法获取后的错误信息是一个数组 需要自行处理。
r1960  修正TMPL_PARSE_STRING无法正常替换的问题,用户自定义的替换规则必须是大写
//OSPHP.COm.CN

r1959  修正Action类的get方法的冲突问题
r1957  Action增加get post put request session cookie server globals方法 并支持参数过滤和默认值,例如: $this->post('name','h'); 等效于 h($_POST['name']); $this->get('id','intval',0); 等效于 intval($_GET['id']) 如果没有传入过滤方法 则采用惯例配置默认配置的方法 由DEFAULT_FILTER设置(默认为htmlspecialchars) 因此 $this->post('name'); 等效于 htmlspecialchars($_POST['name']);
r1955  CLI模式支持两种URL方式: pathinfo方式调用(默认) php index.php module/action/id/4/name/hello 并且支持pathinfo分隔符定制 配置URL_PATHINFO_DEPR即可 php index.php module_action_id_4_name_hello 普通方式调用 php index.php module action id 4 name hello
r1954  模板主题允许设置为空字符串,默认仍然保留default主题
r1952  完善C方法 修正二维配置的大小写问题 完善后所有配置参数都不再区分大小写

//OSPHP.COm.CN


r1950  自动验证增加ip_deny和ip_allow 验证 暂时仅支持全ip设置 多个用逗号分隔,格式如下: array('任意字段','202.3.4.55,202.3.4.57','当前IP未被允许操作',self::MUST_VALIDATE,'ip_allow',self::MODEL_BOTH) array('任意字段','221.45.6.77','当前IP禁止操作',self::MUST_VALIDATE,'ip_deny',self::MODEL_BOTH)
r1949  重写get_client_ip函数 修正iis下面的问题, 优化而且增加合法性验证,并且从扩展函数库移到内置函数库
r1948  完善Lite和Thin模式扩展的Model类
r1947  Cli模式的Action类增加_initialize方法支持
r1946  CLI模式扩展 增加参数获取功能 所有命令行参数均可以采用 $_GET 方式获取
r1945  修正amf phprpc模式扩展在allinone模式下面的编译缓存错误
r1944  修正扩展模式Cli Lite和Thin模式的ALLINONE模式编译缓存错误
r1943  自动验证添加操作有效期验证 支持时间戳和日期格式定义 定义格式 array('任意字段','2011-10-1,2011-12-31','已经过了投票时间',self::MUST_VALIDATE,'expire',self::MODEL_INSERT) //开源代码OSPHP.COM.Cn
r1942  字段验证方式 增加长度验证,格式定义如下: 区间格式定义 array('username','3,6','用户名长度必须大于等于3小于等于6',self::MUST_VALIDATE,'length',self::MODEL_INSERT) 指定长度定义 array('mobile','11','手机号码长度必须11位',self::MUST_VALIDATE,'length',self::MODEL_INSERT)
r1941  内置模板引擎添加是否允许使用PHP代码设置 TMPL_ALLOW_PHP 默认为true 表示可以使用
r1940  修正ALLINONE模式下面strip_whitespace未定义错误
r1938  修正模型类的find方法当主键值为0的时候的BUG
r1936  改进模型类的create方法对数据的验证
r1935  路由功能增加路由跳转支持
r1934  修正Model类的getTableName中关于dbName的获取
r1932  模板输出运行时间完善 支持显示定位(默认在最后),并且支持单独设置某个页面不输出
r1931  改进模板输出替换变量__GROUP__ 如果当前没有分组则输出同 __APP__

//PHP开源代码


r1927  F方法缓存的时候去掉空白和注释 修正C方法的二级配置大小写问题
r1926  增加了VAR_SESSION_ID配置项,用户可以指定session_id,解决如uploadify等读取session的问题。
r1924  扩展ajax返回数据, 用户可以在Action文件中定义ajaxAssign方法来扩展ajax返回数据。
r1922  删除高级模型类里面的切换数据库相关方法 2.1版本以上推荐直接使用模型类的db方法切换
r1920  完善Image类的output方法 在输出之前先ob_clean
r1918  修正Dispatcher类的简单路由的替换BUG
r1917  修正mssql驱动类的端口支持
r1916  修正String类的msubstr方法不添加...的问题
r1915  修正扩展函数库的msubstr方法不添加...的问题
r1914  修正Cx标签库的volist标签的mod属性
r1913  删除Db类中多余的addConnect和switchConnect方法
r1912  Model类db方法增加params参数 用于切换数据库的时候传人额外的模型参数 原则上支持任意Model类的属性
//OSPHP.COm.CN

r1911  Db类parseConfig方法支持数组配置信息
r1910  更新SAE入口文件,增加解决同一应用并列项目冲突问题
r1909  mysql和mysqli驱动insertAll方法增加replace参数
r1908  修复分页参数的一个漏洞
r1905 修正URL_CASE_INSENSITIVE的一个bug
r1904  修正Image类引用了未定义函数
r1901  修正rbac示例的RoleModel的setGroupModules方法
r1899  修正Db类的insert方法的一处notice错误
r1897  添加SAE版核心,能在新浪SAE平台使用。
r1895  修正Db类的parseWhere方法在not between 查询条件下面的BUG
收藏本文到网摘: 添加到“Google书签” 添加到“Yahoo收藏” 添加到“QQ书签” 搜狐网摘 添加到“百度搜藏” 添加到“新浪ViVi收藏夹” 添加到“Del.icio.us” 添加到“365天天网摘” 添加到“天极网摘” 我摘·网摘·网络书签 添加到“POCO网摘” YouNote网摘 添加到“和讯网摘” 添加到“Bolaa博客收录中心” 添加到“igooi网摘” 添加到“天下图摘”
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容
  • 中查看更多“thinkphp3.0改进功能列表”相关内容

  • 最后编辑: shuguang 编辑于2012/01/18 11:50
    发表评论

    昵称

    网址

    电邮

    打开HTML 打开UBB 打开表情 隐藏 记住我 [登录系统] [注册]