如何在PHP原生项目(非框架)中从零开始使用Composer?
发布时间 - 2026-01-02 00:00:00 点击率:次PHP原生项目使用Composer需三步:安装Composer(Windows用Setup.exe,macOS/Linux用curl命令)、初始化项目生成composer.json、通过composer require引入依赖并自动加载;还可配置files字段手动加载非PSR-4文件。
在PHP原生项目中从零开始使用Composer,核心是三步:安装Composer、初始化项目、声明并加载依赖。不需要框架,纯PHP也能高效管理类库和自动加载。
安装Composer(本地或全局)
Composer不是PHP内置工具,需单独安装:
- Windows用户推荐下载Composer-Setup.exe,一键安装(会自动配置系统PATH)
-
macOS/Linux可运行命令:
curl -sS https://getcomposer.org/installer | php,再把生成的composer.phar移到/usr/local/bin/composer使其全局可用 - 验证是否成功:终端执行
composer --version,看到版本号即表示就绪
初始化项目并生成composer.json
进入你的PHP项目根目录(比如/my-project),运行:
composer init
它会交互式引导你填写包名、描述、作者、依赖等。若想跳过提问,直接生成最小配置,可运行:
composer init --name="my-project" --description="A simple PHP project" --type="project" --require="php:>=7.4"
完成后,项目根目录会出现composer.——这是整个依赖管理的配置中心。
json
引入和使用第三方库(如monolog)
以日志库monolog/monolog为例,执行:
composer require monolog/monolog
Composer会做三件事:
- 下载
monolog及其依赖到vendor/目录 - 更新
composer.json中的require字段 - 生成或更新
vendor/autoload.php自动加载文件
之后在任意PHP脚本中,只需开头引入一次自动加载器:
require_once 'vendor/autoload.php';
接着就能直接使用类了,例如:
$logger = new Monolog\Logger('name');
$logger->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$logger->warning('Something went wrong!');
手动加载自己的PHP文件(非PSR-4)
Composer默认支持PSR-4自动加载,但原生项目常有扁平结构(如functions.php、config.php)。这时可在composer.json中用files字段声明:
"autoload": {
"files": ["functions.php", "config.php"]
}
然后运行composer dump-autoload重新生成映射。之后这些文件会在require_once 'vendor/autoload.php'时自动载入,无需手动include。
# php
# linux
# js
# json
# composer
# windows
# app
# 工具
# mac
# curl
# macos
# win
# include
# require
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
在线教育网站制作平台,山西立德教育官网?
Laravel如何使用Livewire构建动态组件?(入门代码)
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何彻底卸载建站之星软件?
网站制作免费,什么网站能看正片电影?
Swift中switch语句区间和元组模式匹配
晋江文学城电脑版官网 晋江文学城网页版直接进入
深圳网站制作平台,深圳市做网站好的公司有哪些?
中山网站推广排名,中山信息港登录入口?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何在云主机上快速搭建多站点网站?
EditPlus中的正则表达式 实战(2)
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
如何在腾讯云服务器上快速搭建个人网站?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Python结构化数据采集_字段抽取解析【教程】
如何为不同团队 ID 动态生成多个非值班状态按钮
PythonWeb开发入门教程_Flask快速构建Web应用
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
LinuxCD持续部署教程_自动发布与回滚机制
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
原生JS实现图片轮播切换效果
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何在建站主机中优化服务器配置?
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
深圳网站制作培训,深圳哪些招聘网站比较好?
如何为不同团队 ID 动态生成多个“认领值班”按钮
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何正确选择百度移动适配建站域名?

