<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>ThinkPHP官方博客</title>
		<link>http://www.thinkphp.cn/blog.html</link>
		<description><![CDATA[ThinkPHP 中文最佳实践框架  大道至简 开发由我   JUST THINK IT ]]></description>
		<language>zh-cn</language>
		<copyright>(c) 2010 http://thinkphp.cn All rights reserved.</copyright>
						<pubDate>2012-05-17 23:57:20</pubDate>		<lastBuildDate>2012-05-14 16:54:36</lastBuildDate>								<ttl>60</ttl>		<image>
			<url>http://thinkphp.cn/logo.png</url>
			<title>ThinkPHP官方博客</title>
			<link>http://www.thinkphp.cn/blog.html</link>
									<description><![CDATA[ThinkPHP官方博客]]></description>		</image>										<item>
			<title>test</title>
			<link>http://www.thinkphp.cn/blog-59.html</link>
			<description><![CDATA[]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-05-14 16:54:36</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>官方即将停止对2.0版本的支持</title>
			<link>http://www.thinkphp.cn/blog-58.html</link>
			<description><![CDATA[<p><span style="color:#337FE5;font-size:16px;">为了更好地做好ThinkPHP框架的开发、维护和支持工作，官方宣布从2012年</span><span style="color:#337FE5;font-size:16px;">5月1日起停止对2.0及之前版本的维护和支持，为了节能低碳考虑，同时也取消官网的相应版本和文档</span><span style="color:#337FE5;font-size:16px;">下载。</span></p><p><span style="color:#337FE5;font-size:16px;">就此缅怀<span style="color:#337FE5;font-size:16px;">那些年，曾经一起开发的</span>ThinkPHP版本吧！<br /></span></p><p><strong>关于ThinkPHP 2.0版本</strong></p><p>ThinkPHP诞生于2006年，致力于WEB应用的快速开发，其2.0版本发布于2009年10月1日 ，在之前的1.*版本上完成新的重构和飞跃，当时是一次划时代的版本，为新版奠定了基础，同时也积累了较多的用户群和网站，随着框架的快速更新，和新版2.1、2.2和3.0版本的陆续发布，预示着ThinkPHP的3.0时代到来了，2.0的生命周期宣告结束。但基本上2.0的很多功能都延续或者完善到2.1版本中了，从2.0版本升级到2.1和2.2版本也相对轻松。2.2版本是2.*版本的最终版本，不再更新功能，仅做BUG修复。</p><p><br /></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-04-20 12:24:33</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP发布3.0.1Dev版本</title>
			<link>http://www.thinkphp.cn/blog-57.html</link>
			<description><![CDATA[<p><span style="font-size:18px;"><strong>ThinkPHP发布开发版本 3.0.1dev </strong></span></p><p><br /><span style="font-size:18px;"></span></p>注意，这次发布的是开发版本，提供开发人员体验和测试，不建议用于正式项目。<br /><br />[ 更新日志 ]<br />Action参数绑定支持<br />模型类命名范围支持<br />全局系统变量安全过滤支持<br />增加IS_GET IS_POST IS_PUT 等请求类型常量<br />日志记录改进 优化日志大小 增加IP记录<br />U函数对子域名部署的增强和优化<br />模型类增加filter连贯操作方法 用于对数据的安全过滤<br />模型类的data方法支持获取当前数据对象<br />Action类增加_param方法支持 可以自动根据当前提交类型 获取参数<br />Action类的_get _post方法支持多函数过滤<br />改进ajaxReturn方法<br />改进success和error方法<br />增加自动验证的规则<br />分组模式下 模型分组可以自动加载<br />模型类增加close方法 驱动类支持多数据库连接关闭<br />模型类增加表单提交字段合法性检测 配置insert_fields 和 update_fields<br />模型强制进行数据字段类型验证<br />增加DB_SLAVE_NO配置参数 用于指定读服务器的序号<br />优化模型的create方法的数据对象生成<br />自动验证的function和callback规则支持多字段<br /><br />下载地址：<a target="_blank" href="http://thinkphp.cn/down-176.html">http://thinkphp.cn/down-176.html</a><br />]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-04-05 13:36:09</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>官网启用下载服务器，速度有望进一步提高！</title>
			<link>http://www.thinkphp.cn/blog-56.html</link>
			<description><![CDATA[<p>鉴于3.0正式版发布以来下载流量消耗巨大，为了提供更好的访问速度，官网正式启用了专门的下载服务器，并且对官方发布的框架版本提供了下载分流功能，官网访问速度可以进一步提高了^_^</p><p>下载列表中的下载地址是默认的官网下载服务器下载，进入详细页后可以选择更多的分流下载。</p><p><br /></p><div><img src="/Uploads/editor/2012-03-29/4f741e005938a.jpg" alt="" /><br /> </div><p><br /></p><p><br /></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-29 14:54:36</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP_20120323漏洞补丁</title>
			<link>http://www.thinkphp.cn/blog-55.html</link>
			<description><![CDATA[[ ThinkPHP URL安全漏洞补丁 ]<br /><strong><span style="color:#E53333;font-size:16px;">该URL安全漏洞会造成用户在客户端伪造URL，执行非法代码。</span></strong><br /><p><strong><span style="color:#E53333;font-size:16px;">影响到的版本包括2.1、2.2和3.0 请对应相关版本及时更新核心程序。</span></strong></p><p><strong><span style="color:#E53333;font-size:16px;"><br /></span></strong></p><p>下载地址：<a href="http://thinkphp.cn/download-116.html">点击下载安全补丁</a></p><p>修正方法：</p><p>首先解压缩安全补丁文件。</p>2.1和2.2版本<br />替换补丁包中的Dispatcher.class.php 文件到 ThinkPHP/Lib/Think/Util/目录下的同名文件<br /><br />3.0版本<br />替换补丁包中的Dispatcher.class.php 文件到 ThinkPHP/Lib/Core/目录下面的同名文件<br />替换补丁包中的CheckRouteBehavior.class.php 文件到 ThinkPHP/Lib/Behavior/目录下面的同名文件<br /><br /><p><strong><span style="color:red;font-size:16px;">替换后记得删除编译缓存文件</span></strong></p><p><strong><span style="color:#337FE5;font-size:16px;">PS:官网的2.2和3.0版本</span></strong><strong><span style="color:#337FE5;font-size:16px;">下载已经更新补丁</span></strong></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-23 14:22:37</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP3.0在线手册上线了</title>
			<link>http://www.thinkphp.cn/blog-54.html</link>
			<description><![CDATA[<p><strong><span style="color:#337FE5;font-size:16px;">ThinkPHP3.0在线手册上线了 </span></strong></p><p>访问地址：<a target="_blank" href="http://doc.thinkphp.cn/manual/">http://doc.thinkphp.cn/manual/</a></p><p>功能逐步完善中</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-19 15:47:26</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>120G流量就这么快用完了</title>
			<link>http://www.thinkphp.cn/blog-53.html</link>
			<description><![CDATA[<p>备案迁移空间后不到一周，120G的香港空间流量这么快玩完了<img alt="" src="/Public/Home/Js/KindEditor/plugins/emoticons/images/9.gif" border="0" /></p><p>2012.03.07 15.83GB<br />2012.03.08 21.04GB<br />2012.03.09 31.39GB<br />2012.03.10 15.34GB<br />2012.03.11 17.90GB<br />2012.03.12 17.84GB <br /><strong><span style="font-size:16px;color:#337fe5;">最近网站访问速度有点慢，希望大家理解~我们会尽快完善处理！</span></strong></p><p>这里给出官方分流下载地址：</p><p>115网盘下载：<a href="http://115.com/folder/fauscrg8">http://115.com/folder/fauscrg8</a></p><p><br /></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-13 16:42:57</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>由Github被Hack联想到TP的安全性</title>
			<link>http://www.thinkphp.cn/blog-52.html</link>
			<description><![CDATA[<p>最近<a target="_blank" href="http://www.baidu.com/s?tn=ichuner_1_dg&amp;bs=Github+%B1%BB+Hack&amp;f=8&amp;rsv_bp=1&amp;wd=Github+Hack&amp;inputT=955">Github 被 Hack</a>的事情经常被提及，由此联想到TP的安全性问题。</p><p>熟悉TP的开发人员都知道TP有一个Create方法，可以完成表单数据自动创建功能，同样的，用户可以通过浏览器猜测字段，并伪造一些数据，而如果你没有做任何防护措施的话。</p><hr style="page-break-after:always;" class="ke-pagebreak" /><p>官方的建议是Create方法配合自动验证和自动完成机制，例如，在自动验证里面对某些字段进行不能提交的验证，或者在自动完成里面对某些字段强制重新写入（包括状态、身份等等）。</p><p>如果你不愿意用自动验证或者自动完成的话，还有一种方式是在使用Create方法之后，通过数据对象赋值的方式强制重新写入安全数据，例如：</p><p><br /></p>
<pre class="prettyprint linenums lang-php">$User&nbsp;=&nbsp;M('User');
if($User-&gt;create()){
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;关键代码在这里
&nbsp;&nbsp;&nbsp;&nbsp;$User-&gt;status&nbsp;=&nbsp;0;&nbsp;//&nbsp;指定状态写入
&nbsp;&nbsp;&nbsp;&nbsp;$User-&gt;is_admin&nbsp;=0;&nbsp;//&nbsp;指定用户身份
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;或者根据你的业务要求动态判断后强制写入
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;...&nbsp;后续进行保存操作
&nbsp;&nbsp;&nbsp;&nbsp;$User-&gt;save();
}else{
&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;error($User-&gt;getError());
}</pre>
后续改进请关注官方最新的开发版本更新。<p><br /></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-08 17:48:16</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP3.0正式版发布</title>
			<link>http://www.thinkphp.cn/blog-51.html</link>
			<description><![CDATA[<p><img alt="" src="http://thinkphp.cn/logo.png" /></p><p><span style="color:#337FE5;font-size:18px;"><strong>新起点 新突破 ThinkPHP3.0正式版发布</strong></span></p><p><br />在ThinkPHP发布6周年之际，我们很荣幸地宣布ThinkPHP3.0正式版发布了！<br />3.0版本是继1.5和2.0两个重大里程碑之后的又一个新的起点和突破，无论从功能、性能和扩展性方面都有新的突破，重点在于底层架构的全新调整和进一步创新，以及更多规范化的调整，全新的CBD（核心+行为+驱动）架构模式，打造DIY框架和类AOP编程体验，足以满足日益复杂的项目定制和产品开发需求。 同时，3.0版本开始也正式迈入对包括SAE在内的云平台的引擎扩展支持。</p><hr style="page-break-after:always;" class="ke-pagebreak" /><p>6年多来，为了让WEB开发变得更简单，我们一直在努力！秉承大道至简的开发理念，ThinkPHP目前已经成长为国内领先和最具影响力的WEB应用开发框架，其应用领域和典型案例分布于各个行业，在快速开发、安全、效率、负载上都有很大优势。<br /><br />并在此感谢社区众多参与者的贡献精神和广大TPer一直以来对ThinkPHP的支持和不离不弃！<br /><br /><strong>[ 新版主要特性 ]</strong><br />1、CBD（核心+行为+驱动）架构模式（打造DIY框架和类AOP编程体验）；<br />2、改进的项目编译；<br />3、增强的调试模式；<br />4、增强的路由机制；<br />5、内部导入和自动加载优化；<br />6、ORM增强；<br />7、模板引擎性能提升；<br />8、全新布局模板；<br />9、MongoDb支持；<br />10、RESTFul支持；<br />11、SAE引擎支持（提供SAE部署和本地化调试支持）；<br />12、底层目录结构规范和扩展完全分离；<br />13、更丰富的扩展和驱动；</p><p>详细的更新日志<a href="http://thinkphp.cn/changelog.txt" target="_blank">查看这里</a>。</p><p><br /></p><p>[ 下载 ]<br />ThinkPHP3.0 [ <a href="http://thinkphp.cn/download-112.html">核心版下载</a> <a href="http://thinkphp.cn/download-113.html">完整版下载</a> <a href="http://thinkphp.cn/down-extend.html">扩展下载</a> ]<br />SVN下载<br />核心包 http://thinkphp.googlecode.com/svn/trunk/ThinkPHP<br />完整包 http://thinkphp.googlecode.com/svn/trunk/ <br />如果无法下载 请使用下面的网盘下载</p><p><br />[ 文档 ]<br />ThinkPHP3.0 完全开发手册 [ <a href="http://thinkphp.cn/download-115.html">CHM版</a> <a href="http://thinkphp.cn/download-114.html">PDF版</a> ]<br />3.0在线手册和类库参考手册整理中</p><br />[ 升级 ]<br />对于2.1升级到3.0的过程官方给出了：<a href="http://thinkphp.cn/download-106.html">ThinkPHP3.0 升级指导手册 </a><br /><br />[ 反馈和建议 ]<br /> <p>关于新版的反馈和建议，请到官方论坛。</p><p><br /></p><p>[ 网盘下载 ]</p><p>ThinkPHP3.0完整版 <a href="http://115.com/file/bel5ywan">http://115.com/file/bel5ywan</a>#<br />ThinkPHP3.0核心版p <a href="http://115.com/file/c24nj4m3">http://115.com/file/c24nj4m3</a>#<br />ThinkPHP3.0完全开发手册chm <a href="http://115.com/file/c24nj994">http://115.com/file/c24nj994</a>#<br />ThinkPHP3.0完全开发手册pdf <a href="http://115.com/file/an93vfwq">http://115.com/file/an93vfwq</a>#</p><p><br />ThinkPHP官方团队2012.3.5</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-05 16:23:59</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>PHP发布5.4.0正式版</title>
			<link>http://www.thinkphp.cn/blog-50.html</link>
			<description><![CDATA[<p>PHP官方宣布发布PHP <strong><span style="color:#e53333;">5.4.0正式版</span></strong>。</p><p>这个版本在5.x系列基础上有很大的飞跃，此版本包括很多的新的功能，同时也修复了许多的bug。<br />一些主要的功能包括：缩短数组语法特性，用于测试的内置web服务器。PHP5.4.0显著的提高了性能和内存，修复了超过100个的bug。</p><p><br /><strong>官方发行说明</strong>：<a href="http://php.net/releases/5_4_0.php" target="_blank">http://php.net/releases/5_4_0.php</a><br /><strong>5.3 到 5.4 的移植指南</strong>：<a href="http://php.net/migration54" target="_blank">http://php.net/migration54</a><br /><strong>下载地址</strong>：<a href="http://php.net/downloads.php#v5.4.0" target="_blank">http://php.net/downloads.php#v5.4.0</a></p><p>&nbsp;</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-02 14:56:13</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>关于TP操作方法的缺陷解决</title>
			<link>http://www.thinkphp.cn/blog-49.html</link>
			<description><![CDATA[<p>一直以来，TP的操作方法存在一个缺陷，由于TP倡导的是大道至简的原则，所以操作方法的命名就是当前的ACTION_NAME，这也造成了ACTION_NAME的命名可能会和PHP关键字冲突的情况，例如无法定义list或者case这样的操作名（虽然可以通过路由定义解决），其他框架的解决办法是给操作方法的定义增加一个前缀，例如list操作方法可能调用的实际控制器方法可能是actionList 这样，不过这个规则一般是固定的。</p><p>现在最新的SVN更新解决了这一问题，我们可以通过对action_name标签位置增加行为扩展来解决，也就是说，通过这个标签的行为扩展可以接管操作方法的实际定义问题了，甚至可以动态的设置当前URL中的ACTION_NAME实际访问的控制器方法名。</p><hr style="page-break-after:always;" class="ke-pagebreak" /><p>举个例子来说，如果我们在action_name行为扩展中对操作方法加上action前缀的话，如果我们访问list和case操作的话，可能实际访问的控制器方法是 actionList 和 actionCase。</p><p>附上，该行为扩展的关键代码：</p>
<pre class="prettyprint linenums lang-php">class&nbsp;MyActionNameBehavior&nbsp;extends&nbsp;Behavior&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;run(&amp;$actionName){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;自定义操作方法名
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$actionName&nbsp;&nbsp;=&nbsp;'action'.ucwords($actionName);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
}</pre>
<p>&nbsp;</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-03-02 13:46:22</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>field('*')和field(true)的用法区别</title>
			<link>http://www.thinkphp.cn/blog-48.html</link>
			<description><![CDATA[<p>最新的SVN版本增加了field(true)用法支持，和field('*')用法的区别在于</p><p>field(true)是<strong><span style="color:#e53333;">显式的获取</span></strong>数据表的全部字段，举例说明：</p><p>think_data表有id,name,data,status 4个字段，我们使用</p>
<pre class="prettyprint linenums lang-php">$model&nbsp;=&nbsp;M('Data');
$model-&gt;field('*')-&gt;select();
//&nbsp;或者
//&nbsp;$model-&gt;select();</pre>
<p>最后生成的SQL语句是</p><p>SELECT * FROM think_data</p><p>而如果使用<hr style="page-break-after:always;" class="ke-pagebreak" /><p>
<pre class="prettyprint linenums lang-php">$model-&gt;field(true)-&gt;select();</pre>
<p>的话，生成的SQL语句则是：</p><p>SELECT id,name,data,status FROM think_data</p><p>也许有人认为不是一样的结果么，O(∩_∩)O~对于高性能的设计来说 就有区别</p><p>新版还增加了<strong><span style="color:#e53333;">字段排除</span></strong>的用法，例如：</p>
<pre class="prettyprint linenums lang-php">$model-&gt;field('status,name',true)-&gt;select();</pre>
<p>表示排除数据表中的status和name字段，最后生成的SQL语句就变成了：</p>SELECT id,data FROM think_data<p>&nbsp;</p><p><strong><span style="color:#337fe5;font-size:16px;">这些都是ThinkPHP的细节所在~简单而有内涵的体现！</span></strong></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-25 12:16:46</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP新版LOGO分享</title>
			<link>http://www.thinkphp.cn/blog-47.html</link>
			<description><![CDATA[<p><strong><span style="color:orangered;font-size:16px;">ThinkPHP新版LOGO整理，欢迎建议和分享！</span></strong></p><p><img alt="" src="http://thinkphp.cn/Public/Home/Images/logo.png" /></p><p>&nbsp;</p><p><img alt="" src="/Uploads/editor/2012-02-22/4f44e0ae1a73d.jpg" />&nbsp;&nbsp;<img alt="" src="/Uploads/editor/2012-02-22/4f44e106e1ce0.jpg" />&nbsp;<img alt="" src="/Uploads/editor/2012-02-22/4f44e0f8d5967.jpg" /></p><p>&nbsp;要是喜欢的就右键另存吧，呵呵~</p><p><span style="color:#337fe5;">PS：官方诚聘用户体验及前端开发牛人！</span></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-22 20:37:47</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>引导扩展更名为引擎扩展</title>
			<link>http://www.thinkphp.cn/blog-46.html</link>
			<description><![CDATA[<p><span>周末刚把SAE纳入引导扩展后，今天思虑再三，觉得不够响亮，现更名为引擎扩展，意味着ThinkPHP从此开始了云引擎的支持，相信随着正式版的发布，除了SAE引擎外，更多的引擎扩展支持会浮出水面。</span></p><p><span><img alt="" src="/Uploads/editor/2012-02-20/4f4247da1a0b9.jpg" /></span></p><p><span>引擎扩展是目前新版扩展的第十类扩展方式了！</span></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-20 21:15:01</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHPSAE支持升级到RC2版本</title>
			<link>http://www.thinkphp.cn/blog-45.html</link>
			<description><![CDATA[<p>原来的SAE支持是在RC1版本的基础上实现的，现已升级到RC2版本，并且做了很多的增强。</p><p>并且原来的SAE分支已经并入新版的引导扩展范畴，所以可以直接在SVN的Extend目录获取。</p><p>SVN获取地址：<a href="https://thinkphp.googlecode.com/svn/trunk/Extend/Bootstrap/SAE" target="_blank">http://thinkphp.googlecode.com/svn/trunk/Extend/Bootstrap/SAE</a> </p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-19 11:24:56</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>3.0调试模式和部署模式的性能比较</title>
			<link>http://www.thinkphp.cn/blog-44.html</link>
			<description><![CDATA[<p>调试模式和部署模式的性能差异到底有多少，为了有一个相对直观的了解，简单做了一个测试，以3.0RC2版本自带的hello示例和blog示例来进行对比，测试环境是：</p><p>ThinkPad X201 win7 apache 2.2.17 PHP 5.3.0 mysql 5.1.36，详细过程不多说了，直接上结果。</p><p><img alt="" src="/Uploads/editor/2012-02-15/4f3b4966517cb.jpg" /></p><p>注：数据为平均值，并且为了确保数据准确，每次测试后都重启apache。&nbsp;</p><p><hr style="page-break-after:always;" class="ke-pagebreak" /></p><p>如果在本地开启XCache缓存的话，部署模式的对比结果如下：</p><img alt="" src="/Uploads/editor/2012-02-15/4f3b498049aad.jpg" /> <p>&nbsp;</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-15 13:48:16</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>框架是怎样炼成的？</title>
			<link>http://www.thinkphp.cn/blog-43.html</link>
			<description><![CDATA[<p><span style="color:#337fe5;font-size:16px;">框架是怎么炼成的？回首ThinkPHP发布的历程，让人不免感慨良多。真正困难的不是写一个框架，而是难在坚持不放弃，而事实上，只要你坚持不断的在改进</span><span style="color:#337fe5;font-size:16px;">，</span><span style="color:#337fe5;font-size:16px;">再小的框架总有一天会完善。如果长期不更新和改进，</span><span style="color:#337fe5;font-size:16px;">大的框架也会没落。框架就是在你每天的点滴改进和BUG修正</span><span style="color:#337fe5;font-size:16px;">的过程中炼成的！</span></p><p><span style="color:#337fe5;font-size:16px;">ThinkPHP自从2006年1月份</span><span style="color:#337fe5;font-size:16px;">0.6版本开始对外发布以来</span><span style="color:#337fe5;font-size:16px;">，从不足50K的微</span><span style="color:#337fe5;font-size:16px;">框架到现在核心500多K的轻量级框架</span><span style="color:#337fe5;font-size:16px;">，从几个用户成长到如今的几百万用户，从1.0正式版开始</span><span style="color:#337fe5;font-size:16px;">被大众所认知，到</span><span style="color:#337fe5;font-size:16px;">1.5和2.0</span><span style="color:#337fe5;font-size:16px;">两个重大的里程碑。而如今，伴随着3.0的发布，我们似乎更加怀念那些逝去的时光，最近</span><span style="color:#337fe5;font-size:16px;">偶尔我还会去看下0.*</span><span style="color:#337fe5;font-size:16px;">版本的代码和文档，想从中</span><span style="color:#337fe5;font-size:16px;">感受</span><span style="color:#337fe5;font-size:16px;">旧时的痕迹。</span><span style="color:#337fe5;font-size:16px;">唏嘘之间，</span><span style="color:#337fe5;font-size:16px;">也</span><span style="color:#337fe5;font-size:16px;">不知道是怎么走过这么多年的风风雨雨。</span><span style="color:#337fe5;font-size:16px;">这期间，我们开心过，失落过，愤怒过，最终陪伴我们的还是更多的喜悦，</span><span style="color:#337fe5;font-size:16px;">我们很庆幸我们一直在</span><span style="color:#337fe5;font-size:16px;">坚持，因为有社区和大家的支持和鼓励，我们希望大家看到ThinkPHP一直在努力进步，</span><span style="color:#337fe5;font-size:16px;">不会让每一位TPer失望，<strong><span style="color:#e53333;">WE CAN DO IT,JUST </span></strong></span><span style="color:#337fe5;font-size:16px;"><strong><span style="color:#e53333;">Think&nbsp;</span></strong>!</span></p><p><span style="color:#337fe5;font-size:16px;">算是对ThinkPHP 6周年的纪念，以及对</span><span style="color:#337fe5;font-size:16px;">2.*时代</span><span style="color:#337fe5;font-size:16px;">逝去的缅怀和3.*时代的更多的</span><span style="color:#337fe5;font-size:16px;">期盼吧</span><span style="color:#337fe5;font-size:16px;">！希望ThinkPHP将来走的更好~</span></p><p>&nbsp;</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-14 14:25:49</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP3.0RC2版本发布</title>
			<link>http://www.thinkphp.cn/blog-42.html</link>
			<description><![CDATA[<p><span style="color:#009900;font-size:24px;"><strong>ThinkPHP发布3.0RC2版本！</strong></span></p><p><span style="color:#e53333;font-size:16px;"><strong>非常感谢社区的反馈以及团队的努力，在RC1发布后不到一个月的时间，我们宣布发布ThinkPHP RC2版本！此次RC2版本发布修正RC1发布以来反馈的问题和BUG，还包括性能改进和社区建议调整，以及发布完全开发手册的完善版本。RC2将会是正式版发布之前的最后一个RC版本 基本已经可用于正式开发！</strong></span></p><p><br /></p><span style="color:#337fe5;font-size:16px;"><strong>[ 更新说明 </strong></span><span style="color:#337fe5;font-size:16px;"><strong>] </strong></span><br /> <p>3.0RC2版本较3.0RC1版本的更新如下：</p><hr style="page-break-after:always;" class="ke-pagebreak" />[系统]<br /><p>[修正] 修正R方法的第二个参数传入数组<br />[修正] 修正部署模式下的模版编译问题。<br />[新增] 添加项目的core.php配置文件，用于追加项目核心编译列表文件<br />[新增] 添加layout方法 用于控制布局入口的文件<br />[新增] functions函数库添加trace函数，用于页面Trace信息设置和自定义添加显示 并调整页面Trace行为扩展和模板，改为调用trace方法<br />[改进] 优化alias_import方法<br />[改进] 改进import的项目类库目录判断<br />[改进] Think类的buildApp方法改进 模式别名定义和项目别名定义支持同时定义 取消模式的公共文件定义，直接在核心文件列表中加载即可<br />[改进] 系统函数库增加session函数用于操作session App类改进对session的支持<br />[改进] 改进View类，如果设置模板引擎为PHP的话 则不调用view_parse标签行为扩展<br />[改进] 项目自定义trace信息配置文件会合并到系统默认页面Trace中<br />[改进] LOG类完善 支持配置不同的日子记录方式和其他参数 惯例配置文件增加LOG_TYPE、LOG_DEST和LOG_EXTRA配置 LOG_RECORD_LEVEL 参数更名为LOG_LEVEL<br />[改进] 优化import方法的文件导入 如果存在类名冲突则不导入<br />[改进] 改进系统函数库的load方法<br />[改进] runtime和alias文件添加访问检测<br />[改进] 修正部署模式下面开启页面trace后 exec运行时间为负数的错误<br />[改进] 修正Widget类对于think引擎的判断<br />[改进] 系统路径常量允许被重定义<br />[删除] 去掉runtime文件中的mkdirs函数<br /><br />[配置]<br />[新增] 增加THINK_RELEASE常量 用于定义当前打包版本<br />[新增] 惯例配置增加SESSION_OPTIONS SESSION_TYPE和SESSION_PREFIX参数<br />[改进] 系统默认调试配置文件debug中的参数修改<br />[删除] 系统内置行为的配置参数去掉不用或者多余的<br />[删除] 去掉 DB_SUFFIX 配置<br /><br />[模板]<br />[修正] 修正模板引擎的 {$Think.template} 输出当前模板的bug<br />[改进] 优化模板引擎的编译缓存，去除?&gt;<!--?php、空白和注释<br /-->[改进] Range标签添加between别名，支持between和notbetween区间判断<br />[改进] 内置模板引擎优化 所有外部文件include之后，统一进行标签解析<br />[修正] 内置Cx标签库的import标签默认basepath路径修正<br />[改进] layout标签增加replace属性 可以定义布局模板中的内容替换字符串<br />[改进] 优化标签解析替换处理<br />[改进] CX标签库的if标签默认可以嵌套两层<br />[改进] 布局模板bug修正 布局模板两种方式的解析顺序调整<br /><br />[缓存]<br />[新增] 添加静态缓存行为扩展<br />[改进] Redis驱动timeout参数改为由DATA_CACHE_TIMEOUT配置参数设置<br />[改进] Memcacheh缓存驱动的timeout参数改为通过C('DATA_CACHE_TIMEOUT')获取 <br /><br />[模型]<br />[改进] union方法改进 支持UNION ALL 操作和字符串<br />[改进] Model的实例化方法第二个参数允许传入null 表示没有数据表前缀 同时影响M方法中的第二个参数<br />[改进] 改进多数据库切换后的字段缓存获取<br />[改进] 改进Model类的join方法传入空值的处理<br />[修正] 修正Mysqli驱动类 在没有配置db_port参数的情况下出错的问题<br />[改进] 调整db类的selectSql属性 %FIELDS% 更改为 %FIELD% 和连贯操作对应一致<br /><br />[扩展]<br />[新增] 添加Db类型session驱动<br />[修正] 修正高级模型扩展的setLazyInc和setLazyDec错误 并去除一些不再使用的参数<br />[修正] 修正扩展类库的ORG.Util.Date类的dateAdd方法错误<br />[改进] PHPRPC和REST模式扩展修改<br />[改进] 模板引擎驱动接口方法fetch去掉charset变量<br />[改进] 删除extend扩展函数库里面的send_http_status函数<br />[改进] 修正扩展行为的方法定义兼容性问题<br />[改进] REST模式完善 rest模式下面的路由定义规则调整 避免相同URL访问地址的不同请求类型和资源类型路由定义<br />[改进] 修正扩展类库ORG.Util.String类的randString方法的随机中文截取<br />[改进] 支持session的hander驱动 扩展Driver目录增加Session子目录 <br />[删除] 删除DbSession行为扩展<br />[删除] 删除ORG.Util.HtmlCache扩展类<br />[删除] 删除Image类的高级验证码方法<br /><br />[其它]<br />[改进] 修正page示例的分页配置缺失<br />[改进] 修正blog示例的下载附件错误<br />[改进] 代码规范调整<br />[改进] 缓存驱动方法定义规范<br />[改进] 数据库驱动类规范<br /><br />[SAE]<br />[新增] 增加平滑函数文件<br />[改进] SAE将SaeMC编译到核心缓存，SAE版ThinkPHP也能让编译缓存替代入口文件。</p><p><br /></p><p><span style="color:#337fe5;font-size:16px;"><strong>[ 下载 </strong></span><span style="color:#337fe5;font-size:16px;"><strong>]</strong></span><br />RC2框架下载：[ <a href="http://thinkphp.cn/download-101.html">核心版</a> <a href="http://thinkphp.cn/download-102.html">完整版</a> ]</p><p>RC2完全开发手册下载：[ <a href="http://thinkphp.cn/down-down-104.html">PDF版</a> <a href="http://thinkphp.cn/download-105.html">CHM版</a> ]</p><p>RC2升级指导手册下载：[ <a href="http://thinkphp.cn/download-106.html">下载</a> ]</p><p><br /></p><p>----------------------------------</p><p>ThinkPHP官方团队2012</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-07 11:50:10</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>2012年ThinkPHP发布版本的规划</title>
			<link>http://www.thinkphp.cn/blog-41.html</link>
			<description><![CDATA[2012年发布版本的规划如下：<br />2012年01月15日 ：发布2.2正式版暨3.1RC1版本 （已经完成）<br />2012年02月07日 ：发布3.0RC2版本（修正RC1发布以来反馈的问题和BUG，性能改进和社区建议调整，发布完全开发手册的完善版本） 从目前的情况来看，RC2将会是正式版发布之前的最后一个RC版本 基本已经可用于正式开发，只是文档和教程方面会在RC2发布之后 不断完善而已。<br />2012年03月05日 ：发布3.0正式版本（在线手册重新完善 推出新版的学习应用，并开始制作新版视频教程）<br /><br />正式版发布后我们会推出开放给社区建议的功能建议，并在之后的每月5日，官方会发布一个开发版本，把修正的问题、TODOList采纳的功能，并给出具体的更新日志，提供给开发小组投票，开发版本中的功能也有可能在最终发布的时候被更改或者取消。<br />所有扩展不再单独发布，会及时在官方网站提供下载。<br /><br />稳定版本的官方标准发布周期是一年一次，除非有重大事件发生。<br />同时2.2版本不再增加功能，仅做BUG修正。<br />]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-02-03 15:36:51</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP6周年壁纸系列</title>
			<link>http://www.thinkphp.cn/blog-40.html</link>
			<description><![CDATA[<p><strong><span style="color:#e53333;font-size:16px;"></span></strong></p><p><strong><span style="color:#e53333;font-size:16px;">新年即将来临，同时</span></strong><strong><span style="color:#e53333;font-size:16px;">也迎来了ThinkPHP6周年庆！</span></strong></p><p><strong><span style="color:#e53333;font-size:16px;">正值新版3.0RC1发布之际，官方设计了6周年系列壁纸，提前祝大家新年快乐！</span></strong></p><p><strong><span style="color:#e53333;font-size:16px;">如果喜欢的话可以到<a href="http://thinkphp.cn/down-wallpaper.html" target="_blank">下载-&gt;资源</a>栏目中下载</span></strong></p><img alt="" src="http://thinkphp.cn/Uploads/editor/2012-01-20/4f1969f79fe5e.jpg" /> <hr style="page-break-after:always;" class="ke-pagebreak" /><p><br /></p><img alt="" src="http://thinkphp.cn/Uploads/editor/2012-01-20/4f196a4ca17bc.jpg" /><img alt="" src="http://thinkphp.cn/Uploads/editor/2012-01-20/4f196a653e529.jpg" /><img alt="" src="http://thinkphp.cn/Uploads/editor/2012-01-20/4f196a803877a.jpg" /><img alt="" src="http://thinkphp.cn/Uploads/editor/2012-01-20/4f196c8083d11.jpg" /> <p>&nbsp;</p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-01-20 22:09:06</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>ThinkPHP2.2正式版暨3.0RC1版本发布</title>
			<link>http://www.thinkphp.cn/blog-39.html</link>
			<description><![CDATA[<p><strong><span style="color:#e53333;font-size:24px;"><strong><span style="color:#e53333;font-size:24px;"><img alt="" src="/Public/Home/Images/logo.png" /></span></strong></span></strong> </p><p><strong><span style="color:#e53333;font-size:24px;"><strong><span style="color:#e53333;font-size:24px;">庆祝ThinkPHP6周年</span></strong></span></strong> </p><p><strong><span style="color:#e53333;font-size:24px;">ThinkPHP2.2正式版暨3.0RC1版本发布！</span></strong> </p><p><br /><strong><span style="color:#e53333;font-size:24px;"><span style="color:#000000;font-size:16px;">此次新版重构和</span><span style="color:#000000;"><span style="font-size:16px;">发布工作</span><span style="font-size:16px;">持续了半年的时间，并且对新版社区和官网进行重构改版</span></span><span style="color:#000000;font-size:16px;">，甚至包括logo也做了全新的设计，旨在突出2012年官方对</span><span style="color:#000000;font-size:16px;">ThinkPHP</span><span style="color:#000000;font-size:16px;">6周年的重视和寄予的厚望，并且也希望有一个新的里程碑，给开发人员提供一个更好更易用的PHP</span><span style="color:#000000;font-size:16px;">开发框架</span><span style="color:#000000;font-size:16px;">。</span></span></strong> </p><p><strong><span style="color:#e53333;font-size:24px;"><span style="color:#000000;"><span style="color:#009900;font-size:14px;">并在此对</span><span style="color:#009900;font-size:14px;">官方小组和议事堂的成员的工作表示感谢！尤其特别要感谢misn、deeka和官方开发小组日夜的加班，没有你们的贡献和辛劳，新版发布将更加坎坷，新版社区也无法如期上线~</span></span></span></strong> </p><p><strong><span style="color:#e53333;font-size:24px;"><span style="color:#000000;"></span></span></strong></p><p><span style="color:#009900;font-size:18px;">新版3.0RC1特性概述：</span></p><p><span style="color:#009900;font-size:18px;"></span></p><hr style="page-break-after:always;" class="ke-pagebreak" /><p><br /></p><p><span style="color:#337fe5;font-size:16px;">全新的CBD（核心+行为+驱动）架构模式，打造DIY框架和类AOP编程体验；</span><br /><span style="color:#337fe5;font-size:16px;">全新改进的项目编译机制，更快更方便，并且支持编译文件直接作为入口载入，并且支持常量外部载入，利于产品发布；</span><br /><span style="color:#337fe5;font-size:16px;">调试模式更易用，可以设置不同的项目状态 并自动加载对应不同的项目配置文件，并且详细记录行为执行日志；</span><br /><span style="color:#337fe5;font-size:16px;">路由的增强更加灵活 支持新的规则路由，改进正则路由，并改进定义方式；</span><br /><span style="color:#337fe5;font-size:16px;">内部导入机制和自动加载机制优化 全面提升import A D R等方法的性能；</span><br /><span style="color:#337fe5;font-size:16px;">URL模式简化，兼容URL地址优先判断；</span><br /><span style="color:#337fe5;font-size:16px;">查询语言进一步增强，query和execute方法增强 支持连贯操作和SQL解析；</span><br /><span style="color:#337fe5;font-size:16px;">模板引擎性能提升，PHP语法检测，include用法改进 支持变量传输；</span><br /><span style="color:#337fe5;font-size:16px;">全新的布局模板实现，支持布局嵌套；</span><br /><span style="color:#337fe5;font-size:16px;">实现了扩展和驱动的完全分离，并且驱动集中管理；</span><br /><span style="color:#337fe5;font-size:16px;">AJAX返回数据支持扩展，提供更好的AJAX支持；</span><br /><span style="color:#337fe5;font-size:16px;">更强大和易用的模式扩展；</span><br /><span style="color:#337fe5;font-size:16px;">U函数重新设计；</span><br /><span style="color:#337fe5;font-size:16px;">去除Think基类设计，Think重新设计为入口类和静态类；</span><br /><span style="color:#337fe5;font-size:16px;">增加MongoDb支持；</span><br /><span style="color:#337fe5;font-size:16px;">增加REST模式，提供RESTFul支持；</span><br /><span style="color:#337fe5;font-size:16px;">增加SAE模式扩展提供新浪SAE部署和本地调试支持；</span><br /><span style="color:#337fe5;font-size:16px;">增加自动验证规则；</span><br /><span style="color:#337fe5;font-size:16px;">动态配置文件和函数文件支持；</span> </p><p><span style="color:#337fe5;font-size:16px;"></span></p><span style="font-size:16px;">下载地址：</span><span style="font-size:16px;">ThinkPHP3.0RC1版 [ </span><a href="http://thinkphp.cn/down-87.html" target="_blank"><span style="font-size:16px;">核心版</span></a> <a href="http://thinkphp.cn/down-88.html" target="_blank"><span style="font-size:16px;">完整版</span></a><span style="font-size:16px;"> ]</span><br /> <p><span style="color:#337fe5;font-size:16px;"></span></p><p><span style="color:#337fe5;font-size:16px;">2.2版本是2.1版本的升级和改进版本，可以无缝升级原有的2.1项目。</span> </p><p><span style="color:#337fe5;font-size:16px;">主要特性包括：</span> </p><p><span style="color:#337fe5;font-size:16px;">编译缓存和部署模式的优化改进；</span> </p><p><span style="color:#337fe5;font-size:16px;">调试模式的改进支持；</span> </p><p><span style="color:#337fe5;font-size:16px;">修正了用户反馈的众多BUG；</span> </p><p><span style="color:#337fe5;font-size:16px;"></span><span style="color:#337fe5;font-size:16px;"></span></p><p><span style="color:#337fe5;font-size:16px;">下载地址：</span><span style="font-size:16px;">ThinkPHP2.2正式版 [ </span><a href="http://thinkphp.cn/down-84.html" target="_blank"><span style="font-size:16px;">核心版</span></a> <a href="http://thinkphp.cn/down-86.html" target="_blank"><span style="font-size:16px;">完整版</span></a><span style="font-size:16px;"> ]</span> </p><p><span style="color:#337fe5;font-size:16px;"></span></p>]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-01-15 23:08:08</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item><item>
			<title>新版社区上线测试</title>
			<link>http://www.thinkphp.cn/blog-38.html</link>
			<description><![CDATA[]]></description>
			<author>ThinkPHP</author>
															<pubDate>2012-01-15 22:59:05</pubDate>
			<source url="http://www.thinkphp.cn/blog.html">ThinkPHP官方博客</source>
		</item>	</channel>
</rss>
