<?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; helper</title>
	<atom:link href="http://www.foolbirds.com/t/helper/feed" rel="self" type="application/rss+xml" />
	<link>http://www.foolbirds.com</link>
	<description>all about symfony</description>
	<lastBuildDate>Tue, 17 Aug 2010 01:22:43 +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>使用helper加快视图开发</title>
		<link>http://www.foolbirds.com/use-helpers.html</link>
		<comments>http://www.foolbirds.com/use-helpers.html#comments</comments>
		<pubDate>Mon, 22 Dec 2008 08:21:31 +0000</pubDate>
		<dc:creator>maker</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[helper]]></category>

		<guid isPermaLink="false">http://symfony.bobhero.net/?p=191</guid>
		<description><![CDATA[在视图中， 我们可以使用Helpers来加快开发进度。
我们看一个简单的例子：
&#60;?php echo input_tag('title);?&#62;
上面的代码会生成下面的html代码
&#60;input id="title" name="title" type="text" /&#62;
在视图中，一些Helpers不会被自动载入， 需要使用use_helper()进行声明， 我们可以这样用：
use_helper('Text');
use_helper('JavaScript');
或者象下面这样可以达到和上面一样的效果：
use_helper('Text', 'JavaScript');
在symfony中，Helpers按照用途分组， 比如Text, Tag, Url等Helpers内都包含相关的辅助函数。Helpers被存放在源码的/lib/helper/目录下。
目前symfony1.2支持的Helper有：

Asset 用来声称html 的 head 中的内容
Tag 标签辅助函数，用来生成html标签
Url 链接和url相关函数
Helper 用来载入Helper（use_helper()本身就是一个helper）
Partial 用来调用局部模板的Helper
Cache 缓存Helper
Form 表单相关的Helper
I18N 多语言相关
Number
Date
DateForm
Escaping
Object
ObjectAdmin
Text
Validaton

在视图中Helper, Tag, Url, Asset是不用被声明的， 视图必须使用这些基本函数才能正常工作，在默认设置中Partial，Cache，Form也是不需要声明的，该设置取决于apps/app/config/settings.yml中的standard_helpers选项。默认的standard_helpers选项如下：
standard_helpers: [Partial, Cache, Form]
我们可以在该选项中加入更多的自动加载的Helper， 或者如果你觉得你不会用到模板缓存，你可以将Cache从该选项中去掉， 这有助于加快程序运行速度。
在模板之外使用Helper
有些时候，我们不只要在视图中使用Helpers，比如我们要在action中生成一个内部链接，我们可以用下面的方法：
//symfony 1.0 &#38; symfony 1.1
sfLoader::loadHelpers('Url');
$url = url_for('shop/search');
//symfony1.2
$this-&#62;getContext()-&#62;getConfiguration()-&#62;loadHelpers('Url');
$url = url_for('shop/search');
随机日志在symfony项目中应用TinyMCE插件使用一例:在form中加入拾色器symfony插件编写一例:QRcodePlugin如何在WINDOWS下设置SYMFONY1.2awesome 的 多头显示symfony 环境检查symfony缓存(cache)机制简介局部模板和全局模板PHP解压tar,gzip,bzip脚本symfony目录结构及部署办法说明]]></description>
			<content:encoded><![CDATA[<p>在视图中， 我们可以使用Helpers来加快开发进度。</p>
<p>我们看一个简单的例子：</p>
<pre name="code" class="php">&lt;?php echo input_tag('title);?&gt;</pre>
<p>上面的代码会生成下面的html代码</p>
<pre name="code" class="html">&lt;input id="title" name="title" type="text" /&gt;</pre>
<p>在视图中，一些Helpers不会被自动载入， 需要使用use_helper()进行声明， 我们可以这样用：</p>
<pre name="code" class="html">use_helper('Text');
use_helper('JavaScript');</pre>
<p>或者象下面这样可以达到和上面一样的效果：</p>
<pre name="code" class="html">use_helper('Text', 'JavaScript');</pre>
<p>在symfony中，Helpers按照用途分组， 比如Text, Tag, Url等Helpers内都包含相关的辅助函数。Helpers被存放在源码的/lib/helper/目录下。</p>
<p>目前symfony1.2支持的Helper有：</p>
<ul>
<li><a title="查看Asset的官方api" href="http://www.symfony-project.org/api/1_2/AssetHelper" target="_blank">Asset</a> 用来声称html 的 head 中的内容</li>
<li><a title="查看Tag的官方api" href="http://www.symfony-project.org/api/1_2/TagHelper" target="_blank">Tag</a> 标签辅助函数，用来生成html标签</li>
<li><a title="查看Url的官方api" href="http://www.symfony-project.org/api/1_2/UrlHelper" target="_blank">Url</a> 链接和url相关函数</li>
<li><a title="查看Helper的官方api" href="http://www.symfony-project.org/api/1_2/HelperHelper" target="_blank">Helper</a> 用来载入Helper（use_helper()本身就是一个helper）</li>
<li><a title="查看Partial的官方api" href="http://www.symfony-project.org/api/1_2/PartialHelper" target="_blank">Partial</a> 用来调用局部模板的Helper</li>
<li><a title="查看Cache的官方api" href="http://www.symfony-project.org/api/1_2/CacheHelper" target="_blank">Cache</a> 缓存Helper</li>
<li><a title="查看Form的官方api" href="http://www.symfony-project.org/api/1_2/FormHelper" target="_blank">Form</a> 表单相关的Helper</li>
<li><a title="查看I18N的官方api" href="http://www.symfony-project.org/api/1_2/I18NHelper" target="_blank">I18N</a> 多语言相关</li>
<li><a title="查看Number的官方api" href="http://www.symfony-project.org/api/1_2/NumberHelper" target="_blank">Number</a></li>
<li><a title="查看Date的官方api" href="http://www.symfony-project.org/api/1_2/DateHelper" target="_blank">Date</a></li>
<li><a title="查看DateForm的官方api" href="http://www.symfony-project.org/api/1_2/DateFormHelper" target="_blank">DateForm</a></li>
<li><a title="查看Escaping的官方api" href="http://www.symfony-project.org/api/1_2/EscapingHelper" target="_blank">Escaping</a></li>
<li><a title="查看Object的官方api" href="http://www.symfony-project.org/api/1_2/ObjectHelper" target="_blank">Object</a></li>
<li><a title="查看ObjectAdmin的官方api" href="http://www.symfony-project.org/api/1_2/ObjectAdmin" target="_blank">ObjectAdmin</a></li>
<li><a title="查看Text的官方api" href="http://www.symfony-project.org/api/1_2/TextHelper" target="_blank">Text</a></li>
<li><a title="查看Validaton的官方api" href="http://www.symfony-project.org/api/1_2/ValidatonHelper" target="_blank">Validaton</a></li>
</ul>
<p>在视图中Helper, Tag, Url, Asset是不用被声明的， 视图必须使用这些基本函数才能正常工作，在默认设置中Partial，Cache，Form也是不需要声明的，该设置取决于apps/app/config/settings.yml中的standard_helpers选项。默认的standard_helpers选项如下：</p>
<pre name="code" class="php">standard_helpers: [Partial, Cache, Form]</pre>
<p>我们可以在该选项中加入更多的自动加载的Helper， 或者如果你觉得你不会用到模板缓存，你可以将Cache从该选项中去掉， 这有助于加快程序运行速度。</p>
<p><strong>在模板之外使用Helper</strong></p>
<p>有些时候，我们不只要在视图中使用Helpers，比如我们要在action中生成一个内部链接，我们可以用下面的方法：</p>
<pre name="code" class="php">//symfony 1.0 &amp; symfony 1.1
sfLoader::loadHelpers('Url');
$url = url_for('shop/search');</pre>
<pre name="code" class="php">//symfony1.2
$this-&gt;getContext()-&gt;getConfiguration()-&gt;loadHelpers('Url');
$url = url_for('shop/search');</pre>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://www.foolbirds.com/to-be-a-symfony-contributor.html" title="成为一名symfony文档贡献者.">成为一名symfony文档贡献者.</a></li><li><a href="http://www.foolbirds.com/comment-example.html" title="注释例子">注释例子</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/publish-a-symfony-plugin.html" title="发布你的symfony插件">发布你的symfony插件</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/use-form.html" title="form使用一例">form使用一例</a></li><li><a href="http://www.foolbirds.com/symfony-references-with-propel.html" title="symfony数据表关联详解(for propel)">symfony数据表关联详解(for propel)</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/%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" title="今天处理了一个莫名其妙的配置问题">今天处理了一个莫名其妙的配置问题</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></ul>]]></content:encoded>
			<wfw:commentRss>http://www.foolbirds.com/use-helpers.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
