【PHP】声名使用一个辅助函数

例7-3---声名使用一个辅助函数

//在这个模板里使用一个特定的辅助函数
<?php echo use_helper('Text') ?>
...
<h1>描述</h1>
<p><?php echo auto_link_text($description) ?></p>

TIP 如果你要声明多个辅助函数组,给user_helper()函数传多个参数就可以了.
例如,要在一个模板里载入Text和Javascript辅助函数组,可以使用
<?php echo use_helper('Text','Javascript') ?>来声明.

有一些辅助函数在所有的模板里都可以使用,不需要事先声明.它们是以下的辅助函数组:

Helper: 用来载入辅助函数(use_helper() 函数本身就是一个辅助函数)
Tag: 基本的标签辅助函数,几乎所有的辅助函数都用到它
Url: 链接与URL管理辅助函数
Asset: 用来生成HTML<head>部分的内容,还包括简化使用外部资源(图片,Javascript,样式表)的函数
Partial:用来调用局部模板的辅助函数
Cache:管理代码片段的缓存
Form:表单辅助函数

这里列出的标准辅助函数,在每个模板中都会被自动载入,可以在setting.yml文件里面设置.所以如果你确定你不会用到Cache辅助函数组的辅助函数,或者你每次都需要用到Text组,你可以修改standard_helper这个设置.这会稍稍加快你的程序.但是你不能删除这个列表里的前四个辅助函数组(Helper,Tag,Url和Asset),因为模板引擎需要它们才能正常工作.所以在标准辅助函数设置(standard_helper)里找不到这四个辅助函数组.


TIP 如果你需要在模板之外使用辅助函数,你也可以通过sfLoader::loadHelper($helpers)来载入一个辅助函数组,$helers可以是辅助函数组的名字或几个辅助函数组的名字组成的数组.例如,如果你想在一个动作(action)里使用auto_link_text(),你需要首先执行sfLoader::loadHelper('Text').

symfony里还有很多其他的辅助函数,如果要讲完它们需要一整本书.辅助函数的最佳参考是在线API文档(http://www.symfony-project.com/api/symfony.html),所有的辅助函数都有详细的介绍,包括语法,参数,还有例子.


自己写辅助函数


symfony本身包含了大量的各类辅助函数,不过如果你在API文档里找不到你需要的辅助函数,你可能会想到自己写新的辅助函数,这很简单.


一组辅助函数(返回HTML代码的标准PHP函数)被存放在名叫FooBarHelper.php的文件里,FooBar是这个辅助函数组的名字.这个文件在app/myapp/lib/help/目录下(或者任意一个lib/目录下的helper/目录),这样做的目的是为了让use_helper('FooBar')辅助函数能自动载入这组辅助函数.


TIP 系统允许你覆盖symfony自己的辅助函数.例如,如果你想重新定义Text辅助函数的所有内容,只要在apps/myapp/lib/helper目录下建立TextHelper.php文件.当使用use_helper('Text')的时候symfony会使用你定义的辅助函数而不是系统默认的.但是请注意:由于原始文件没有载入,你需要重新定义这组辅助函数里所有的函数,否则某些系统的辅助函数就用不了了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CI辅助函数 PHP自动获取用户地理位置信息的函数 支持淘宝, 新浪等多个IP数据库 PHP 获取用户地理位置 CI 辅助函数 get userip, ip location helper for CI, Support ci2, ci3, and ci4 PHP获取用户真实IP地址, 地理位置的辅助函数. 支持查询 淘宝, 新浪, pconline IP数据库信息, 可以随意却换. 完全松耦合, 可用于CI,也可以用于其他任何的PHP系统中, 直接将 ip_helper.php 文件拷贝到你的系统中, 加载后即可使用 , 使用方法同CI如下 使用方法 将 ip_helper.php 下载后放到CI的 application 目录中的 helpers文件夹 , 如 application\helpers\ip_helper.php 设置CI按需自动加载本辅助函数, 打开 application\config\autoload.php 文件, 在 $autoload['helper'] 这个数组里面增加 ip_helper.php辅助函数的加载, 注意,只需要添加 _helper.php 前面的文件名即可, 如 ip ,即表示加载 ip_helper.php, 如果有多个辅助函数需要加载的话,直接真加一个数组值即可, 如: $autoload['helper'] = array('ip','myhelper1','myhelper2'); /* | ------------------------------------------------------------------- | Auto-load Helper Files | ------------------------------------------------------------------- | Prototype: | | $autoload['helper'] = array('url', 'file'); */ $autoload['helper'] = array('ip'); 调用方法 加载后再任意视图,控制器和模型里面可以直接使用, 调用方式如下 getIpLocation() 不传API服务商,将默认调用淘宝API 调用淘宝API查询IP地理位置 <?php echo getIpLocation('taobao'); ?> 调用新浪API查询IP地理位置 <?php echo getIpLocation('sina'); ?> 调用pconline API查询IP地理位置 <?php echo getIpLocation('pconline'); ?>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值