composer php插件开发,使用composer自动加载扩展TP代码(插件化、自定义类)

在PHP开发中有一个自动加载的代码库是用Composer管理。只要本地安装一个Composer就可以轻松的管理项目,为其添加各种开源的优秀代码库。今天要在这里介绍一下,使用composer的自动加载扩展TP代码。

1、Composer的简介

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer不是一个包管理器,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

2、例子:(使用thinkphp-3.2.5框架)

本次实例是用thinkphp-3.2.5版本,另外Thinkphp5.0和Thinkphp5.1版本的项目有用Composer进行包管理使用起来会比TP3.2方便。

(1)在项目的根目录下,创建Addons目录;在Addons目录创建Article目录;在Article目录下创建Site.php文件,写入如下代码:<?phpnamespaceAddons \Article;//使用当前的目录结构作为命名空间classSite{publicfunctionshow(){echo__METHOD__;//显示当前方法的调用路径}

}?>

(2)在前台首页控制器中,写入如下代码:<?phpnamespaceHome \Controller;useThink\Controller;classIndexControllerextendsController{publicfunctionindex(){

(new\Addons\Article\Site())->show();

}

}

(3)在项目根目录下创建composer.json文件或者修改原有的文件,代码如下:{

"name": "topthink/thinkphp",

"description": "the ThinkPHP Framework",

"type": "framework",

"keywords": ["framework","thinkphp","ORM"],

"homepage": "http://thinkphp.cn/",

"license": "Apache-2.0",

"authors": [

{

"name": "liu21st",

"email": "liu21st@gmail.com"

}

],

"require": {

"php": ">=5.3.0"

},

"autoload": {

"psr-4": {

"Addons\\":"Addons"

}

},

"minimum-stability": "dev"

}

(4)在项目的入口文件index.php中添加,如下代码:require 'vendor/autoload.php';

(5)最后用命令行进入项目的根目录,执行如下代码(在composer中添加自动加载的模块):composer dumpautoload

composer_1.png

运行结果如下:

composer_2.png

3、附加知识

在使用Composer安装PHP的扩展包(扩展类库)时,有两种安装方法:

一是、在项目根目录下创建Composer配置文件“composer.json”,然后用命令行进入根目录执行如下代码即可扩展。composer install

一是、直接指定要安装扩展包,如扩展“zhoujun165/think-addons”包,执行命令如下。composer require zhoujun165/think-addons

Composer常用命令:

(1)composer install:安装扩展包,前提条件是项目已经有“composer.json”配置文件;

(2)composer create-project 项目名称 文件名(安装到指定目录),例如,安装topthink/think项目到tp目录下:composer create-project topthink/think tp

(3)composer update 项目名称,更新指定包,例如,更新topthink/framework包:composer update topthink/framework

(4)composer dumpautoload:更新自动加载文件配置,可用于增加自动加载的扩展包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值