Yii2中添加全局函数的方法分析

本文实例讲述了Yii2中添加全局函数的方法。分享给大家供大家参考,具体如下:

方法一

这种方法就是直接在入口文件web/index.php里面写函数,示例代码如下:

// something code ……
// 全局函数
function pr($var)
{
  $template = php_sapi_name() !== 'cli' ? '<pre>%s</pre>' : "\n%s\n";
  printf($template, print_r($var, true));
  exit;
}
(new yii\web\Application($config))->run();

这个方法虽然可以实现,但是本人不推荐,因为改了框架本身的代码,而且如果全局函数多了的话,也不好管理。

方法二(推荐)

这种方法主要是利用 composer 来实现,在 composer.json 文件里面添加如下代码:

"autoload": {
  "files": [
   "common/components/GlobalFunctions.php"
  ]
},

添加完之后记得用终端在项目根目录下执行 composer update 命令

然后我们的全局函数都可以写在 GlobalFunctions.php 文件里面,这个方法实现的话 IED 是会用代码提示的。

GetYii 有用到第二种方法,具体可以查看源码。

我更喜欢在已有命名空间对应的目录结构下加 helpers

有时候调用 helpers 显得方法太长了。

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Yii2设置默认控制器的两种方法

    本文主要给大家介绍了关于Yii2默认控制器设置的内容,分享了两种方法供大家参考学习,下面来一起看看详细的介绍: 方法1: 首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的28行 class Application extends \yii\base\Application { /** * @var string the default route of this application. Defaults to 'site'. */ public

  • Yii2框架中日志的使用方法分析

    本文实例讲述了Yii2框架中日志的使用方法.分享给大家供大家参考,具体如下: Yii2和Yii1.x的区别 Yii2里面日志的使用方法和Yii 1.x并不相同, 在Yii 1.x中,记录日志的方法为 Yii::log($message, $level, $category); Yii::trace($message, $category); 后者仅在调试模式下记录日志. 这里的log方法是YiiBase的静态方法. 在Yii2中,面向对象的设计贯彻得更加彻底,日志记录功能被转移到Logger类中

  • Yii2实现自定义独立验证器的方法

    本文实例讲述了Yii2实现自定义独立验证器的方法.分享给大家供大家参考,具体如下: 新建一个文件: <?php /** * author : forecho <caizhenghai@gmail.com> * createTime : 2015/7/1 14:54 * description: */ namespace common\helps; use yii\validators\Validator; class ArrayValidator extends Validator {

  • Yii2数据库操作常用方法小结

    本文实例讲述了Yii2数据库操作常用方法.分享给大家供大家参考,具体如下: 查询: // find the customers whose primary key value is 10 $customers = Customer::findAll(10); $customer = Customer::findOne(10); // the above code is equivalent to: $customers = Customer::find()->where(['id' => 10

  • 详解PHP的Yii框架中日志的相关配置及使用

    默认的日志是输出到protected/runtime/application.log 如果需要修改那么需要在main.php里面的 components 下面增加log配置,如下: 'preload' => array('log'),//这句也必须加上 'components' => array( 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( //这是一个文件route表示category为test开头的所有类型的

  • YII Framework框架教程之日志用法详解

    本文实例讲述了YII Framework框架日志用法.分享给大家供大家参考,具体如下: 日志的作用(此处省略1000字) YII中的日志很好很强大,允许你把日志信息存放到数据库,发送到制定email,存放咋文件中,意见显示页面是,甚至可以用来做性能分析. YII中日志的基本配置:/yii_dev/testwebap/protected/config/main.php 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array(

  • PHP的Yii框架的常用日志操作总结

    日志 Yii提供了一个高度自定义化和高扩展性的日志框架.根据使用场景的不同,你可以很容易的对各种消息就行记录.过滤.合并,比如说文本文件,数据库文件,邮件. 使用Yii的日志框架包含如下步骤: 调用日志记录的方法 在主应用的配置文件(例如basic下面的web.php)中配置好日志的过滤和导出的设置 检查不同场景下经过过滤之后的日志信息 记录日志 记录日志其实就是简简单单的调用如下的方法: [[Yii::trace()]]: 记录关于某段代码运行的相关消息.主要是用于开发环境. [[Yii::i

  • 全面解读PHP的Yii框架中的日志功能

    Yii页面级日志开启 在 Main.php中 log段添加. 下面显示页面日志 array( 'class'=>'CWebLogRoute', 'levels'=>'trace', //级别为trace 'categories'=>'system.db.*' //只显示关于数据库信息,包括数据库连接,数据库执行语句 ), 完整如下: 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=

  • Yii2配置Nginx伪静态的方法

    本文实例讲述了Yii2配置Nginx伪静态的方法.分享给大家供大家参考,具体如下: 主要检查以下代码: location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php?$args; } 完整代码: server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4

  • yii2 resetful 授权验证详解

    什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作. 既然写过了,那今天是要说点什么吗? 这篇文章主要针对实际场景中api的部署来写. 我们今天就来大大的侃侃那些年api遇到的授权验证问题!独家干活,如果看完有所受益,记得不要忘记给我点赞哦. 业务分析 我们先来了解一下整个逻辑 1.用户在客户端填写登录表单 2.用户提交表单,客户端请求登录接口login 3.服务端校验用户的帐号密码,并返回一个有效的token给客户端 4.客户端拿到用户的token,将之存储在

  • yii2项目实战之restful api授权验证详解

    前言 什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作. 既然写过了,那今天是要说点什么吗? 这篇文章主要针对实际场景中api的部署来写. 我们今天就来大大的侃侃那些年api遇到的授权验证问题!独家干活,如果看完有所受益,记得不要忘记给我点赞哦. 业务分析 我们先来了解一下整个逻辑 用户在客户端填写登录表单 用户提交表单,客户端请求登录接口login 服务端校验用户的帐号密码,并返回一个有效的token给客户端 客户端拿到用户的token,将之存储在客户端比如

随机推荐