<?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>4's symfony blog &#187; PHP</title>
	<atom:link href="http://www.foolbirds.com/c/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.foolbirds.com</link>
	<description>all about symfony</description>
	<lastBuildDate>Mon, 28 Jun 2010 07:30:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP解压tar,gzip,bzip脚本</title>
		<link>http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html</link>
		<comments>http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html#comments</comments>
		<pubDate>Mon, 07 Jun 2010 06:37:19 +0000</pubDate>
		<dc:creator>szn000</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[bizp]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1318</guid>
		<description><![CDATA[根据网上的一个 解压类写的 关于 tar gzip bzip 的解压脚本(php)
该脚本附加了 解压后权限的设定 (只能设定属于HTTP的文件和文件夹)

下载该解压脚本
该脚本包含 3个文件
  index.php                   用来处理请求(是修改权限还是解压文件)
  lib/utile.class.php        修改权限所需要用到的类
  lib/archive.class.php    解压文件所有用到的类(来源于网络 有部分修改)
仿symfony机制实现不用require或者include来实例化类vim配合phpcs实现自动语法检查symfony1.4 DateTime对于PHP低版本的兼容问题使用Bit.ly短网址服务API简化URL解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题symfony cheat sheetCheat Sheets!archlinux 安装 LAMP环境]]></description>
			<content:encoded><![CDATA[<p>根据网上的一个 解压类写的 关于 tar gzip bzip 的解压脚本(php)<br />
该脚本附加了 解压后权限的设定 (只能设定属于HTTP的文件和文件夹)<br />
<a href="http://www.xun6.com/file/06837d728/http_extract_change_chmod.tar.gz.html"><br />
下载该解压脚本</a><br />
该脚本包含 3个文件<br />
  index.php                   用来处理请求(是修改权限还是解压文件)<br />
  lib/utile.class.php        修改权限所需要用到的类<br />
  lib/archive.class.php    解压文件所有用到的类(来源于网络 有部分修改)</p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html" title="vim配合phpcs实现自动语法检查">vim配合phpcs实现自动语法检查</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html" title="解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题">解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/archlinux-lam.html" title="archlinux 安装 LAMP环境">archlinux 安装 LAMP环境</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用SYMFONY Filter 过滤URL</title>
		<link>http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html</link>
		<comments>http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html#comments</comments>
		<pubDate>Wed, 26 May 2010 01:30:27 +0000</pubDate>
		<dc:creator>szn000</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1254</guid>
		<description><![CDATA[这是一个过滤URL中 多个&#8217;/'的例子
修改 apps/myapp/config/filters.yml
添加代码
myFilter:
  class: myFilter
(myFilter可自定义)
创建文件myFilter.class.php
创建位置apps/myapp/lib/
文件内容如下
使用preg_match 是因为 ereg 过时
注意preg_match 匹配正则时以&#8217;/'开始和结束
class myFilter extends sfFilter
{
 public function execute ($filterChain)
 {
   //提取uri
   $str = $_SERVER['REQUEST_URI'];
   //判断是否匹配正则
   if(preg_match("/(.*\/{2,}.*)((\.html)*)/",$str)){
     //要跳转的页面
     header("Location:/error.html");
     //跳转后代码不执行
     exit();
   }
 [...]]]></description>
			<content:encoded><![CDATA[<p>这是一个过滤URL中 多个&#8217;/'的例子<br />
修改 apps/myapp/config/filters.yml<br />
添加代码<br />
<code>myFilter:<br />
  class: myFilter</code><br />
(myFilter可自定义)<br />
创建文件myFilter.class.php<br />
创建位置apps/myapp/lib/<br />
文件内容如下<br />
使用preg_match 是因为 ereg 过时<br />
注意preg_match 匹配正则时以&#8217;/'开始和结束<br />
<code>class myFilter extends sfFilter<br />
{<br />
 public function execute ($filterChain)<br />
 {<br />
   //提取uri<br />
   $str = $_SERVER['REQUEST_URI'];<br />
   //判断是否匹配正则<br />
   if(preg_match("/(.*\/{2,}.*)((\.html)*)/",$str)){<br />
     //要跳转的页面<br />
     header("Location:/error.html");<br />
     //跳转后代码不执行<br />
     exit();<br />
   }<br />
   //执行下一个filter<br />
   $filterChain->execute();<br />
  }<br />
}</code><br />
修改apps/myapp/config/routing.yml<br />
添加代码 此代码用来定义URL /error.html 要执行的模块和动作<br />
<code>Error:<br />
  url:   /error.html<br />
  param: { module: index, action: error404}</code></p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html" title="如何在fixtures.yml写循环添加数据">如何在fixtures.yml写循环添加数据</a></li><li><a href="http://www.foolbirds.com/use_symfony_routing_change_url.html" title="使用symfony routing.yml 修改URL">使用symfony routing.yml 修改URL</a></li><li><a href="http://www.foolbirds.com/symfony-1-4-database-utf8.html" title="symfony 1.4 数据库 utf8设置">symfony 1.4 数据库 utf8设置</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/url-in-other-apps2.html" title="怎么在app中构造其它app的链接(二)">怎么在app中构造其它app的链接(二)</a></li><li><a href="http://www.foolbirds.com/url-in-other-apps-one.html" title="怎么在app中构造其它app的链接(一)">怎么在app中构造其它app的链接(一)</a></li><li><a href="http://www.foolbirds.com/how-to-use-swift-to-send-mail-in-symfon.html" title="如何使用swift发送邮件">如何使用swift发送邮件</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>仿symfony机制实现不用require或者include来实例化类</title>
		<link>http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html</link>
		<comments>http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html#comments</comments>
		<pubDate>Tue, 25 May 2010 02:35:33 +0000</pubDate>
		<dc:creator>kthiz2006</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1223</guid>
		<description><![CDATA[
class MyClass {
  public static function register() {
    //如果解串行器发现有未定义类要被实例化,则设置spl_autoload_call函数加载请求类.
    ini_set('unserialize_callback_func', 'spl_autoload_call');
    //自动载入类，类似于__autoload
    if (false === spl_autoload_register(array("MyClass","autoLoad"))) {
      throw new Exception('wrong');
    }
  }
  //处理自动载入类
  public static function autoload($className) {
    [...]]]></description>
			<content:encoded><![CDATA[<p><code><br />
class MyClass {<br />
  public static function register() {<br />
    //如果解串行器发现有未定义类要被实例化,则设置spl_autoload_call函数加载请求类.<br />
    ini_set('unserialize_callback_func', 'spl_autoload_call');<br />
    //自动载入类，类似于__autoload<br />
    if (false === spl_autoload_register(array("MyClass","autoLoad"))) {<br />
      throw new Exception('wrong');<br />
    }<br />
  }<br />
  //处理自动载入类<br />
  public static function autoload($className) {<br />
    require realpath(dirname(__FILE__)).'/lib/'.strtolower($className).'.class.php';<br />
  }<br />
}<br />
</code><br />
只要在项目目录中创建一个类的目录，这里我创建的叫lib，往这里放入你要放的类的文件。<br />
注:<br />
1.类的文件名要统一规则，这样方便系统快速地进行查找,避免消耗更多的内存。<br />
2.autoload的函数的载入类的规则可以依据需要进行设置，我这里规定要载入我的lib目录里文件的扩展名是class.php的类的文件。</p>
<p>以下是使用的例子：<br />
在创建的lib目录里方了一个叫cache的类的文件。<br />
接着在你要编写的程序文件里载入上边的说的自动载入类的文件，使用MyClass::register()，就可以不用载入要实例化的类的文件直接实例化刚才的cache的类的文件。</p>
<p>以上说的实现的效果必须是php的版本>=5.1.2</p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html" title="PHP解压tar,gzip,bzip脚本">PHP解压tar,gzip,bzip脚本</a></li><li><a href="http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html" title="使用SYMFONY Filter 过滤URL">使用SYMFONY Filter 过滤URL</a></li><li><a href="http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html" title="vim配合phpcs实现自动语法检查">vim配合phpcs实现自动语法检查</a></li><li><a href="http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html" title="如何在fixtures.yml写循环添加数据">如何在fixtures.yml写循环添加数据</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html" title="解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题">解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题</a></li><li><a href="http://www.foolbirds.com/symfony-1-4-database-utf8.html" title="symfony 1.4 数据库 utf8设置">symfony 1.4 数据库 utf8设置</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Emacs里使用 PHPCS</title>
		<link>http://www.foolbirds.com/emacs-phpcs.html</link>
		<comments>http://www.foolbirds.com/emacs-phpcs.html#comments</comments>
		<pubDate>Mon, 24 May 2010 05:36:16 +0000</pubDate>
		<dc:creator>bobhero</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1239</guid>
		<description><![CDATA[在EMACS 里使用 PHPCS 检查代码的办法]]></description>
			<content:encoded><![CDATA[<p>前文书说的好 MAKER 可以在VIM 里使用PHPCS   ，VIM是很牛B 的编辑器，但是还有一个更牛B 的编辑器就是 EMACS。</p>
<p>具体有多牛，去GOOGLE 百度一下</p>
<p>PHPCS是什么 ，请参考前文 </p>
<p>这里贴上 EMACS 下使用的代码</p>
<p><code><br />
(defun php-lint ()<br />
  (interactive)<br />
  (let ((compilation-error-regexp-alist '(php))<br />
        (compilation-error-regexp-alist-alist ()))<br />
    (pushnew '(php "\\(syntax error.*\\) in \\(.*\\) on line \\([0-9]+\\)$" 2 3 nil nil 1)<br />
             compilation-error-regexp-alist-alist)<br />
    (compile (concat "php -l -f \"" (buffer-file-name) "\""))))<br />
(define-key php-mode-map (kbd "<f3> <f10>") 'php-lint)<br />
(defun phpcs ()<br />
  "Performs a PHP code sniffer check on the current file."<br />
  (interactive)<br />
  (let ((compilation-error-regexp-alist '(gnu)))<br />
;;    (compile (format "phpcs --standard=PEAR --report=emacs \"%s\""<br />
    (compile (format "phpcs --standard=Zend --report=emacs \"%s\""<br />
                     (buffer-file-name)))))<br />
;; Check code style<br />
(define-key php-mode-map (kbd "<f3> <f11>") 'phpcs)<br />
</code></p>
<p>完成以后可以用 快键调用也可以用 命令行调用。<br />
什么 你看不懂？ 没有关系 ，看不懂就看不懂吧，早晚能看懂的</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://www.foolbirds.com/1072.html" title="打鸟游戏修改版">打鸟游戏修改版</a></li><li><a href="http://www.foolbirds.com/linux-show-service-version.html" title="查看各种服务的版本">查看各种服务的版本</a></li><li><a href="http://www.foolbirds.com/git-use-push-and-pull.html" title="使用push&#038;pull来管理CVS模式的git公共库">使用push&#038;pull来管理CVS模式的git公共库</a></li><li><a href="http://www.foolbirds.com/%e5%9c%a8ie%e4%b8%8b%e4%bd%bf%e7%94%a8script-debugger%e8%b0%83%e8%af%95javascript%e5%85%bc%e5%ae%b9%e6%80%a7%e9%97%ae%e9%a2%98.html" title="在IE下使用Script Debugger调试javascript兼容性问题">在IE下使用Script Debugger调试javascript兼容性问题</a></li><li><a href="http://www.foolbirds.com/symfony-folder-and-deploy.html" title="symfony目录结构及部署办法说明">symfony目录结构及部署办法说明</a></li><li><a href="http://www.foolbirds.com/symfony12-upload-file-and-validate.html" title="symfony1.2中的文件上传和验证">symfony1.2中的文件上传和验证</a></li><li><a href="http://www.foolbirds.com/use_symfony_routing_change_url.html" title="使用symfony routing.yml 修改URL">使用symfony routing.yml 修改URL</a></li><li><a href="http://www.foolbirds.com/partial-and-layout.html" title="局部模板和全局模板">局部模板和全局模板</a></li><li><a href="http://www.foolbirds.com/symfony-1-4-database-utf8.html" title="symfony 1.4 数据库 utf8设置">symfony 1.4 数据库 utf8设置</a></li><li><a href="http://www.foolbirds.com/freebsd710-install-lamp-with-ports.html" title="FreeBSD7.10通过ports安装lamp">FreeBSD7.10通过ports安装lamp</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/emacs-phpcs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vim配合phpcs实现自动语法检查</title>
		<link>http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html</link>
		<comments>http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html#comments</comments>
		<pubDate>Mon, 24 May 2010 02:40:20 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[vi/vim]]></category>
		<category><![CDATA[phpcs]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[自动]]></category>
		<category><![CDATA[语法]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1217</guid>
		<description><![CDATA[在开发过程中, 我们需要保证语法正确, 当然这是基础, 也是必须做到的. 很多时候, 我们还要去遵守一些编码规范, 比如PEAR规则, Zend规则等等, 这样可以让我们写出清晰并且容易阅读的代码, 但是通常来说, 自觉遵守规范是一个很难办到的事情, 所以我们可能需要借助一些辅助方法.
Vim是一款很强大的编辑器, 拥有着可谓无所不能的扩展机制, 这里我简单介绍一下Vim配合phpcs实现自动和手动的语法检查.
什么是phpcs?
phpcs全名PHP_CodeSniffer, 是PEAR中一个用来检测PHP代码规范的包, 他是确保你代码简介一致的必不可少的工具, 并且可以更快的帮你找到语法错误. 关于phpcs的具体安装和使用方法这里就不做说明了, 请各位读者自行查找.
注: phpcs中默认提供了一些编码规范, 在开发过程中我们可能需要一些自己的规范, 可以在phpcs的目录中添加新规范, 规范的编写方法请参考一些内置规范, 规则都是phpcs已经有的, 只需修改声明就可以了.
我们需要扩展vim的功能, 这样需要编写一些脚本, 脚本可以直接加到你的vim配置文件中, 也可以保存成脚本保存在$VIMHOME/plugin/目录下.
下面是脚本内容:
function! Phpcs()
  " phpcs 命令的路径和参数, 请根据环境自行修改
  ! /home/bobhero/Dropbox/project/libphp/bin/phpcs --standard=Zend "%"
  cwindow
endfunction
" :w 自动验证语法
autocmd BufWritePost *.php call Phpcs()
" :Phpcs 验证语法
command! Phpcs execute Phpcs()
以上代码添加完毕后重启vim, 然后你就可以在保存文件(:w)的同时自动检查语法了, 还可以在vim中调用Phpcs命令(:Phpcs 注意区分大小写), [...]]]></description>
			<content:encoded><![CDATA[<p>在开发过程中, 我们需要保证语法正确, 当然这是基础, 也是必须做到的. 很多时候, 我们还要去遵守一些编码规范, 比如PEAR规则, Zend规则等等, 这样可以让我们写出清晰并且容易阅读的代码, 但是通常来说, 自觉遵守规范是一个很难办到的事情, 所以我们可能需要借助一些辅助方法.</p>
<p><a href="http://www.vim.org">Vim</a>是一款很强大的编辑器, 拥有着可谓无所不能的扩展机制, 这里我简单介绍一下Vim配合phpcs实现自动和手动的语法检查.</p>
<blockquote><p>什么是phpcs?</p>
<p>phpcs全名<a href="http://pear.php.net/package/PHP_CodeSniffer/redirected">PHP_CodeSniffer</a>, 是<a href="http://pear.php.net">PEAR</a>中一个用来检测PHP代码规范的包, 他是确保你代码简介一致的必不可少的工具, 并且可以更快的帮你找到语法错误. 关于phpcs的具体安装和使用方法这里就不做说明了, 请各位读者自行查找.</p></blockquote>
<p><em>注: phpcs中默认提供了一些编码规范, 在开发过程中我们可能需要一些自己的规范, 可以在phpcs的目录中添加新规范, 规范的编写方法请参考一些内置规范, 规则都是phpcs已经有的, 只需修改声明就可以了.</em></p>
<p>我们需要扩展vim的功能, 这样需要编写一些脚本, 脚本可以直接加到你的vim配置文件中, 也可以保存成脚本保存在$VIMHOME/plugin/目录下.</p>
<p>下面是脚本内容:</p>
<p><code>function! Phpcs()<br />
  " phpcs 命令的路径和参数, 请根据环境自行修改<br />
  ! /home/bobhero/Dropbox/project/libphp/bin/phpcs --standard=Zend "%"<br />
  cwindow<br />
endfunction<br />
" :w 自动验证语法<br />
autocmd BufWritePost *.php call Phpcs()<br />
" :Phpcs 验证语法<br />
command! Phpcs execute Phpcs()</code></p>
<p>以上代码添加完毕后重启vim, 然后你就可以在保存文件(:w)的同时自动检查语法了, 还可以在vim中调用Phpcs命令(:Phpcs 注意区分大小写), 我在网上还看见了一些更强大的脚本, 这里就不详细介绍了.</p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html" title="PHP解压tar,gzip,bzip脚本">PHP解压tar,gzip,bzip脚本</a></li><li><a href="http://www.foolbirds.com/vim%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e6%b3%a8%e8%a7%a3.html" title="vim配置文件注解">vim配置文件注解</a></li><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html" title="解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题">解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/archlinux-lam.html" title="archlinux 安装 LAMP环境">archlinux 安装 LAMP环境</a></li><li><a href="http://www.foolbirds.com/vim-colors-schema.html" title="精选vim的配色">精选vim的配色</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symfony1.4 DateTime对于PHP低版本的兼容问题</title>
		<link>http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html</link>
		<comments>http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html#comments</comments>
		<pubDate>Fri, 21 May 2010 05:17:53 +0000</pubDate>
		<dc:creator>szn000</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1209</guid>
		<description><![CDATA[在symfony1.4中使用DateTime 类 但是该类出现于 PHP 5.2.0以后 所以在使用(部分方法需要在PHP5.3.0以后版本才能使用)PHP5.2.0以前版本的服务器上 调用symfony调用该函数会出错 为了解决该类问题根据 PHP5.2.0 的DateTime类 写了俩个类 用以在低版本中使用该类
以重写方法
DateTime.class.php
__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
string format ( string $format )
int getOffset ( void )
int getTimestamp ( void )
DateTimeZone getTimezone ( void )
DateTime setDate ( int $year , int $month , int $day )
DateTime setISODate ( int [...]]]></description>
			<content:encoded><![CDATA[<p>在symfony1.4中使用DateTime 类 但是该类出现于 PHP 5.2.0以后 所以在使用(部分方法需要在PHP5.3.0以后版本才能使用)PHP5.2.0以前版本的服务器上 调用symfony调用该函数会出错 为了解决该类问题根据 PHP5.2.0 的DateTime类 写了俩个类 用以在低版本中使用该类<br />
以重写方法<br />
DateTime.class.php<br />
<code>__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )<br />
string format ( string $format )<br />
int getOffset ( void )<br />
int getTimestamp ( void )<br />
DateTimeZone getTimezone ( void )<br />
DateTime setDate ( int $year , int $month , int $day )<br />
DateTime setISODate ( int $year , int $week [, int $day = 1 ] )<br />
DateTime setTime ( int $hour , int $minute [, int $second = 0 ] )<br />
DateTime setTimestamp ( int $unixtimestamp )<br />
DateTime setTimezone ( DateTimeZone $timezone )<br />
DateTime __wakeup ( void )</code></p>
<p>DateTimeZone.class.php<br />
<code>__construct ( string $timezone )<br />
string getName ( void )<br />
int getOffset ( DateTime $datetime )</code><br />
文件下载地址: <a target = "_blank" href = "http://www.xun6.com/file/dbedf4439/DateTime_DateTimeZone.tar.gz.html">下载点击我</a><br />
附件使用时把类名中的My删除</p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html" title="PHP解压tar,gzip,bzip脚本">PHP解压tar,gzip,bzip脚本</a></li><li><a href="http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html" title="使用SYMFONY Filter 过滤URL">使用SYMFONY Filter 过滤URL</a></li><li><a href="http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html" title="vim配合phpcs实现自动语法检查">vim配合phpcs实现自动语法检查</a></li><li><a href="http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html" title="如何在fixtures.yml写循环添加数据">如何在fixtures.yml写循环添加数据</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html" title="解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题">解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题</a></li><li><a href="http://www.foolbirds.com/symfony-1-4-database-utf8.html" title="symfony 1.4 数据库 utf8设置">symfony 1.4 数据库 utf8设置</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何在fixtures.yml写循环添加数据</title>
		<link>http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html</link>
		<comments>http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html#comments</comments>
		<pubDate>Thu, 20 May 2010 08:03:36 +0000</pubDate>
		<dc:creator>kthiz2006</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=802</guid>
		<description><![CDATA[举一个简单的例子：
city表的字段有id,enabled,name
那么往city表插入字段的写法如下:

city:
&#60;?php for ($i = 1; $i &#60;= 6; $i++): ?&#62;
city_&#60;?php echo $i ?&#62;:
enabled: 1
name:    city&#60;?php echo $i."\n" ?&#62;//用php写表的字段的数据结尾时一定写上"\n"
&#60;?php endfor; ?&#62;

注意：书写时一定要注意fixtures.yml的写法,注意空格.
使用SYMFONY Filter 过滤URL仿symfony机制实现不用require或者include来实例化类symfony1.4 DateTime对于PHP低版本的兼容问题symfony 1.4 数据库 utf8设置symfony cheat sheetCheat Sheets!如何使用swift发送邮件symfony1.2下的命令行程序(batch)symfony1.2的后台(generate-admin)模板结构在Symfony中使用第三方图片处理工具WideImage]]></description>
			<content:encoded><![CDATA[<p>举一个简单的例子：<br />
city表的字段有id,enabled,name<br />
那么往city表插入字段的写法如下:<br />
<code><br />
city:<br />
&lt;?php for ($i = 1; $i &lt;= 6; $i++): ?&gt;<br />
city_&lt;?php echo $i ?&gt;:<br />
enabled: 1<br />
name:    city&lt;?php echo $i."\n" ?&gt;//用php写表的字段的数据结尾时一定写上"\n"<br />
&lt;?php endfor; ?&gt;<br />
</code><br />
注意：书写时一定要注意fixtures.yml的写法,注意空格.</p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html" title="使用SYMFONY Filter 过滤URL">使用SYMFONY Filter 过滤URL</a></li><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/symfony-1-4-database-utf8.html" title="symfony 1.4 数据库 utf8设置">symfony 1.4 数据库 utf8设置</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/how-to-use-swift-to-send-mail-in-symfon.html" title="如何使用swift发送邮件">如何使用swift发送邮件</a></li><li><a href="http://www.foolbirds.com/batch-in-symfony12.html" title="symfony1.2下的命令行程序(batch)">symfony1.2下的命令行程序(batch)</a></li><li><a href="http://www.foolbirds.com/generate-admin-templates-structure.html" title="symfony1.2的后台(generate-admin)模板结构">symfony1.2的后台(generate-admin)模板结构</a></li><li><a href="http://www.foolbirds.com/wideimage-in-symfony.html" title="在Symfony中使用第三方图片处理工具WideImage">在Symfony中使用第三方图片处理工具WideImage</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP中数据类型间的比较</title>
		<link>http://www.foolbirds.com/%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b%e9%97%b4%e7%9a%84%e6%af%94%e8%be%83.html</link>
		<comments>http://www.foolbirds.com/%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b%e9%97%b4%e7%9a%84%e6%af%94%e8%be%83.html#comments</comments>
		<pubDate>Wed, 19 May 2010 07:12:32 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[变量]]></category>
		<category><![CDATA[比较]]></category>
		<category><![CDATA[类型]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1152</guid>
		<description><![CDATA[这是由bobhero发现的一个很有趣的问题. 废话不多说, 直接上代码.
var_dump(array() > 9999); // true
结论:任何数组大于整数
var_dump(array() > 'abc'); // true
结论:任何数组大于字符串
var_dump(array() < array('a')); // true
结论:任何非空数组大于空数组, 其实这个应该是所有人都知道的
var_dump('abc' > '123');// true
这个没有结论, 是字符串比较的问题
var_dump('abcasdfad' > 123);// false
var_dump('abcasdfad' > 1);// false
var_dump('abcasdfad' > 0);// false
结论:任何整数大于字符串
以上是实验过程和结论, 刚发现的时候我也是很惊奇的, 不过最终也没弄明白其中的原理,  希望高手指点.
随机日志版本控制工具GIT的使用（一）分机打补丁如何在视图里接收变量在symfony中使用FCKeditor上传图片附件symfony命令行详解如何在List表单下面添加select系列动作版本控制工具GIT的使用（二）主机打补丁Firefox 和 IE 中的键盘事件发布你的symfony插件关于上传图片后显示上传图片的路径问题Symfony中的action和actions]]></description>
			<content:encoded><![CDATA[<p>这是由<a href="mailto:bobhero.chen#gmail.com">bobhero</a>发现的一个很有趣的问题. 废话不多说, 直接上代码.</p>
<p><code>var_dump(array() > 9999); // true</code></p>
<p><strong>结论:<em>任何数组大于整数</em></strong></p>
<p><code>var_dump(array() > 'abc'); // true</code></p>
<p><strong>结论:<em>任何数组大于字符串</em></strong></p>
<p><code>var_dump(array() < array('a')); // true</code></p>
<p><strong>结论:<em>任何非空数组大于空数组</em>, 其实这个应该是所有人都知道的</strong></p>
<p><code>var_dump('abc' > '123');// true</code></p>
<p>这个没有结论, 是字符串比较的问题</p>
<p><code>var_dump('abcasdfad' > 123);// false<br />
var_dump('abcasdfad' > 1);// false<br />
var_dump('abcasdfad' > 0);// false</code></p>
<p><strong>结论<em>:任何整数大于字符串</em></strong></p>
<p>以上是实验过程和结论, 刚发现的时候我也是很惊奇的, 不过最终也没弄明白其中的原理,  希望高手指点.</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://www.foolbirds.com/add-tinymce-to-symfony.html" title="在symfony项目中应用TinyMCE">在symfony项目中应用TinyMCE</a></li><li><a href="http://www.foolbirds.com/symfony-requirements-check.html" title="symfony 环境检查">symfony 环境检查</a></li><li><a href="http://www.foolbirds.com/get-var-in-templates.html" title="如何在视图里接收变量">如何在视图里接收变量</a></li><li><a href="http://www.foolbirds.com/component-slot-in-symfony.html" title="Symfony中组件槽(Component Slot)的应用">Symfony中组件槽(Component Slot)的应用</a></li><li><a href="http://www.foolbirds.com/add-tinymce-to-symfony-2.html" title="在symfony项目中应用TinyMCE（续）">在symfony项目中应用TinyMCE（续）</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/let-symfony-work-in-ubuntu.html" title="在Ubuntu下面，让symfony工作起来">在Ubuntu下面，让symfony工作起来</a></li><li><a href="http://www.foolbirds.com/batch-in-symfony12.html" title="symfony1.2下的命令行程序(batch)">symfony1.2下的命令行程序(batch)</a></li><li><a href="http://www.foolbirds.com/setup-filter-in-action.html" title="如何在action中设置filter过滤器，消除过滤影响">如何在action中设置filter过滤器，消除过滤影响</a></li><li><a href="http://www.foolbirds.com/%e5%88%a4%e6%96%ad%e6%90%9c%e7%b4%a2%e5%bc%95%e6%93%8e%e7%88%ac%e8%99%ab.html" title="判断搜索引擎爬虫">判断搜索引擎爬虫</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b%e9%97%b4%e7%9a%84%e6%af%94%e8%be%83.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用symfony routing.yml 修改URL</title>
		<link>http://www.foolbirds.com/use_symfony_routing_change_url.html</link>
		<comments>http://www.foolbirds.com/use_symfony_routing_change_url.html#comments</comments>
		<pubDate>Mon, 17 May 2010 04:04:30 +0000</pubDate>
		<dc:creator>szn000</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[routing.yml]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/%e4%bd%bf%e7%94%a8symfony-routing-yml-%e4%bf%ae%e6%94%b9url%e6%98%be%e7%a4%ba.html</guid>
		<description><![CDATA[由于不规范的URL带有程序和数据库的结构信息会给程序带来隐患并且在程序中经常需要使用?name=value来传递变量的值所以修改URL非常重要.
在symfony中 使用 routing.yml 文件就可以修改URL
下面是一个URL修改的例子
将 project/news/show?title=123 修改成 project/news/123.html
在projiect/apps/myapp/config/routing.yml 添加下列代码
shownews:
  url:   /news/show
  param: { module: news, action: show }
上面代码是定义一个 @shownews 路由使其访问 news/show
注意:每次修改routing.yml 后需要执行 symfony cc 清理缓存
在页面中添加如下代码
&#60;?php echo link_to($name, '@shownews?title='. $title);?&#62;
$name是超链接名称
$title是要传递的值
(如果 $name=&#8217;测试&#8217; $value=&#8217;123&#8242;)
上面的php代码转换成HTML代码如下
&#60;a href="/news/show?title=123"&#62;测试&#60;&#x2F;a&#62;
在projiect/apps/myapp/config/routing.yml 修改代码
shownews:
  url:   /news/:title.html
  param: { module: news, action: show }
  requirements:
    title: [...]]]></description>
			<content:encoded><![CDATA[<p>由于不规范的URL带有程序和数据库的结构信息会给程序带来隐患并且在程序中经常需要使用?name=value来传递变量的值所以修改URL非常重要.<br />
在symfony中 使用 routing.yml 文件就可以修改URL<br />
下面是一个URL修改的例子<br />
将 project/news/show?title=123 修改成 project/news/123.html<br />
在projiect/apps/myapp/config/routing.yml 添加下列代码<br />
<code>shownews:<br />
  url:   /news/show<br />
  param: { module: news, action: show }</code><br />
上面代码是定义一个 @shownews 路由使其访问 news/show<br />
注意:每次修改routing.yml 后需要执行 symfony cc 清理缓存<br />
在页面中添加如下代码<br />
<code>&lt;?php echo link_to($name, '@shownews?title='. $title);?&gt;</code><br />
$name是超链接名称<br />
$title是要传递的值<br />
(如果 $name=&#8217;测试&#8217; $value=&#8217;123&#8242;)<br />
上面的php代码转换成HTML代码如下<br />
<code>&lt;a href="/news/show?title=123"&gt;测试&lt;&#x2F;a&gt;</code><br />
在projiect/apps/myapp/config/routing.yml 修改代码<br />
<code>shownews:<br />
  url:   /news/:title.html<br />
  param: { module: news, action: show }<br />
  requirements:<br />
    title: \w+</code><br />
PHP代码</p>
<p>将转换成<br />
<code>&lt;a href="/news/123.html"&gt;测试&lt;&#x2F;a&gt;</code></p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html" title="使用SYMFONY Filter 过滤URL">使用SYMFONY Filter 过滤URL</a></li><li><a href="http://www.foolbirds.com/url-in-other-apps2.html" title="怎么在app中构造其它app的链接(二)">怎么在app中构造其它app的链接(二)</a></li><li><a href="http://www.foolbirds.com/url-in-other-apps-one.html" title="怎么在app中构造其它app的链接(一)">怎么在app中构造其它app的链接(一)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/use_symfony_routing_change_url.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在symfony中如何删除 head mate name=title</title>
		<link>http://www.foolbirds.com/symfony_delete_mate_name_title.html</link>
		<comments>http://www.foolbirds.com/symfony_delete_mate_name_title.html#comments</comments>
		<pubDate>Mon, 17 May 2010 03:43:35 +0000</pubDate>
		<dc:creator>szn000</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[mate]]></category>
		<category><![CDATA[title]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1154</guid>
		<description><![CDATA[SYMFONY 自带的 生成标签的函数(setTitle()) 会默认生成一个 &#60;META NAME=&#8217;TITLE&#8217;&#8230;&#62;这样的一个 标签，这个标签会在 SETTITLE 里受影响 即 同时设置两个TITLE 一个是 &#60;TITLE&#62;一个是&#60;META&#62; 根据客户需求有些时候需要删掉 META NAME=&#8217;TITLE&#8217; 这种，办法如下
新建MyProject/app/MyApp/lib/myWebResponse.class.php 文件
插入如下代码
]]></description>
			<content:encoded><![CDATA[<p>SYMFONY 自带的 生成标签的函数(setTitle()) 会默认生成一个 &lt;META NAME=&#8217;TITLE&#8217;&#8230;&gt;这样的一个 标签，这个标签会在 SETTITLE 里受影响 即 同时设置两个TITLE 一个是 &lt;TITLE&gt;一个是&lt;META&gt; 根据客户需求有些时候需要删掉 META NAME=&#8217;TITLE&#8217; 这种，办法如下<br />
新建MyProject/app/MyApp/lib/myWebResponse.class.php 文件<br />
插入如下代码<br />
<code><?php<br />
class myWebResponse extends sfWebResponse<br />
{<br />
   protected $title = null;<br />
 /*<br />
 * 在Web Response 里搜索Title<br />
 *<br />
 * 返回Title字符串<br />
 */<br />
 public function getTitle()<br />
 {<br />
    return $this->title;<br />
 }<br />
 /*<br />
 * 设置Title为响应Title<br />
 *<br />
 * 参数 title string ,Title内容<br />
 * 参数 rscape boolean true, 用以确认是否格式化字符串<br />
 * 参数 replace boolean true, 用以确认是否覆盖字符串<br />
 */<br />
 public function setTitle($title, $escape = true, $replace = true)<br />
 {<br />
   if (is_null($title))<br />
   {<br />
      unset($this->title);<br />
      return;<br />
   }<br />
   // 注意: 如果你使用i18n 曾转码 该判断将不会工作<br />
   // 查看 include_metas() 在源文件的 AssetHelper<br />
   if ($escape)<br />
   {<br />
      $title = htmlspecialchars($title, ENT_QUOTES, $this->options['charset']);<br />
   }<br />
   if ($replace || is_null($this->title))<br />
   {<br />
      $this->title = $title;<br />
   }<br />
  }<br />
}</code></p>
<p>在文件MyProjiect/apps/MyApps/config/factories.yml<br />
里使用 myWebResponse 替换 sfWebResponse<br />
例如 在factories.yml中添加(替换成)如下代码<br />
<code>all:<br />
  response:<br />
    class: myWebResponse<br />
    param:<br />
      send_http_headers: false</code><br />
上面代码中的all可以替换成相应的模式(生产,开发等)<br />
执行 symfony cc (用于清理symfony产生的缓存文件)</p>
<p>注:该程序执行原理是重写了sfWebResponse setTitle 和 getTitle 两个方法<br />
   使setTitle 添加title的时候不添加 mate name = title<br />
   sfWebResponse setTitle源代码如下<br />
 <code> public function setTitle($title, $escape = true)<br />
  {<br />
    $this->addMeta('title', $title, true, $escape);<br />
  }</code></p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://www.foolbirds.com/symfony-folder-and-deploy.html" title="symfony目录结构及部署办法说明">symfony目录结构及部署办法说明</a></li><li><a href="http://www.foolbirds.com/how-to-embed-forms-in-symfony-12-admin-generator.html" title="内嵌表单详解（How to Embed Forms in Symfony 1.2 Admin Generator 中文版）">内嵌表单详解（How to Embed Forms in Symfony 1.2 Admin Generator 中文版）</a></li><li><a href="http://www.foolbirds.com/awesome3-default-hotkey.html" title="Awesome3.0默认快捷键">Awesome3.0默认快捷键</a></li><li><a href="http://www.foolbirds.com/add-tinymce-to-symfony-2.html" title="在symfony项目中应用TinyMCE（续）">在symfony项目中应用TinyMCE（续）</a></li><li><a href="http://www.foolbirds.com/%e5%88%a4%e6%96%ad%e6%90%9c%e7%b4%a2%e5%bc%95%e6%93%8e%e7%88%ac%e8%99%ab.html" title="判断搜索引擎爬虫">判断搜索引擎爬虫</a></li><li><a href="http://www.foolbirds.com/use-form.html" title="form使用一例">form使用一例</a></li><li><a href="http://www.foolbirds.com/set-title-and-keywords.html" title="如何设置title、keywords">如何设置title、keywords</a></li><li><a href="http://www.foolbirds.com/symfony-requirements-check.html" title="symfony 环境检查">symfony 环境检查</a></li><li><a href="http://www.foolbirds.com/symfony-latlng-widget-with-google-maps.html" title="编写widget一例:支持Google Maps的坐标输入框">编写widget一例:支持Google Maps的坐标输入框</a></li><li><a href="http://www.foolbirds.com/to-be-a-symfony-contributor.html" title="成为一名symfony文档贡献者.">成为一名symfony文档贡献者.</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/symfony_delete_mate_name_title.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Bit.ly短网址服务API简化URL</title>
		<link>http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html</link>
		<comments>http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html#comments</comments>
		<pubDate>Mon, 17 May 2010 02:16:51 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bit.ly]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1139</guid>
		<description><![CDATA[最近项目中涉及到Tw***er, 需求要使用PHP更新Tw***er中的状态, 自动加上链接地址并且链接地址要通过bit.ly进行简化.
什么是Bit.ly?
Bit.ly是一个短网址服务, 根据原网址生成一个新的较短的网址, 由于微博客发言有字数限制, 所以短网址服务在微博客中广为应用.
使用PHP调用bit.ly api有很多方法, 这里只简单提供一个例子, 详细文档和例子请登陆http://bit.ly自行查找.
使用bit.ly api首先要注册一个账户, 注册完之后会得到一个api key, 有了api key我们才能合法使用bit.ly的api, api key在个人资料中.下面是txt格式调用api的函数.
注: 打开url读取内容需要开启php的allow_url_fopen选项.
function make_bitly_url ($url, $login = 'm4ker',
$api_key = 'R_04354c1e3500db9f43f1fedaf234****') {
return file_get_contents(
'http://api.bit.ly/v3/shorten?login='.$login
.'&#38;apiKey='.$api_key
.'&#38;uri='.urlencode($url)
.'&#38;format=txt');
}
PHP解压tar,gzip,bzip脚本仿symfony机制实现不用require或者include来实例化类vim配合phpcs实现自动语法检查symfony1.4 DateTime对于PHP低版本的兼容问题解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题symfony cheat sheetCheat Sheets!archlinux 安装 LAMP环境]]></description>
			<content:encoded><![CDATA[<p>最近项目中涉及到Tw***er, 需求要使用PHP更新Tw***er中的状态, 自动加上链接地址并且链接地址要通过bit.ly进行简化.</p>
<blockquote><p>什么是Bit.ly?</p>
<p>Bit.ly是一个短网址服务, 根据原网址生成一个新的较短的网址, 由于微博客发言有字数限制, 所以短网址服务在微博客中广为应用.</p></blockquote>
<p>使用PHP调用bit.ly api有很多方法, 这里只简单提供一个例子, 详细文档和例子请登陆http://bit.ly自行查找.</p>
<p>使用bit.ly api首先要注册一个账户, 注册完之后会得到一个api key, 有了api key我们才能合法使用bit.ly的api, api key在个人资料中.下面是txt格式调用api的函数.</p>
<p><em>注: 打开url读取内容需要开启php的allow_url_fopen选项.</em></p>
<p><code>function make_bitly_url ($url, $login = 'm4ker',<br />
$api_key = 'R_04354c1e3500db9f43f1fedaf234****') {<br />
return file_get_contents(<br />
'http://api.bit.ly/v3/shorten?login='.$login<br />
.'&amp;apiKey='.$api_key<br />
.'&amp;uri='.urlencode($url)<br />
.'&amp;format=txt');<br />
}</code></p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html" title="PHP解压tar,gzip,bzip脚本">PHP解压tar,gzip,bzip脚本</a></li><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html" title="vim配合phpcs实现自动语法检查">vim配合phpcs实现自动语法检查</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html" title="解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题">解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/archlinux-lam.html" title="archlinux 安装 LAMP环境">archlinux 安装 LAMP环境</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今天处理了一个莫名其妙的配置问题</title>
		<link>http://www.foolbirds.com/%e4%bb%8a%e5%a4%a9%e5%a4%84%e7%90%86%e4%ba%86%e4%b8%80%e4%b8%aa%e8%8e%ab%e5%90%8d%e5%85%b6%e5%a6%99%e7%9a%84%e9%85%8d%e7%bd%ae%e9%97%ae%e9%a2%98.html</link>
		<comments>http://www.foolbirds.com/%e4%bb%8a%e5%a4%a9%e5%a4%84%e7%90%86%e4%ba%86%e4%b8%80%e4%b8%aa%e8%8e%ab%e5%90%8d%e5%85%b6%e5%a6%99%e7%9a%84%e9%85%8d%e7%bd%ae%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Fri, 30 Apr 2010 06:08:33 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1133</guid>
		<description><![CDATA[把公司以前用symfony1.2做的一个项目上传到测试服务器上会出现配置文件解析错误，把除了error_reporting之外的所有配置注释掉就会好用，找个很久也没找到原因。
最后没办法开始重写配置， 终于发现原因， 原代码如下：
dev:
  .settings:
    error_reporting:        < ?php echo (E_ALL &#124; E_STRICT) ^ E_NOTICE ^ E_DEPRECATED ."\n" ? >
    web_debug:              on
    cache:     [...]]]></description>
			<content:encoded><![CDATA[<p>把公司以前用symfony1.2做的一个项目上传到测试服务器上会出现配置文件解析错误，把除了error_reporting之外的所有配置注释掉就会好用，找个很久也没找到原因。</p>
<p>最后没办法开始重写配置， 终于发现原因， 原代码如下：</p>
<p><code>dev:<br />
  .settings:<br />
    error_reporting:        < ?php echo (E_ALL | E_STRICT) ^ E_NOTICE ^ E_DEPRECATED ."\n" ? ><br />
    web_debug:              on<br />
    cache:                  off<br />
    no_script_name:         off<br />
    etag:                   off<br />
    default_culture: ja</code></p>
<p>问题就是由于 E_DEPRECATED 常量导致的，这个常量是5.3之后才添加的， 所以在5.3以下版本的php就会出现常量未定义的错误，导致配置文件解析错误，E_DEPRECATED是一些不推荐使用（也可以说是即将废弃的）的函数错误， 因为程序是在5.2下开发的， 升级至5.3错误异常的多， 所以屏蔽此错误。</p>
<p>解决办法，去掉E_DEPRECATED常量或者进行defined()处理。</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html" title="如何在fixtures.yml写循环添加数据">如何在fixtures.yml写循环添加数据</a></li><li><a href="http://www.foolbirds.com/emacs-phpcs.html" title="在Emacs里使用 PHPCS ">在Emacs里使用 PHPCS </a></li><li><a href="http://www.foolbirds.com/default-values-for-form.html" title="如何给表单项赋初值">如何给表单项赋初值</a></li><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/wideimage-in-symfony.html" title="在Symfony中使用第三方图片处理工具WideImage">在Symfony中使用第三方图片处理工具WideImage</a></li><li><a href="http://www.foolbirds.com/get-var-in-templates.html" title="如何在视图里接收变量">如何在视图里接收变量</a></li><li><a href="http://www.foolbirds.com/url-in-other-apps2.html" title="怎么在app中构造其它app的链接(二)">怎么在app中构造其它app的链接(二)</a></li><li><a href="http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html" title="使用SYMFONY Filter 过滤URL">使用SYMFONY Filter 过滤URL</a></li><li><a href="http://www.foolbirds.com/symfony-requirements-check.html" title="symfony 环境检查">symfony 环境检查</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/%e4%bb%8a%e5%a4%a9%e5%a4%84%e7%90%86%e4%ba%86%e4%b8%80%e4%b8%aa%e8%8e%ab%e5%90%8d%e5%85%b6%e5%a6%99%e7%9a%84%e9%85%8d%e7%bd%ae%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题</title>
		<link>http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html</link>
		<comments>http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Mon, 05 Apr 2010 17:47:56 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[bom]]></category>
		<category><![CDATA[csv]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[乱码]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1116</guid>
		<description><![CDATA[其实这个问题很久之前遇到过, 应该是没解决, 当时的情况是openoffice打开正常而excel打开不正常, 后来也没解决了, 只能把编码转了.
这次又遇到这个问题了, 在网上一番寻找, 在一篇java的文章里找到了原因, 是由于输出的CSV文件中没有BOM.

什么是BOM?
在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符，它的编码是FEFF。而FFFE在UCS中是不存在的字符，所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前，先传输字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF，就表明这个字节流是Big-Endian的；如果收到FFFE，就表明这个字节流是Little-Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。
UTF-8不需要BOM来表明字节顺序，但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流，就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。
那么如何在PHP中输出BOM呢?
在所有内容输出之前

print(chr(0xEF).chr(0xBB).chr(0xBF));

原文地址: http://foolbird.net/1517.html
PHP解压tar,gzip,bzip脚本仿symfony机制实现不用require或者include来实例化类vim配合phpcs实现自动语法检查symfony1.4 DateTime对于PHP低版本的兼容问题使用Bit.ly短网址服务API简化URLsymfony cheat sheetCheat Sheets!archlinux 安装 LAMP环境]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">其实这个问题很久之前遇到过, 应该是没解决, 当时的情况是openoffice打开正常而excel打开不正常, 后来也没解决了, 只能把编码转了.</p>
<p style="ftext-align: justify;">这次又遇到这个问题了, 在网上一番寻找, 在一篇java的文章里找到了原因, 是由于输出的CSV文件中没有BOM.</p>
<blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 0px; margin-left: 10px; padding-left: 20px; border-left-width: 5px; border-left-style: solid; border-left-color: #dddddd;">
<p style="text-align: justify;">什么是BOM?</p>
<p style="text-align: justify;">在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符，它的编码是FEFF。而FFFE在UCS中是不存在的字符，所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前，先传输字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF，就表明这个字节流是Big-Endian的；如果收到FFFE，就表明这个字节流是Little-Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。<br />
UTF-8不需要BOM来表明字节顺序，但可以用BOM来表明编码方式。字符”ZERO WIDTH NO-BREAK SPACE”的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流，就知道这是UTF-8编码了。<br />
Windows就是使用BOM来标记文本文件的编码方式的。</p></blockquote>
<p style="text-align: justify;">那么如何在PHP中输出BOM呢?</p>
<p style=" text-align: justify;">在所有内容输出之前</p>
<blockquote style="margin-top: 15px; margin-right: 30px; margin-bottom: 0px; margin-left: 10px; padding-left: 20px; border-left-width: 5px; border-left-style: solid; border-left-color: #dddddd;">
<p style="ftext-align: justify;">print(chr(0xEF).chr(0xBB).chr(0xBF));</p>
</blockquote>
<p>原文地址: <a href="http://foolbird.net/1517.html">http://foolbird.net/1517.html</a></p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/php__tar_gzip_bzip%e8%84%9a%e6%9c%ac.html" title="PHP解压tar,gzip,bzip脚本">PHP解压tar,gzip,bzip脚本</a></li><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/vim%e9%85%8d%e5%90%88phpcs%e5%ae%9e%e7%8e%b0p%e8%87%aa%e5%8a%a8%e8%af%ad%e6%b3%95%e6%a3%80%e6%9f%a5.html" title="vim配合phpcs实现自动语法检查">vim配合phpcs实现自动语法检查</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/archlinux-lam.html" title="archlinux 安装 LAMP环境">archlinux 安装 LAMP环境</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/%e8%a7%a3%e5%86%b3php%e7%94%9f%e6%88%90utf-8%e7%bc%96%e7%a0%81%e7%9a%84csv%e6%96%87%e4%bb%b6%e7%94%a8excel%e6%89%93%e5%bc%80%e4%b9%b1%e7%a0%81%e7%9a%84%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>外包 佣兵计划</title>
		<link>http://www.foolbirds.com/task-city.html</link>
		<comments>http://www.foolbirds.com/task-city.html#comments</comments>
		<pubDate>Wed, 10 Feb 2010 09:47:48 +0000</pubDate>
		<dc:creator>bobhero</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1111</guid>
		<description><![CDATA[taskcity.com 是一个外包的网站 ，看上去在中国做的相当不错了
里面看到不少都是国外的项目，但是价格我认为都偏低 特别是php的项目，总感觉一个网站就一百刀，一百五十刀，最多的我看到现在有四百刀，做得都挺复杂，不知道是我的技术不够 还是国外就这个行情，我感觉我是做不了 ，还有外语不是很强
不过我不行，不知道仅有的几个来 foolbirds 的朋友中有没有行的
如果您 通过 这个链接 这个注册帐号，那么您以后做的项目将会分我一定的比例，但是您拿 到的是不变的，比如一共一百刀，您还是拿一百刀，我的那五块钱，不是从这一百刀里出的，呵呵  介绍的时候是这么说的
这个手段相当狠啊，一下会有n多人为这网站 宣传，包括我
随机日志symfony缓存(cache)机制简介使用push&#038;pull来管理CVS模式的git公共库使用symfony routing.yml 修改URL在admin generator中加入复杂的自定义列后台generator的文本框的长度的设置 FreeBSD7.10通过ports安装lamp如何使用swift发送邮件查看各种服务的版本vim配合phpcs实现自动语法检查PHP中数据类型间的比较]]></description>
			<content:encoded><![CDATA[<p>taskcity.com 是一个外包的网站 ，看上去在中国做的相当不错了</p>
<p>里面看到不少都是国外的项目，但是价格我认为都偏低 特别是php的项目，总感觉一个网站就一百刀，一百五十刀，最多的我看到现在有四百刀，做得都挺复杂，不知道是我的技术不够 还是国外就这个行情，我感觉我是做不了 ，还有外语不是很强</p>
<p>不过我不行，不知道仅有的几个来 foolbirds 的朋友中有没有行的</p>
<p>如果您 通过<a href="http://www.taskcity.com/?dn=Newaccount"> 这个链接 </a>这个注册帐号，那么您以后做的项目将会分我一定的比例，但是您拿 到的是不变的，比如一共一百刀，您还是拿一百刀，我的那五块钱，不是从这一百刀里出的，呵呵  介绍的时候是这么说的<br />
这个手段相当狠啊，一下会有n多人为这网站 宣传，包括我</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://www.foolbirds.com/%e4%bd%bf%e7%94%a8bit-ly%e7%9f%ad%e7%bd%91%e5%9d%80%e6%9c%8d%e5%8a%a1api%e7%ae%80%e5%8c%96url.html" title="使用Bit.ly短网址服务API简化URL">使用Bit.ly短网址服务API简化URL</a></li><li><a href="http://www.foolbirds.com/symfony-cmd.html" title="symfony命令行详解">symfony命令行详解</a></li><li><a href="http://www.foolbirds.com/use-colorpicke.html" title="插件使用一例:在form中加入拾色器">插件使用一例:在form中加入拾色器</a></li><li><a href="http://www.foolbirds.com/symfony_delete_mate_name_title.html" title="在symfony中如何删除 head mate name=title ">在symfony中如何删除 head mate name=title </a></li><li><a href="http://www.foolbirds.com/image-upload-preview.html" title="兼容IE6,IE7,IE8和Firefox的图片上传预览效果">兼容IE6,IE7,IE8和Firefox的图片上传预览效果</a></li><li><a href="http://www.foolbirds.com/default-values-for-form.html" title="如何给表单项赋初值">如何给表单项赋初值</a></li><li><a href="http://www.foolbirds.com/%e5%88%a4%e6%96%ad%e6%90%9c%e7%b4%a2%e5%bc%95%e6%93%8e%e7%88%ac%e8%99%ab.html" title="判断搜索引擎爬虫">判断搜索引擎爬虫</a></li><li><a href="http://www.foolbirds.com/component-slot-in-symfony.html" title="Symfony中组件槽(Component Slot)的应用">Symfony中组件槽(Component Slot)的应用</a></li><li><a href="http://www.foolbirds.com/propel-criteria-in-symfony.html" title="Criteria详解">Criteria详解</a></li><li><a href="http://www.foolbirds.com/symfony-requirements-check.html" title="symfony 环境检查">symfony 环境检查</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/task-city.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symfony 1.4 数据库 utf8设置</title>
		<link>http://www.foolbirds.com/symfony-1-4-database-utf8.html</link>
		<comments>http://www.foolbirds.com/symfony-1-4-database-utf8.html#comments</comments>
		<pubDate>Tue, 02 Feb 2010 09:30:52 +0000</pubDate>
		<dc:creator>bobhero</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[1.4]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1099</guid>
		<description><![CDATA[symfony 1.4 更新好长时间了
也准备放弃 symfony1.2 改投 1.4
1.4照比 1.2有了很多更新 官方文档 我不是很满意，感觉有很多东西在文档上找不到全靠自己看代码 及 搜 英文blog
其中  symfony 1.4 对utf8  数据库的支持 我在 官方的文档中并没有找到好的例子 ，在英文blog中找到了一些个解决办法
如下

dsn:      sqlite:%SF_DATA_DIR%/database.db
username: root
password: 123456
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8

使用SYMFONY Filter 过滤URL仿symfony机制实现不用require或者include来实例化类symfony1.4 DateTime对于PHP低版本的兼容问题如何在fixtures.yml写循环添加数据symfony cheat sheetCheat Sheets!如何使用swift发送邮件symfony1.2下的命令行程序(batch)symfony1.2的后台(generate-admin)模板结构在Symfony中使用第三方图片处理工具WideImage]]></description>
			<content:encoded><![CDATA[<p>symfony 1.4 更新好长时间了</p>
<p>也准备放弃 symfony1.2 改投 1.4</p>
<p>1.4照比 1.2有了很多更新 官方文档 我不是很满意，感觉有很多东西在文档上找不到全靠自己看代码 及 搜 英文blog</p>
<p>其中  symfony 1.4 对utf8  数据库的支持 我在 官方的文档中并没有找到好的例子 ，在英文blog中找到了一些个解决办法<br />
如下<br />
<code><br />
dsn:      sqlite:%SF_DATA_DIR%/database.db<br />
username: root<br />
password: 123456<br />
attributes:<br />
default_table_collate: utf8_general_ci<br />
default_table_charset: utf8<br />
</code></p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/use_symfony_filter_to_filteredurl.html" title="使用SYMFONY Filter 过滤URL">使用SYMFONY Filter 过滤URL</a></li><li><a href="http://www.foolbirds.com/%e4%bb%bfsymfony%e6%9c%ba%e5%88%b6%e5%ae%9e%e7%8e%b0%e4%b8%8d%e7%94%a8require%e6%88%96%e8%80%85include%e6%9d%a5%e5%ae%9e%e4%be%8b%e5%8c%96%e7%b1%bb.html" title="仿symfony机制实现不用require或者include来实例化类">仿symfony机制实现不用require或者include来实例化类</a></li><li><a href="http://www.foolbirds.com/use-datetime-in-php5-1-x-with-symfony.html" title="symfony1.4 DateTime对于PHP低版本的兼容问题">symfony1.4 DateTime对于PHP低版本的兼容问题</a></li><li><a href="http://www.foolbirds.com/%e5%a6%82%e4%bd%95%e5%9c%a8fixtures-yml%e5%86%99%e5%be%aa%e7%8e%af%e6%b7%bb%e5%8a%a0%e6%95%b0%e6%8d%ae.html" title="如何在fixtures.yml写循环添加数据">如何在fixtures.yml写循环添加数据</a></li><li><a href="http://www.foolbirds.com/symfony-cheat-sheet.html" title="symfony cheat sheet">symfony cheat sheet</a></li><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</a></li><li><a href="http://www.foolbirds.com/how-to-use-swift-to-send-mail-in-symfon.html" title="如何使用swift发送邮件">如何使用swift发送邮件</a></li><li><a href="http://www.foolbirds.com/batch-in-symfony12.html" title="symfony1.2下的命令行程序(batch)">symfony1.2下的命令行程序(batch)</a></li><li><a href="http://www.foolbirds.com/generate-admin-templates-structure.html" title="symfony1.2的后台(generate-admin)模板结构">symfony1.2的后台(generate-admin)模板结构</a></li><li><a href="http://www.foolbirds.com/wideimage-in-symfony.html" title="在Symfony中使用第三方图片处理工具WideImage">在Symfony中使用第三方图片处理工具WideImage</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/symfony-1-4-database-utf8.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
