<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Seven Two Blog &#187; PHP</title>
	<atom:link href="http://www.seven2.com.cn/archives/category/oss/php-oss-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.seven2.com.cn</link>
	<description></description>
	<lastBuildDate>Thu, 09 Sep 2010 13:52:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>DISCUZ 架构:积分系统代码分析</title>
		<link>http://www.seven2.com.cn/archives/776/</link>
		<comments>http://www.seven2.com.cn/archives/776/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 13:23:59 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[comsenz]]></category>
		<category><![CDATA[discuz]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=776</guid>
		<description><![CDATA[1.登陆积分显示 首先是登陆，登陆的时候论坛从cdb_members中取出一些发帖数，积分，扩展积分等等设置，在./include/common.inc.php中有如下代码： 以下为引用的内容： $membertablefields = &#8216;m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.email, m.timeoffset, m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits, m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5, m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat, m.pmsound, m.sigstatus, m.invisible, m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks, m.xspacestatus, m.editormode, m.customshow&#8217;; 以上就是取出数据库中的会员用到的字段。 发帖，回复，发附件，下附件等的积分增加或减少 2.发帖，回复积分增减 (1)原理分析： [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/776/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP str_replace() 函数，替换字符串中的一些字符</title>
		<link>http://www.seven2.com.cn/archives/766/</link>
		<comments>http://www.seven2.com.cn/archives/766/#comments</comments>
		<pubDate>Thu, 20 May 2010 13:04:44 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=766</guid>
		<description><![CDATA[str_replace() 函数 定义和用法 str_replace() 函数使用一个字符串替换字符串中的另一些字符，对大小写敏感。 str_replace() 函数最早出现在 PHP 3 。 语法 str_replace(find,replace,string,count) 参数 描述 find 必需。规定要查找的值。 replace 必需。规定替换 find 中的值的值。 string 必需。规定被搜索的字符串。 count 可选。一个变量，对替换数进行计数。 提示和注释 注释：该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。 注释：该函数是二进制安全的。 例子 例子 1 &#60;?php echo str_replace("world","John","Hello world!"); ?&#62; 输出： Hello John! 例子 2 在本例中，我们将演示带有数组和 count 变量的 str_replace() 函数： &#60;?php $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo "Replacements: $i"; ?&#62; 输出： [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/766/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP str_pad() 函数把字符串填充为指定的长度</title>
		<link>http://www.seven2.com.cn/archives/764/</link>
		<comments>http://www.seven2.com.cn/archives/764/#comments</comments>
		<pubDate>Sun, 16 May 2010 00:40:49 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=764</guid>
		<description><![CDATA[定义和用法 str_pad() 函数把字符串填充为指定的长度。 str_pad() 函数最早出现在 PHP 4 。 语法 str_pad(string,length,pad_string,pad_type) 参数 描述 string 必需。规定要填充的字符串。 length 必需。规定新字符串的长度。如果该值小于原始字符串的长度，则不进行任何操作。 pad_string 可选。规定供填充使用的字符串。默认是空白。 pad_type 可选。规定填充字符串的那边。 可能的值： STR_PAD_BOTH &#8211; 填充到字符串的两头。如果不是偶数，则右侧获得额外的填充。 STR_PAD_LEFT &#8211; 填充到字符串的左侧。 STR_PAD_RIGHT &#8211; 填充到字符串的右侧。这是默认的。 例子 例子 1 &#60;?php $str = "Hello World"; echo str_pad($str,20,"."); ?&#62; 输出： Hello World......... 例子 2 &#60;?php $str = "Hello World"; echo str_pad($str,20,".",STR_PAD_LEFT); ?&#62; 输出： [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/764/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>webERP 简体中文安装过程</title>
		<link>http://www.seven2.com.cn/archives/762/</link>
		<comments>http://www.seven2.com.cn/archives/762/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 15:10:04 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[开源软件]]></category>
		<category><![CDATA[webERP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=762</guid>
		<description><![CDATA[webERP 安装包(目前最新版:3.11.2) 下载地址 http://sourceforge.net/projects/web-erp/ webERP 中文包下载地址,中文包也包含 webERP 的中文手册 http://sourceforge.net/projects/web-erp/files/ 在安装 webERP 之前请开启 PHP 的 MySQLi 扩展库,否则在安装过程会报 MySQLi 没有定义的; webERP 的安装过程就不在这里详说啦; 把 WebERP 简体中文包解压缩之后,复制到 &#8221; /locale/ &#8220;,并将.utf-8去掉,否则会过长; 修改头部文件 &#8221; /includes/header.inc &#8221; ,将第10行和19行的&#8221;iso-8859-1&#8243; 改为 &#8220;UTF-8&#8243;,还有其他文件也要改修的,否则会报错的,如:&#8221;SalesCategories.php&#8221;,建议使用 Dreamweaver 来整站搜索替换掉; 登陆 WebERP，在&#8221; Setup-&#62;User Maintenance &#8220;，将用户的&#8221; Language &#8220;的值改为 &#8220;zh_CN&#8221;; webERP 简介: WebERP是Logic Works Ltd公司开发的财务与ERP管理软件，包括全面的财务特性：含总帐、应收/应付帐目，以及基于角色的安全机制和非常习惯的Web前端；面向类似制造业的业务流程，包括支持订单与库存管理。 系统特点 随着Internet互联网高速发展，传统的传真机亦逐渐被电子邮箱所取代，现代化的商业交易系统也很好地适应了新的环境，地理上的障碍逐渐消失，人们只需通过Internet在屏幕点击按钮即可实现商业交易。 WebERP就是灵活、易用与可靠的Web应用软件： 提供可靠和完整的数据架构于坚固Apache Web服务器，使用安全可靠的MySQL或Postgres数据库以及主流的PHP语言提供基于Web软件便于雇员、客户和供应商使用全球75%的人可以访问Internet，甚至可以通过掌上电脑、手机来使用WebERP，更节省了VPN等远程网络设备投资开放源代码软件省钱并方便扩展和修改开放源代码软件，节省商业软件许可费用，同时便于扩展、裁剪和修改只需要短短几个小时，您就可以实现“订单-库存-采购-报价-发票-收款-生产”，同时支持多币种、多税制、多仓库，完全适用于中小企业。 软件功能 WebERP [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/762/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP CURL 函数库安裝和使用详细说明</title>
		<link>http://www.seven2.com.cn/archives/758/</link>
		<comments>http://www.seven2.com.cn/archives/758/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 16:16:58 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=758</guid>
		<description><![CDATA[CURL安装: 以下的安装以window为例 第一步:在php.ini的文件找出;extension=php_curl.dll将&#8221;;&#8221;去掉,如果不知道你的php.ini請用phpinfo()來查看. 第二步:把php目录中的libeay32.dll,ssleay32.dll拷到c:\windows\system32里面; 第三步:重启apache; 执行以下的代码来检查CURL是否安装正确或用phpinfo(); &#60;?php //初始化curl $ch = curl_init() or die (curl_error()); //echo &#8220;测试一下&#8221;; //设置URL参数; curl_setopt($ch,CURLOPT_URL,&#8221;http://www.seven2.com.cn/&#8221;); //要求CURL返回数据 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //执行请求 $result = curl_exec($ch) or die (curl_error()); //取得返回的结果，并显示 echo $result; echo curl_error($ch); //关闭CURL; curl_close($ch); ?&#62; 以下是CURL中文说明了，有很多的参数。大部份都很有用。真正掌握了它和正则，一定就是个采集高手了。 PHP中的CURL函数库（Client URL Library Function） curl_close            — 关闭一个curl会话； curl_copy_handle      — 拷贝一个curl连接资源的所有内容和参数； curl_errno   [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/758/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter 发布 1.7.2 版</title>
		<link>http://www.seven2.com.cn/archives/695/</link>
		<comments>http://www.seven2.com.cn/archives/695/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 02:17:06 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=695</guid>
		<description><![CDATA[EllisLab 发布了 CodeIgniter 1.7.2。有什么新内容？主要的更改如下： 兼容 PHP 5.3.0。 新增购物车类库。 改善表单辅助函数。 在公共函数中新增 is_php()，让 PHP 版本比较更方便。 修改 show_error() 以便发送 HTTP 服务器响应码，并且所有内部错误提示都会发送合适的状态码。 修复了很多 BUG。 1.7.2 版已经在 subversion 中存在了很长一段时间了，并且已经于 7 月下旬兼容于 PHP 5.3.0，不过可以理解的是许多用户并没有使用那个开发中的版本。虽然我也希望能有时间为这个版本多增加一些“大改动”的项目，并把版本号变为 1.8，但时间不等人。我们的许多用户都在 Mac 上开发，但 OS X“雪豹”中的 PHP 是 5.3.0，所以与其让用户继续等待不如先推出这个稳定版&#8211;毕竟已经 7 个月没有更新了。虽然如此，也还是有一些惊喜和可喜的变化。敬请享用！ CodeIgniter 1.7.2 下载： http://codeigniter.com/downloads/ CodeIgniter 1.7.2 在线手册： http://codeigniter.com/user_guide/ 原文章： CodeIgniter v1.7.2 Released EllisLab is pleased to release [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/695/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 敏捷开发框架 CodeIgniter</title>
		<link>http://www.seven2.com.cn/archives/683/</link>
		<comments>http://www.seven2.com.cn/archives/683/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 02:29:22 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=683</guid>
		<description><![CDATA[原书名：《CodeIgniter for Rapid PHP Application Development》 中文名：《PHP 敏捷开发框架 CodeIgniter &#8211; 快速 Web 应用开发详解》 作者： David Upton 著 CodeIgniter 中国 译 前言 本书详细讲解了 CI 的一些主要特性。本书并不包含 CI 的所有内容和全部细节。CI 有一本出色的在线《用户指南》，它详细讲解了大多数的内容。它可以与 CI 一起下载。 本书并不想重复《用户指南》中的内容。相反，本书试图让你轻松了解 CI 框架是如何工作的，那么，你可以先决定它是否对你有价值，然后再阅读本书。 在试图解释 CI 是如何工作时，本书的某些内容已经超出了《用户指南》的范围。（《用户指南》更注重实际应用。）这意味着在“实战训练”中有一些非常理论化的章节。我发现这有助于理解 CI 内部的运行机制；否则，当你遇到令人费解的错误消息时就不容易解决。 我尝试在展示 CI 代码段时使用一个“真实世界”的例子。我想展示的是，CI 可以用于开发一个正式的网站。目前，我手头上有几个正在运行的客户网站，我希望依照我指定的方式去对其进行检测控制以及测试，同时记录下程序操作行为，在我需要时我可以得到一份相关的报告。 本书中的范例无法将 CI 的功能一丝不漏的完全展示，但我想这些范例应当还是在一定程度上展现了 CI 在简化处理常用应用（以及一些非常用应用）上的能力。 本书系统地讲解了 CodeIgniter 的主要特性，并配合相应的代码范例进行了详尽的解释，使你能够由浅入深地掌握 CodeIgniter。 本书内容概述 第一章讲解了 CodeIgniter 能做什么？什么是“框架”？如何安装 CodeIgniter？还对开源商业模式进行了深层次讨论，并在结尾给出了 [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/683/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>确保 PHP 应用程序的安全</title>
		<link>http://www.seven2.com.cn/archives/502/</link>
		<comments>http://www.seven2.com.cn/archives/502/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 12:42:16 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[安全]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=502</guid>
		<description><![CDATA[不能违反的四条安全规则 开始之前 在本教程中，您将学习如何在自己的 PHP Web 应用程序中添加安全性。本教程假设您至少有一年编写 PHP Web 应用程序的经验，所以这里不涉及 PHP 语言的基本知识（约定或语法）。目标是使您了解应该如何保护自己构建的 Web 应用程序。 目标 本教程讲解如何防御最常见的安全威胁：SQL 注入、操纵 GET 和 POST 变量、缓冲区溢出攻击、跨站点脚本攻击、浏览器内的数据操纵和远程表单提交。 前提条件 本教程是为至少有一年编程经验的 PHP 开发人员编写的。您应该了解 PHP 的语法和约定；这里不解释这些内容。有使用其他语言（比如 Ruby、Python 和 Perl）的经验的开发人员也能够从本教程中受益，因为这里讨论的许多规则也适用于其他语言和环境。 安全性快速简介 Web 应用程序最重要的部分是什么？根据回答问题的人不同，对这个问题的答案可能是五花八门。业务人员需要可靠性和可伸缩性。IT 支持团队需要健壮的可维护的代码。最终用户需要漂亮的用户界面和执行任务时的高性能。但是，如果回答 “安全性”，那么每个人都会同意这对 Web 应用程序很重要。 但是，大多数讨论到此就打住了。尽管安全性在项目的检查表中，但是往往到了项目交付之前才开始考虑解决安全性问题。采用这种方式的 Web 应用程序项目的数量多得惊人。开发人员工作几个月，只在最后才添加安全特性，从而让 Web 应用程序能够向公众开放。 结果往往是一片混乱，甚至需要返工，因为代码已经经过检验、单元测试并集成为更大的框架，之后才在其中添加安全特性。添加安全性之后，主要组件可能会停止工作。安全性的集成使得原本顺畅（但不安全）的过程增加额外负担或步骤。 本教程提供一种将安全性集成到 PHP Web 应用程序中的好方法。它讨论几个一般性安全主题，然后深入讨论主要的安全漏洞以及如何堵住它们。在学完本教程之后，您会对安全性有更好的理解。 主题包括： SQL 注入攻击 操纵 GET 字符串 缓冲区溢出攻击 跨站点脚本攻击（XSS） 浏览器内的数据操纵 [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/502/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smarty 完全中文手册</title>
		<link>http://www.seven2.com.cn/archives/496/</link>
		<comments>http://www.seven2.com.cn/archives/496/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 01:10:26 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Smarty]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=496</guid>
		<description><![CDATA[Smarty 中文手册下载地址： http://www.seven2.com.cn/wp-content/uploads/2009/02/smartye5ae8ce585a8e4b8ade69687e6898be5868c.chm Smarty是什么？ Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法。可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人。例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现。在Smarty的程序里,这些被忽略了。模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等)。有一天程序员想要改变文章检索的方式(也就是程序逻辑的改变)。这个改变不影响模板设计者,内容仍将准确的输出到模板。同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。因此,程序员可以改变逻辑而不需要重新构建模板,模板设计者可以改变模板而不影响到逻辑。  [ad#amazon_all_sales_600x60] 现在简短的说一下什么是smarty不做的。smarty不尝试将逻辑完全和模板分开。如果逻辑程序严格的用于页面表现,那么它在模板里不会出现问题。有个建议:让应用程序逻辑远离模板, 页面表现逻辑远离应用程序逻辑。这将在以后使内容更容易管理,程序更容易升级。 Smarty的特点之一是&#8221;模板编译&#8221;。意思是Smarty读取模板文件然后用他们创建php脚本。这些脚本创建以后将被执行。因此并没有花费模板文件的语法解析,同时每个模板可以享受到诸如Zend加速器(http://www.zend.com) 或者PHP加速器(http://www.php-accelerator.co.uk)。这样的php编译器高速缓存解决方案。 Smaty的一些特点: It is extremely fast. 非常非常的快! It is efficient since the PHP parser does the dirty work. 用php分析器干这个苦差事是有效的 No template parsing overhead, only compiles once. 不需要多余的模板语法解析,仅仅是编译一次 It is smart about recompiling only the template files that have changed. 仅对修改过的模板文件进行重新编译 You can make custom functions [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/496/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP 编程的 5 个良好习惯</title>
		<link>http://www.seven2.com.cn/archives/399/</link>
		<comments>http://www.seven2.com.cn/archives/399/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 02:50:32 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=399</guid>
		<description><![CDATA[像其他语言一样，开发人员可以用 PHP 编写出各种质量级别的代码。学习良好的编程习惯能够提高代码质量和效率。 根据具体的情况，一般的开发人员往往比优秀的开发人员的效率低 10%~20%。优秀的开发人员的效率更高，因为他们拥有丰富的经验和良好的编程习惯。不良的编程习惯将会影响到效率。本文通过展示一些良好的编程习惯，帮助您成为更优秀的程序员。 这些良好的编程习惯不仅能提高效率，还能让您编写出在应用程序的整个生命周期中易于维护的代码。编写出来的代码可能需要大量的维护；应用程序的维护是一笔很大的开支。养成良好的编程习惯能够提高设计质量（比如模块化），从而使代码更加容易理解，因此维护就更加容易，同时也降低维护成本。 不良的编程习惯会造成代码缺陷，使其难以维护和修改，并且很可能在修改时又引入其他缺陷。以下是 5 个良好的编程习惯，能够帮助 PHP 代码避免这些缺陷： 1、使用良好的命名。 2、分成更小的部分。 3、为代码添加注释。 4、处理错误条件。 5、切忌使用复制粘贴。 下一小节将详细介绍这些习惯。 1、使用良好的命名 使用良好的命名是最重要的编程习惯，因为描述性强的名称让代码更加容易阅读和理解。代码是否好理解取决于是否能在未来维护它。即便代码不带有注释，如果它很容易理解，将大大方便日后的更改。这个习惯的目标是让您编写的代码像书本一样容易阅读和理解。 不良习惯：含糊的或无意义的名称 清单 1 中的代码包含过短的变量名、难以辨认的缩写词，并且方法名不能反映该方法的功能。如果方法名给人的感觉是它应该做这件事情，而实际中它却做另外的事情，这将带来严重的问题，因为它会误导人。 清单 1. 不良习惯：含糊的或无意义的名称 &#60;?php function getNBDay($d) { switch($d) { case 5: case 6: case 7: return 1; default: return ($d + 1); } } $day = 5; $nextDay = getNBDay($day); echo (&#8220;Next [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/399/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在 PHP 中养成 7 个面向对象的好习惯</title>
		<link>http://www.seven2.com.cn/archives/396/</link>
		<comments>http://www.seven2.com.cn/archives/396/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 02:45:42 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=396</guid>
		<description><![CDATA[通过面向对象的方式改进 PHP 应用程序 如果您尚未打算用 OO 原则创建应用程序，则使用 PHP 的面向对象（OO）的语言特性，这 7 个习惯将帮助您开始在过程编程与 OO 编程之间进行转换。 在 PHP 编程早期，PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过程之间的调用提供某种程度的重用。 但是，没有面向对象的语言构造，程序员仍然可以把 OO 特性引入到 PHP 代码中。这样做有点困难并且会使代码难于阅读，因为它是混合范例（含有伪 OO 设计的过程语言）。使用 PHP 代码中的 OO 构造 — 例如能够定义和使用类、能够构建使用继承的类之间的关系以及能够定义接口 — 可以更轻松地构建符合优秀 OO 实践的代码。 虽然没有过多模块化的纯过程设计运行得很好，但是 OO 设计的优点表现在维护上。由于典型应用程序的大部分生命周期都花费在维护上，因此代码维护是应用程序生命周期的重要部分。并且在开发过程中代码维护很容易被遗忘。如果在应用程序开发和部署方面存在竞争，那么长期可维护性可能被放在比较次要的地位。 模块化 — 优秀 OO 设计的主要特性之一 — 可以帮助完成这样的维护。模块化将帮助封装更改，这样可以随着时间的推移更轻松地扩展和修改应用程序。 总的来说，虽然构建 OO 软件的习惯不止 7 个，但是遵循这里的 7 个习惯可以使代码符合基本 OO 设计标准。它们将为您提供更牢固的基础，在此基础之上建立更多 OO 习惯并构建可轻松维护与扩展的软件。这些习惯针对模块化的几个主要特性。有关独立于语言的 [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/396/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php.ini中文注释</title>
		<link>http://www.seven2.com.cn/archives/392/</link>
		<comments>http://www.seven2.com.cn/archives/392/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 05:09:43 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=392</guid>
		<description><![CDATA[; PHP还是一个不断发展的工具，其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化， ; 在使用新的PHP版本前，研究一下php.ini会有好处的 　 [ad#amazon_all_sales_600x60] ;;;;;;;;;;;;;;;;;;; ; 关于这个文件 ;;;;;;;;;;;;;;;;;;; 　 ; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件，它必须被命名为 ; &#8216;php.ini&#8217;。PHP 将在这些地方依次查找该文件：当前工作目录；环境变量PHPRC ; 指明的路径；编译时指定的路径。 ; 在windows下，编译时的路径是Windows安装目录。 ; 在命令行模式下，php.ini的查找路径可以用 -c 参数替代。 　 ; 该文件的语法非常简单。空白字符和用分号&#8217;;'开始的行被简单地忽略（就象你可能 ; 猜到的一样）。 章节标题（例如 : [Foo]）也被简单地忽略，即使将来它们可能 ; 有某种的意义。 ; ; 指示被指定使用如下语法： ; 指示标识符 = 值 ; directive = value ; 指示标识符 是 *大小写敏感的* &#8211; foo=bar 不同于 FOO [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/392/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>25个 PHP 模板引擎</title>
		<link>http://www.seven2.com.cn/archives/321/</link>
		<comments>http://www.seven2.com.cn/archives/321/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 12:54:50 +0000</pubDate>
		<dc:creator>seven2</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ETS]]></category>
		<category><![CDATA[Smarty]]></category>

		<guid isPermaLink="false">http://www.seven2.com.cn/?p=321</guid>
		<description><![CDATA[一说到模板引擎，很多人都都会想到Smarty的，嘻嘻，Smarty简单并且灵活，我通过搜索引擎来搜索以下25个模板引擎网上评论比较好的，目前已经整理出了以下名单： 1、Smarty Smarty的特点是将模板编译成PHP脚本，然后执行这些脚本。很快，非常灵活。 Smarty目前最新版是 3.0，官方网址：http://www.Smarty.net 2、Heyes Template Class 一个非常容易使用，但功能强大并且快速的模板引擎，它帮助你把页面布局和设计从代码中分离。 3、FastTemplate 一个简单的变量插值模板类，它分析你的模板，把变量的值从HTML代码中分离处理。 4、ShellPage 一个简单易用的类，可以让你的整个网站布局基于模板文件，修改模板就能改变整个站点。 5、STP Simple Template Parser 一个简单、轻量级并且易于使用的模板分析类。它可以从多个模板中组装一个页面，把结果页面输出到浏览器或者文件系统。 6、EasyTemplatePHP 适用于你的站点的一个简单但是强大的模板系统。 7、SimpleTemplate 一个可以创建和结构化网站的模板引擎。它可以解析和编译模板。 8、bTemplate 短小但是快速的模板类，允许你把PHP逻辑代码从HTML修饰代码中分离。 9、Savant 一个强大且轻量级的PEAR兼容模板系统。它是非编译型的，使用PHP语言本身做为它的模板语言。 10、ETS &#8211; easy template system 可以使用完全相同数据重组模板的模板系统。 11、OO Template Class 一个你可以用在自己程序中的面向兑现的模板类。 12、vlibTemplate 一个快速、全能的模板系统，它包含一个缓存和调试类。 13、AvanTemplate 多字节安全的模板引擎，占用很少系统资源。它支持变量替换，内容块可以设置显示或隐藏。 14、Grafx Software’s Fast Template 一个修改版本的Fast Template系统，它包括缓存功能，调试控制台以及沉默去除为赋值块。 15、TemplatePower 一个快速、简单、功能强大的模板类。主要功能有嵌套的动态块支持，块/文件包含支持以及显示/隐藏未赋值的变量。 16、TagTemplate 这个库的功能被设计来使用模板文件，同时允许你从HTML文件检索信息。 17、htmltmpl: templating engine 一个适用于Python和PHP的模板引擎。它面向希望在项目中分离代码和设计的web应用开发人员。 18、PHP [...]]]></description>
		<wfw:commentRss>http://www.seven2.com.cn/archives/321/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
