Composer 是 PHP 的包管理工具,类似于 Python 的 Pip,Nodejs 的 npm,有了 Composer,我们在PHP项目中使用某个 PHP 类库的时候就方便多了。WordPress 是基于 PHP 开发的,所以理所当然可以使用 Composer 来管理WordPress主题或插件使用的 PHP 类库。
支持 Composer 的 PHP 类库可以在 Packagist.org 上面看到,这是 Composer 的官方仓库。使用某个 PHP 类库之前,现在 Packagist 上面搜索一下,如果 Packagist 上面有,我们就可以使用Composer 安装管理这个类库。
下面我将为大家详细介绍怎么在WordPress主题或插件中使用 Composer 管理 PHP 第三方类库,在下面的介绍中,我们将使用 mailgun-php 这个类库来为大家做演示。
1. 首先,我们需要安装 Composer
使用官方提供的命令安装即可,如果是 Windows 系统,可以下载官方提供的 Composer-Setup.exe 安装包安装。
wpzhiku@ubutnu:~$ curl -sS https://getcomposer.org/installer | php
wpzhiku@ubutnu:~$ sudo mv composer.phar /usr/local/bin/composer
2. 然后添加 Mailgun 为依赖
直接使用 Composer 的 require 命令即可添加我们需要的类库,这个命令帮我们完成了下载类库文件,然后生成自动加载文件。
wpzhiku@ubutnu:~$ cd /path/to/plugin/
wpzhiku@ubutnu:~/path/to/plugin$ composer require mailgun/mailgun-php:~1.7.2
3. 检查 composer.json 文件,看是否添加成功
完成第二步后,我们的 composer.json 配置文件看起来应该是这样的。
{
"name": "plugin-name/plugin",
"description": "Your plugin description",
"keywords": ["wordpress", "plugin", "private"],
"homepage": "https://longrendev.io/",
"license": "proprietary",
"authors": [
{
"name": "wpzhiku",
"email": "wpzhiku@qq.com",
"homepage": "https://www.wpzhiku.com/"
}
],
"type": "wordpress-plugin",
"require": {
"php": ">=5.3.2",
"composer/installers": "v1.0.6",
"mailgun/mailgun-php": "~1.7.2",
"guzzlehttp/guzzle": "~5.2"
}
}
4. 通过 Composer 安装 Mailgun
如果我们手动把需要的类库添加到了我们的 composer.json 文件中,需要运行以下命令安装依赖。
wpzhiku@ubutnu:~/path/to/plugin$ composer install
5. 在插件中自动加载 Mailgun 类
PHP 从5.3版本开始支持了名称空间,如果你的 PHP 版本是 5.3 以上的,我们可以这样加载 Mailgun 类,在插件文件的开头写入以下代码。
require 'vendor/autoload.php';
use MailgunMailgun;
当然,我们也可以在WordPress主题的 functions.php 中加入上面的代码,把我们安装的类库引入到我们的主题中。
完成了这一步,我们就可以在插件或者主题中使用 Mailgun 的功能了,怎么样,是不是很方便?
4 thoughts on “在WordPress主题或插件中使用 PHP Composer 引入第三方库”
来看看这个
使用composer来管理wordpress
http://levi.cg.am/archives/4771
感谢分享,已订阅你的博客。
您好,您的指令安裝實在看不懂,想請問如果是在一般虛擬主機中,該怎麼引入安裝呢?
在本地安装后直接上传就可以了,不需要在虚拟主机里面安装。只要虚拟主机的 PHP 版本能够满足要求就可以了。