`
dcj3sjt126com
  • 浏览: 1868181 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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 有用到第二种方法,具体可以查看源码。

分享到:
评论

相关推荐

    YII2框架自定义全局函数的实现方法小结

    在YII2框架中实现自定义全局函数主要有几种方法,下面将详细介绍每种方法的实现步骤和注意事项。 方法一:在入口文件直接定义全局函数 这种方法比较直接,无需新建文件,直接在入口文件中定义需要的函数。首先定义...

    Yii框架学习笔记

    在Yii中,静态资源如CSS、图片和JS通常放在统一的目录下,通过常量引用,便于管理和调用。例如,创建`UserController`和`actionLogin`方法,配合视图文件`views/user/login.php`,可以实现用户登录功能。路由系统...

    Yii_PHP_框架分析

    Yii 使用 PHP5 的 SPL(Standard PHP Library)中的 `spl_autoload_register()` 函数来实现类的自动加载。在 `YiiBase.php` 文件中,`YiiBase::autoload()` 静态方法被注册为自动加载处理器。当尝试实例化一个类或...

    Yii_Cookbook

    - **实现方式**:在视图文件中添加登录表单代码,并确保该视图文件被所有页面共享。 ##### 2. 使用CClipWidget高级CTabView - **知识点**:了解如何使用`CClipWidget`来增强`CTabView`的功能,如动态加载内容等。...

    Yii入门教程之目录结构、入口文件及路由设置

    在这个文件中,我们通常会看到Yii::createWebApplication()函数的调用,这个函数创建了一个Web应用程序实例,并加载了配置文件,使得全局的Yii对象可以通过Yii::app()访问。配置文件中的数据会被绑定到这个全局对象...

    yii框架创建与设置默认控制器并载入模板操作示例

    有两种方法在Yii中添加自定义函数: 1. 在`protected`目录下创建`functions.php`文件,然后在`index.php`加载应用之前引入这个文件。 2. 创建一个工具静态类,如`Tools`,放置在`protected/components`下,然后在...

    (全)传智播客PHP就业班视频完整课程

    对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-...

    史上最全传智播客PHP就业班视频课,8月份视频

    对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    对象在内存中存在形式 函数传递对象方式 8-26 3.函数传递基本数据类型和数组方式 成员方法① 8-26 4.成员方法② 8-26 5.作业评讲 8-27 mysql1 8-27 mysql2 8-28 1.mysql 8-28 2.mysql 8-28 3.mysql 8-28 4.mysql 8-...

    面试题php

    - 变量作用域:理解局部、全局、静态和超全局变量的概念。 - 函数与流程控制:掌握函数定义、调用,以及if、switch、for、while等控制结构。 - 错误与异常处理:理解错误和异常的区别,熟悉try-catch机制。 2. ...

    考试类精品--年php面试常见考点和答案.zip

    2. **函数与面向对象** - 自定义函数:理解函数的定义、参数传递(按值或引用)及返回值。 - 面向对象编程:类的定义、属性和方法,构造函数,析构函数,封装,继承,多态等概念。 - __get()和__set()魔术方法:...

    php学习笔记

    - 全局变量:在整个脚本中有效,但不能在函数内部直接访问,需使用global关键字引入。 - 静态变量:在函数内部保留其值,即使函数执行完毕仍能保持。 三、流程控制 1. 条件控制:if...else、switch...case语句用于...

    php面试题题库

    - 变量:理解变量的声明、作用域(全局、局部、静态)以及变量生命周期。 - 运算符:包括算术、比较、逻辑、位运算符的用法。 - 控制结构:if-else、switch-case、for、while、do-while循环以及break和continue...

    PHP进行Web编程

    2. 变量作用域:PHP有四种变量作用域:local(局部)、global(全局)、static(静态)和superglobal(超全局)。超全局变量如$_GET、$_POST用于处理HTTP请求数据。 3. 控制结构:PHP提供了if/else、switch、for、...

    php面试题(普通PHP程序员笔试题,普通PHP程序员面试题)

    - 变量作用域:理解局部变量、全局变量和静态变量的区别及其在代码中的应用。 - PHP运算符:掌握算术、比较、逻辑、赋值、位等运算符的用法。 - 控制结构:if/else、switch、for、while、do/while循环的理解和...

    php面试题库

    - 构造函数与析构函数:对象生命周期中的关键函数。 - 接口与抽象类:理解接口(Interface)和抽象类(Abstract Class)的作用。 - 范围解析运算符(::):静态方法调用和常量访问。 - SPL库:标准PHP库,如迭代...

    PHP程序设计思维导图.rar

    - **全局变量**:在函数外部声明的变量,可以被所有函数访问,但在函数内部需要使用global关键字来引用。 - **静态变量**:在函数内部声明的静态变量,其值在每次函数调用时保持不变。 3. **错误与异常处理** - ...

Global site tag (gtag.js) - Google Analytics