<?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/t/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.foolbirds.com</link>
	<description>all about symfony</description>
	<lastBuildDate>Fri, 14 Oct 2011 12:36:02 +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中静态调用非静态方法</title>
		<link>http://www.foolbirds.com/php%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html</link>
		<comments>http://www.foolbirds.com/php%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html#comments</comments>
		<pubDate>Sun, 06 Mar 2011 12:52:40 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[静态方法]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1357</guid>
		<description><![CDATA[今天我被问到PHP中可不可以使用 className::methodName() 的方法来调用一个没有声明Static的方法。在我的印象中，我好像是见过这种用法，但又有些不确定。大家都知道，在手册或者教程里，方法被分为静态方法和非静态方法，通常我们静态调用的方法，肯定是静态方法。

那如果我们调用了非静态方法会怎么样呢？]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff6600;"><strong><em>1.PHP中可以静态调用非静态方法么？</em></strong></span></p>
<p>今天我被问到PHP中可不可以使用 className::methodName() 的方法来调用一个没有声明Static的方法。在我的印象中，我好像是见过这种用法，但又有些不确定。大家都知道，在手册或者教程里，方法被分为静态方法和非静态方法，通常我们静态调用的方法，肯定是静态方法。</p>
<p>那如果我们调用了非静态方法会怎么样呢？首先做测试.<br />
<code>&lt;?php<br />
class test{<br />
function test(){<br />
echo 'it works';<br />
}<br />
}<br />
test::test();</code><br />
执行以下，返回错误如下<br />
<code>Fatal error: Non-static method test::test() cannot be called statically in /home/×××/test.php<br />
on line 7 Call Stack: 0.0002 332548 1. {main}() /home/×××/test.php:0</code><br />
这个时候，可能大家就会认为静态调用非静态方法是行不通的了，但其实，结论下的过早了，因为test()这个方法比较特殊，与类同名，是构造方法。</p>
<p>我们继续测试。<br />
<code>&lt;?php<br />
class test{<br />
function test(){<br />
echo 'it works';<br />
}<br />
function test2(){<br />
echo 'it works too';<br />
}<br />
}<br />
test::test2();</code><br />
执行结果：<br />
<code>it works too</code><br />
这说明，<strong>静态调用非静态方法是可行的，但是静态调用构造方法是不可以的</strong>。为了验证这个结论，我又做了如下测试：<br />
<code>&lt;?php<br />
class test{<br />
static function test(){<br />
echo 'it works';<br />
}<br />
}<br />
test::test();</code><br />
执行的结果如下：<br />
<code>Fatal error: Constructor test::test() cannot be static in /home/xxx/test.php on line 9</code><br />
构造方法不能声明静态，所以上面的推论正确。</p>
<p>但这个结果的确是很特殊的，因为可能<strong>只有PHP可以静态调用非静态方法</strong>，我用Java做了实验，如果静态调用非静态方法会报如下错误：<br />
<code>Cannot make a static reference to the non-static method showString() from the type HelloWorldApp</code><br />
其他语言我没有一一尝试，但这已经足够来说明PHP的特殊之处，关于为什么PHP会有这样的情况我暂时没有找到相关说明。</p>
<p><span style="color: #ff6600;"><strong><em>2.静态调用非静态方法是否应该被应用？</em></strong></span></p>
<p>那我们是不是可以使用这种方法来代替static方法呢？<strong> 首先在代码的可读性上来看，静态调用非静态方法当然是不被推荐的</strong>，这会让维护者产生疑惑。</p>
<p>接下来我们再做一些实验，来看一下静态调用非静态方法在效率上是否会有一定的优势。<br />
<code>&lt;?php<br />
class test{function test2(){}}<br />
for($k=0; $k&lt;10000; $k++)<br />
{<br />
test::test2();<br />
}</code><br />
上面代码在我这里的执行时间是18到28毫秒，我们再来测试标准的写法。<br />
<code>&lt;?php<br />
class test{static function test2(){}}<br />
for($k=0; $k&lt;10000; $k++)<br />
{<br />
test::test2();<br />
}</code><br />
上面的代码执行时间在5到10毫秒之间，这样看来，静态调用非静态方法的效率要比标准的静态方法调用低的多，所以<strong>在效率上也不推荐静态调用非静态方法</strong>。</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%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html/feed</wfw:commentRss>
		<slash:comments>33</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%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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>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%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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>4</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%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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>使用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中静态调用非静态方法仿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%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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>5</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中静态调用非静态方法仿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%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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>5</slash:comments>
		</item>
		<item>
		<title>symfony cheat sheet</title>
		<link>http://www.foolbirds.com/symfony-cheat-sheet.html</link>
		<comments>http://www.foolbirds.com/symfony-cheat-sheet.html#comments</comments>
		<pubDate>Tue, 27 Oct 2009 04:44:54 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[Cheat Sheets]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1037</guid>
		<description><![CDATA[上一篇文章里介绍了symfony的cheat sheet，但官方的下载地址貌似被墙，所以我也没有下载到全部的cheat sheet，不过还好bobhero那里有，虽然是1.0的，但很多内容依然很有用。
































Cheat Sheets!仿symfony机制实现不用require或者include来实例化类symfony1.4 DateTime对于PHP低版本的兼容问题PHP中静态调用非静态方法使用symfony filter 过滤URLvim配合phpcs实现自动语法检查如何在fixtures.yml写循环添加数据使用Bit.ly短网址服务API简化URL解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题symfony 1.4 数据库 utf8设置]]></description>
			<content:encoded><![CDATA[<p><a href="/cheat-sheets.html">上一篇文章</a>里介绍了symfony的cheat sheet，但官方的下载地址貌似被墙，所以我也没有下载到全部的cheat sheet，不过还好bobhero那里有，虽然是1.0的，但很多内容依然很有用。</p>
<table>
<tr>
<td>
<div id="attachment_1051" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-directory-structure-and-cli.pdf"><img class="size-medium wp-image-1051 " title="symfony directory structure and CLI" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-directory-structure-and-cli-211x299.jpg" alt="symfony cheatsheet directory structure and cli" width="211" height="299" /></a><p class="wp-caption-text">symfony directory structure and CLI</p></div>
</td>
<td>
<div id="attachment_1052" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-helpers-part1-js-and-ajax.pdf"><img class="size-medium wp-image-1052  " title="symfony helpers js and ajax" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-helpers-part1-js-and-ajax-211x299.jpg" alt="symfony cheatsheet helpers part1 javascript and AJAX" width="211" height="299" /></a><p class="wp-caption-text">symfony helpers javascript and AJAX</p></div>
</td>
<td>
<div id="attachment_1053" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-helpers-part2-forms.pdf"><img class="size-medium wp-image-1053" title="symfony helpers forms" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-helpers-part2-forms-211x299.jpg" alt="symfony helpers forms" width="211" height="299" /></a><p class="wp-caption-text">symfony helpers forms</p></div>
</td>
</tr>
<tr>
<td>
<div id="attachment_1060" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-views-part1.pdf"><img class="size-medium wp-image-1060 " title="symfony views part1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-views-part1-211x299.jpg" alt="symfony cheatsheet views part1" width="211" height="299" /></a><p class="wp-caption-text">symfony views part1</p></div>
</td>
<td>
<div id="attachment_1050" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-views-part2.pdf"><img class="size-medium wp-image-1050 " title="symfony views part2" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-views-part2-211x299.jpg" alt="symfony cheatsheet views part2" width="211" height="299" /></a><p class="wp-caption-text">symfony views part2</p></div>
</td>
<td>
<div id="attachment_1056" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-model-part1.pdf"><img class="size-medium wp-image-1056 " title="symfony model part1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-model-part1-211x299.jpg" alt="symfony cheatsheet model part1" width="211" height="299" /></a><p class="wp-caption-text">symfony model part1</p></div>
</td>
</tr>
<tr>
<td>
<div id="attachment_1057" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-model-part2.pdf"><img class="size-medium wp-image-1057 " title="symfony model part2" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-model-part2-211x299.jpg" alt="symfony cheatsheet model part2" width="211" height="299" /></a><p class="wp-caption-text">symfony model part2</p></div>
</td>
<td>
<div id="attachment_1055" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-model-criteria-criterionrs.pdf"><img class="size-medium wp-image-1055" title="symfony model criteria criterionrs" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-model-criteria-criterionrs-211x299.jpg" alt="symfony model criteria criterionrs" width="211" height="299" /></a><p class="wp-caption-text">symfony model criteria criterionrs</p></div>
</td>
<td>
<div id="attachment_1059" class="wp-caption alignnone" style="width: 221px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-server-validation.pdf"><img class="size-medium wp-image-1059 " title="symfony server validation" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-server-validation-211x299.jpg" alt="symfony cheatsheet server validation" width="211" height="299" /></a><p class="wp-caption-text">symfony server validation</p></div>
</td>
</tr>
<tr>
<td>
<div id="attachment_1054" class="wp-caption alignnone" style="width: 242px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-lime.pdf"><img class="size-medium wp-image-1054" title="symfony lime" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-lime-232x300.jpg" alt="symfony lime" width="232" height="300" /></a><p class="wp-caption-text">symfony lime</p></div>
</td>
<td colspan='2'>
<div id="attachment_1058" class="wp-caption alignnone" style="width: 310px"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-orm.pdf"><img class="size-medium wp-image-1058" title="symfony orm" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-cheatsheet-orm-300x212.jpg" alt="symfony orm" width="300" height="212" /></a><p class="wp-caption-text">symfony orm</p></div>
</td>
</tr>
</table>
<ul class="related_post"><li><a href="http://www.foolbirds.com/cheat-sheets.html" title="Cheat Sheets!">Cheat Sheets!</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/php%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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/symfony-cheat-sheet.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cheat Sheets!</title>
		<link>http://www.foolbirds.com/cheat-sheets.html</link>
		<comments>http://www.foolbirds.com/cheat-sheets.html#comments</comments>
		<pubDate>Thu, 22 Oct 2009 08:59:25 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[Cheat Sheets]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=1005</guid>
		<description><![CDATA[bobhero就喜欢搞一些稀奇古怪的东西，800块的古董式键盘买了两个外加一个超级怪异的轨迹球鼠标，智能手机买了两个一个打电话一个玩日历，Arch Linux装了Awesome然后接了两个显示器。早在两年之前，我刚来公司的时候，就对他的这些卡片很感兴趣。

这个东西的英文名叫cheat sheet，找了很久也没有找到一个合适的中文名，不过我觉得叫备忘卡很合适。从以往的工作上来看，cheatsheet的确帮了不少忙，最关键是省了翻手册的时间，网上有很多的cheat sheet，打印下来，塑封，然后放在电脑旁，下面是来自Added Bytes的cheat sheets。



PHP  (V1)
PHP (V2)
Mysql







JavaScript 
CSS (V1)
CSS  (V2)







mod_rewrite  (V1)
mod_rewrite (V2)
HTML







正则表达式 (V1)
正则表达式 (V2)
ASP/VBScript







Python (V1)
Ruby on Rails
Subversion(SVN)








请访问 http://www.addedbytes.com/cheat-sheets/获取更多的CheatSheets.
注意：打印cheatsheet最好打印pdf版本的，图片格式的清晰度可能不是很好。忘了提醒大家了，塑封的时候可以把两张塑封到一起，比如PHP(V1)和PHP(V2)可以塑封个反正面。
下面这些是symfony官方提供的cheat sheets，貌似是1.0的，不过或多或少还有些用处。



Symfony Admin Generator
Symfony Directory Structure And CLI







请访问http://trac.symfony-project.org/wiki/CheatSheets来获取更多的symfony cheat sheets。下载链接我这里访问不了，不知道是删掉了还是被墙了，有新的发现我会再发出来。
http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/
symfony cheat sheet仿symfony机制实现不用require或者include来实例化类symfony1.4 DateTime对于PHP低版本的兼容问题PHP中静态调用非静态方法使用symfony filter 过滤URLvim配合phpcs实现自动语法检查如何在fixtures.yml写循环添加数据使用Bit.ly短网址服务API简化URL解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题symfony 1.4 数据库 utf8设置]]></description>
			<content:encoded><![CDATA[<p>bobhero就喜欢搞一些稀奇古怪的东西，800块的古董式键盘买了两个外加一个超级怪异的轨迹球鼠标，智能手机买了两个一个打电话一个玩日历，Arch Linux装了Awesome然后接了两个显示器。早在两年之前，我刚来公司的时候，就对他的这些卡片很感兴趣。</p>
<p style="text-align: center;"><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/cheatsheets.jpg"><img class="size-medium wp-image-1007 aligncenter" title="cheatsheets" src="http://www.foolbirds.com/wp-content/uploads/2009/10/cheatsheets-222x300.jpg" alt="cheatsheets" width="222" height="300" /></a></p>
<p>这个东西的英文名叫cheat sheet，找了很久也没有找到一个合适的中文名，不过我觉得叫备忘卡很合适。从以往的工作上来看，cheatsheet的确帮了不少忙，最关键是省了翻手册的时间，网上有很多的cheat sheet，打印下来，塑封，然后放在电脑旁，下面是来自<a href="http://www.addedbytes.com/cheat-sheets/">Added Bytes</a>的cheat sheets。</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet-version-1/">PHP  (V1)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/">PHP (V2)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/mysql-cheat-sheet/">Mysql</a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet-version-1/"><img class="alignnone size-medium wp-image-1006" title="php-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/php-cheat-sheet-v1-230x300.png" alt="php-cheat-sheet-v1" width="230" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/"><img class="alignnone size-medium wp-image-1008" title="php-cheat-sheet-v2" src="http://www.foolbirds.com/wp-content/uploads/2009/10/php-cheat-sheet-v2-220x300.png" alt="php-cheat-sheet-v2" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/mysql-cheat-sheet/"><img class="alignnone size-medium wp-image-1009" title="mysql-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/mysql-cheat-sheet-v1-230x300.png" alt="mysql-cheat-sheet-v1" width="230" height="300" /></a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/">JavaScript </a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet-version-1/">CSS (V1)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/">CSS  (V2)</a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/javascript-cheat-sheet/"><img class="alignnone size-medium wp-image-1010" title="javascript-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/javascript-cheat-sheet-v1-220x300.png" alt="javascript-cheat-sheet-v1" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet-version-1/"><img class="alignnone size-medium wp-image-1011" title="css-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/css-cheat-sheet-v1-220x300.png" alt="css-cheat-sheet-v1" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/css-cheat-sheet/"><img class="alignnone size-medium wp-image-1012" title="css-cheat-sheet-v2" src="http://www.foolbirds.com/wp-content/uploads/2009/10/css-cheat-sheet-v2-220x300.png" alt="css-cheat-sheet-v2" width="220" height="300" /></a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet-version-1/">mod_rewrite  (V1)</a></td>
<td><a href="http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/">mod_rewrite (V2)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/html-cheat-sheet/">HTML</a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet-version-1/"><img class="alignnone size-medium wp-image-1013" title="mod_rewrite-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/mod_rewrite-cheat-sheet-v1-221x300.png" alt="mod_rewrite-cheat-sheet-v1" width="221" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/apache/mod_rewrite-cheat-sheet/"><img class="alignnone size-medium wp-image-1014" title="mod_rewrite-cheat-sheet-v2" src="http://www.foolbirds.com/wp-content/uploads/2009/10/mod_rewrite-cheat-sheet-v2-220x300.png" alt="mod_rewrite-cheat-sheet-v2" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/html-cheat-sheet/"><img class="alignnone size-medium wp-image-1015" title="html-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/html-cheat-sheet-v1-220x300.png" alt="html-cheat-sheet-v1" width="220" height="300" /></a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet-version-1/">正则表达式 (V1)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/">正则表达式 (V2)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/">ASP/VBScript</a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet-version-1/"><img class="alignnone size-medium wp-image-1016" title="regular-expressions-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/regular-expressions-cheat-sheet-v1-220x300.png" alt="regular-expressions-cheat-sheet-v1" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/"></a><a href="http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/"><img class="alignnone size-medium wp-image-1017" title="regular-expressions-cheat-sheet-v2" src="http://www.foolbirds.com/wp-content/uploads/2009/10/regular-expressions-cheat-sheet-v2-220x300.png" alt="regular-expressions-cheat-sheet-v2" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/"></a><a href="http://www.addedbytes.com/cheat-sheets/asp-vbscript-cheat-sheet/"><img class="alignnone size-medium wp-image-1018" title="asp-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/asp-cheat-sheet-v1-230x300.png" alt="asp-cheat-sheet-v1" width="230" height="300" /></a></td>
</tr>
<tr>
<td><a href="python-cheat-sheet-v1">Python (V1)</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/ruby-on-rails-cheat-sheet/">Ruby on Rails</a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/subversion-cheat-sheet/">Subversion(SVN)</a></td>
</tr>
<tr>
<td><a href="http://www.addedbytes.com/cheat-sheets/python-cheat-sheet/"><img class="alignnone size-medium wp-image-1019" title="python-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/python-cheat-sheet-v1-220x300.png" alt="python-cheat-sheet-v1" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/ruby-on-rails-cheat-sheet/"><img class="alignnone size-medium wp-image-1020" title="ruby-on-rails-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/ruby-on-rails-cheat-sheet-v1-220x300.png" alt="ruby-on-rails-cheat-sheet-v1" width="220" height="300" /></a></td>
<td><a href="http://www.addedbytes.com/cheat-sheets/subversion-cheat-sheet/"><img class="alignnone size-medium wp-image-1021" title="subversion-cheat-sheet-v1" src="http://www.foolbirds.com/wp-content/uploads/2009/10/subversion-cheat-sheet-v1-220x300.png" alt="subversion-cheat-sheet-v1" width="220" height="300" /></a></td>
</tr>
</tbody>
</table>
<p>请访问 <a href="http://www.addedbytes.com/cheat-sheets/">http://www.addedbytes.com/cheat-sheets/</a>获取更多的CheatSheets.</p>
<p><span style="color: #ff0000;">注意：打印cheatsheet最好打印pdf版本的，图片格式的清晰度可能不是很好。忘了提醒大家了，塑封的时候可以把两张塑封到一起，比如PHP(V1)和PHP(V2)可以塑封个反正面。</span></p>
<p>下面这些是<a href="http://www.symfony-project.com">symfony</a>官方提供的cheat sheets，貌似是1.0的，不过或多或少还有些用处。</p>
<table border="0">
<tbody>
<tr>
<td><a href="http://www.symfony-project.com/uploads/assets/sfAdminGeneratorRefCard.pdf">Symfony Admin Generator</a></td>
<td><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-directory-structure-and-cli.jpg">Symfony Directory Structure And CLI</a></td>
</tr>
<tr>
<td><a href="http://www.symfony-project.com/uploads/assets/sfAdminGeneratorRefCard.pdf"><img class="alignnone size-medium wp-image-1025" title="symfony-admin-generator" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-admin-generator-300x216.jpg" alt="symfony-admin-generator" width="300" height="216" /></a></td>
<td><a href="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-directory-structure-and-cli.jpg"><img class="alignnone size-medium wp-image-1026" title="symfony-directory-structure-and-cli" src="http://www.foolbirds.com/wp-content/uploads/2009/10/symfony-directory-structure-and-cli-212x300.jpg" alt="symfony-directory-structure-and-cli" width="212" height="300" /></a></td>
</tr>
</tbody>
</table>
<p>请访问<a href="http://trac.symfony-project.org/wiki/CheatSheets">http://trac.symfony-project.org/wiki/CheatSheets</a>来获取更多的symfony cheat sheets。下载链接我这里访问不了，不知道是删掉了还是被墙了，有新的发现我会再发出来。</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 389px; width: 1px; height: 1px;">http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/</div>
<ul class="related_post"><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/%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/php%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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/cheat-sheets.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>archlinux 安装 LAMP环境</title>
		<link>http://www.foolbirds.com/archlinux-lam.html</link>
		<comments>http://www.foolbirds.com/archlinux-lam.html#comments</comments>
		<pubDate>Sun, 18 Jan 2009 05:25:14 +0000</pubDate>
		<dc:creator>bobhero</dc:creator>
				<category><![CDATA[Arch]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[无法登录]]></category>
		<category><![CDATA[空白]]></category>

		<guid isPermaLink="false">http://www.foolbirds.com/?p=280</guid>
		<description><![CDATA[archlinux下安装lamp　注意事项]]></description>
			<content:encoded><![CDATA[<p>archlinux 安装 LAMP环境</p>
<p>archlinux 据说是很牛的系统　　试了以后　的确很牛，牛到我累了好长时间也不能成功驾驭</p>
<p>不过工作重要　还是先说说ＬＡＭＰ环境如何来做吧。</p>
<p>archlinux 有一个传说中很牛的　类似　apt-get 的东西　　叫 pacman</p>
<p>用命令</p>
<p>pacman -S apache mysql php</p>
<p>就可以直接把 apache mysql php　基本安装完成　我不确定顺序是否有影响　但是我建议大家如果想事少一点还是按这个顺序来吧</p>
<p>不知道从什么时候开始　php有一个openbase_dir 的变量　这个变量标识哪些目录可以用来存放　php文件　即　document root　一定要在openbase_dir 里，否则不会执行</p>
<p>而且　archlinux 的默认的document  root 是　/srv/html　这个目录默认没有　而且当安装apache的安装后　我习惯的测了一下　，这个目录不存在，会让apache 启动失败，所以我改成了/var/www　结果　php　放在/var/www下时　，由于不在 openbase_dir里　所以不能执行　而且不报任何错误（由于php.ini的设置）所以就会出现　要么不解释　php文件　，解释的时候　什么也没有　就是一片空白　一点错误也不报。　最难受的是　　当ＧＯＯＧＬＥ　　archlinux lamp 的时候　一点也没有文章　提及这一现像，也没有解决方案　，让我弄了好长时间才发现解决办法　。</p>
<p>解决办法就是　在php.ini 里　修改openbase_dir 　或是　对应的不要修改　把文件直接放到/srv/html里</p>
<p>mysql 也是用得相当吃力　命令行下可以很好的进入　但是phpmyadmin就不可以　提示　连接被拒　也想过很多办法　　但是未果　。后来发现不知道什么时候，或是哪条设置让 phpmyadmin不能用root  　没有密码的情况下　连接　到mysql　没有办法　　只好强行新建一个用户　给出所有权限。还有一点　现在ＭＹＳＱＬ聪明了，在 skip-grant-tables时不可以对用户进行操作，这样是安全了很多，也让忘了密码的时候没有办法　进行找回</p>
<p>ＯＫ　只要注意以上两点基本上ＬＡＭＰ环境没有问题了</p>
<ul class="related_post"><li><a href="http://www.foolbirds.com/php%e4%b8%ad%e9%9d%99%e6%80%81%e8%b0%83%e7%94%a8%e9%9d%9e%e9%9d%99%e6%80%81%e6%96%b9%e6%b3%95.html" title="PHP中静态调用非静态方法">PHP中静态调用非静态方法</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/%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/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/archlinux-lam.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

