PHP使用Composer进行注册全局函数-php教程

资源魔 29 0
Composer 应用没有同的技巧以及规范简化了类的主动加载。现今最多见的主动加载规范是 PSR-4:

"autoload": {
    "psr-4": {
        "App\\": "src/"
    }
}

这将应用带有 “App” 称号空间前缀的 PSR-4 规范将 src 文件夹中的一切类主动加载。然而,咱们若何主动加载没有间接属于定名空间类的文件、全局协助顺序函数呢?那末,假如你正在 Composer 网站上阅读民间文档 , 你能够看到 “autoload” 模式支持多种规范以及技巧。

PSR-0 是旧的主动加载规范,已弃用,但仍支持。咱们应该防止应用它。

PSR-4 是古代主动加载规范,庖代了 PSR-0。它是定名空间类的次要主动加载规范。

classmap 是用于加载不称号空间或称号空间前缀的类的主动加载规范。

files 是加载文件的加载规范。

你可能曾经猜到了,files 是咱们需求正在没有界说类的状况下加载 PHP 文件的规范,该类仅蕴含 helper 办法。files 规范承受每一个文件的绝对门路数组。通常,当你要界说全局助手办法时,最佳应用 “functions.php” 或 “helpers.php” 称号创立一个 PHP 文件,并将一切助手函数放入此中。

"autoload": {
    "files": [
        "src/functions.php"
    ]
}

对于若何编写以及主动加载全局函数,有一些常见的做法。你需求记住,因为正在 Composer 加载这些函数时不定名空间,因而它们可能与现有性能抵触。Composer 主动加载机制始终反省给定的函数或类能否曾经存正在,假如存正在,Composer 会诱发异样,抛出 “cannot redeclare”。为了不这类状况,正在加载函数以前,咱们能够反省它能否可用。

functions.php

if (!function_exists('sayHello')) {
    function sayHello()
    {
        return 'Hello!';
    }
}

正在此示例中,咱们要求 Composer 反省称号为 sayHello 的全局函数能否已存正在,假如没有存正在则加载给定函数,不然将其疏忽并应用已可用的函数。

保举教程:《PHP教程》《Composer教程》

以上就是PHP应用Composer进行注册全局函数的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 Composer

抱歉,评论功能暂时关闭!