Rumah alat pembangunan composer 怎么手写composer包并上传发布

怎么手写composer包并上传发布

Jul 19, 2021 pm 02:32 PM
composer

一、关于composer

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。有了它我们就可以轻松的使用一个命令将其他优秀代码引用到我们的项目中来。

二、依赖包管理工具

java有maven,前端有npm,安卓有Gradle,作为世界上最好的语言也就有了composer

三、composer的优势

  • 你有一个项目依赖于若干个库。
  • 其中一些库依赖于其他库。
  • 你声明你所依赖的东西。
  • Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

四、composer常用命令

  • composer require安装一个软件包
    在这里插入图片描述
  • composer update会检测新版本包需要的环境和依赖自动实现工具包的升级
    在这里插入图片描述
  • composer install如果没有composer.json文件,会安装composer.json中的依赖
    在这里插入图片描述
  • composer init会初始化一个composer.json配置文件
    在这里插入图片描述

    五、composer的安装

    参照菜鸟教程

六、手写一个composer包

在站点下新建一个目录,名为blog

1、目录下执行:composer init

在这里插入图片描述
执行完后,让我们输入一个包名,我就叫guangtouqiang/blog把。

包名name

  • 包的名称,它包括供应商名称和项目名称,使用 / 分隔。
  • 对于需要发布的包(库),这是必须填写的。
  • 例如,phpmailer/phpmailer

2、执行guangtouqiang/blog

在这里插入图片描述
接下来让输入描述。

描述description

  • 一个包的简短描述。通常这个最长只有一行。
  • 对于需要发布的包(库),这是必须填写的。

3、输入描述this is guangtouqiang test bag

在这里插入图片描述
4、输入作者名称(可选)

在这里插入图片描述

作者authors

  • 这个对象必须包含以下的所有属性。
  • name: 作者的姓名,通常使用真名。
  • email: 作者的 email 地址。
  • homepage: 作者主页的 URL 地址。
  • role: 该作者在此项目中担任的角色(例:开发人员 或 翻译)。

5、输入最低稳定版本

可用的稳定性标识:dev、alpha、beta、RC、stable。,一般选择dev

6、输入包类型

包类型type

  • 包的安装类型,默认为library。
  • library: 这是默认类型,它会简单的将文件复制到 vendor 目录。
  • project: 这表示当前包是一个项目,而不是一个库。例:框架应用程序 Symfony standard edition,内容管理系统 SilverStripe installer 或者完全成熟的分布式应用程序。使用 IDE 创建一个新的工作区时,这可以为其提供项目列表的初始化。
  • metapackage: 当一个空的包,包含依赖并且需要触发依赖的安装,这将不会对系统写入额外的文件。因此这种安装类型并不需要一个 dist 或 source。
  • composer-plugin: 一个安装类型为 composer-plugin 的包,它有一个自定义安装类型,可以为其它包提供一个 installler。详细请查看 自定义安装类型。

默认为 library

我们选择1,library即可!

在这里插入图片描述
7、需要输入开源协议

选择输入GPL,LGPL,BSD,MIT,Apache这些开源协议即可:
在这里插入图片描述
8、是否依赖于其它包,是否依赖于其它环境,这边都yes即可。

Search for a package:选择搜索php。

在这里插入图片描述
9、生成成功。
在这里插入图片描述
此时,目录下已经有个composer这些配置:
在这里插入图片描述

七、composer目录的修改

看下刚刚生成的composer.json

{
    "name": "guangtouqiang/blog",
    "description": "this is guangtouqiang test bag",
    "type": "1",
    "require": {
        "php": "^7.0"
    },
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "guangtouqiang",
            "email": "xiaozhengguo521@gmail.com"
        }
    ],
    "minimum-stability": "dev"}
Salin selepas log masuk

再次基础上增加:

{
    "name": "guangtouqiang/blog",
    "description": "this is guangtouqiang test bag",
    "type": "1",
    "require": {
        "php": "^7.0"
    },
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "guangtouqiang",
            "email": "xiaozhengguo521@gmail.com"
        }
    ],
    "minimum-stability": "dev",
    "autoload": {
        "psr-4": {
            "guangtouqiang\\": "src/guangtouqiang"
        }
    }}
Salin selepas log masuk

命令行执行:composer dump-autoload,更新composer的命名空间与文件夹映射关系。

在这里插入图片描述
同样,需要新建一个srcguangtouqiang的文件夹:
在这里插入图片描述
在根目录新建个index.php测试一波:
在这里插入图片描述
输出:
在这里插入图片描述

注意命名空间的层级与文件夹层级是否相同,类名与文件名相同才能自动加载。

八、将写好的composer包上传

1、在github上新建个仓库
在这里插入图片描述
2、将本地的composer包上传到新仓库

  • git init
  • git add .
  • git commit -m "xxx"
  • git remote add origin 你的远程仓库地址
  • git push -u origin master

在这里插入图片描述
3、登录https://packagist.org/packages/submit
在这里插入图片描述
4、将你github上的仓库地址复制进去:

在这里插入图片描述
5、配置webhook:
在这里插入图片描述
在这里插入图片描述

6、复制上图地址到github。

添加webhook
在这里插入图片描述
在这里插入图片描述

这时候,github仓库与packagist已经建立了关联。但是还需要进行发布正式版本才能使用。

7、打版本标签

git tag -a v1.0.1 -m "第一版"
git push origin v1.0.1

此时,已经标签成功了,从packagist能看到我们所有的版本。

在这里插入图片描述

执行composer require xx/xxx就能供别人使用啦。

九、总结

在这里插入图片描述
关于composer.json详细描述请参照:composer.json详细使用

更多composer相关技术文章,请访问composer教程栏目!

Atas ialah kandungan terperinci 怎么手写composer包并上传发布. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ciri lanjutan komposer: alias, skrip dan penyelesaian konflik Ciri lanjutan komposer: alias, skrip dan penyelesaian konflik Jun 03, 2024 pm 12:37 PM

Komposer menyediakan ciri lanjutan, termasuk: 1. Alias: tentukan nama yang sesuai untuk pakej untuk rujukan berulang; , kekangan kepuasan dan alias pakej menyelesaikan keperluan berbeza berbilang pakej untuk versi pergantungan yang sama untuk mengelakkan konflik pemasangan.

Apakah cara biasa untuk menukar tatasusunan kepada objek dalam PHP? Apakah cara biasa untuk menukar tatasusunan kepada objek dalam PHP? Apr 28, 2024 pm 10:54 PM

Cara menukar tatasusunan PHP kepada objek: gunakan kelas stdClass, gunakan fungsi json_decode(), gunakan perpustakaan pihak ketiga (seperti kelas ArrayObject, perpustakaan Hydrator)

Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP May 08, 2024 pm 02:21 PM

Jawapan: Perkhidmatan mikro PHP digunakan dengan HelmCharts untuk pembangunan tangkas dan kontena dengan DockerContainer untuk pengasingan dan kebolehskalaan. Penerangan terperinci: Gunakan HelmCharts untuk menggunakan perkhidmatan mikro PHP secara automatik untuk mencapai pembangunan tangkas. Imej Docker membenarkan lelaran pantas dan kawalan versi perkhidmatan mikro. Piawaian DockerContainer mengasingkan perkhidmatan mikro dan Kubernetes mengurus ketersediaan dan kebolehskalaan bekas. Gunakan Prometheus dan Grafana untuk memantau prestasi dan kesihatan perkhidmatan mikro, serta mencipta penggera dan mekanisme pembaikan automatik.

Kawalan versi kod PHP dan kerjasama Kawalan versi kod PHP dan kerjasama May 07, 2024 am 08:54 AM

Kawalan versi kod PHP: Terdapat dua sistem kawalan versi (VCS) yang biasa digunakan dalam pembangunan PHP: Git: VCS yang diedarkan, tempat pembangun menyimpan salinan asas kod secara setempat untuk memudahkan kerjasama dan kerja luar talian. Subversion: VCS Berpusat, salinan unik pangkalan kod disimpan pada pelayan pusat, memberikan lebih kawalan. VCS membantu pasukan menjejaki perubahan, bekerjasama dan kembali ke versi terdahulu.

Peranan PHP CI/CD dalam projek DevOps Peranan PHP CI/CD dalam projek DevOps May 08, 2024 pm 09:09 PM

PHPCI/CD ialah amalan utama dalam projek DevOps yang mengautomasikan proses binaan, ujian dan penggunaan, dengan itu meningkatkan kecekapan pembangunan dan kualiti perisian. Saluran paip PHPCI/CD biasa terdiri daripada peringkat berikut: 1) Penyepaduan Berterusan: Setiap kali kod berubah, kod dibina dan diuji secara automatik. 2) Penggunaan berterusan: Mempercepatkan penghantaran dengan menggunakan kod yang diuji dan bersepadu secara automatik ke persekitaran pengeluaran. Dengan melaksanakan saluran paip PHPCI/CD, anda boleh meningkatkan kecekapan pembangunan, meningkatkan kualiti perisian, memendekkan masa untuk memasarkan dan meningkatkan kebolehpercayaan.

Bagaimana untuk menggunakan cache Redis dalam penomboran tatasusunan PHP? Bagaimana untuk menggunakan cache Redis dalam penomboran tatasusunan PHP? May 01, 2024 am 10:48 AM

Menggunakan cache Redis boleh mengoptimumkan prestasi halaman tatasusunan PHP. Ini boleh dicapai melalui langkah berikut: Pasang klien Redis. Sambung ke pelayan Redis. Cipta data cache dan simpan setiap halaman data ke dalam cincangan Redis dengan kunci "halaman:{page_number}". Dapatkan data daripada cache dan elakkan operasi mahal pada tatasusunan besar.

Teknologi visualisasi struktur data PHP Teknologi visualisasi struktur data PHP May 07, 2024 pm 06:06 PM

Terdapat tiga teknologi utama untuk menggambarkan struktur data dalam PHP: Graphviz: alat sumber terbuka yang boleh mencipta perwakilan grafik seperti carta, graf akiklik terarah dan pepohon keputusan. D3.js: Pustaka JavaScript untuk mencipta visualisasi dipacu data interaktif, menjana HTML dan data daripada PHP, dan kemudian menggambarkannya pada sisi klien menggunakan D3.js. ASCIIFlow: Perpustakaan untuk mencipta perwakilan teks rajah aliran data, sesuai untuk visualisasi proses dan algoritma.

Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? May 08, 2024 pm 10:15 PM

Jawapan: Gunakan PHPCI/CD untuk mencapai lelaran pantas, termasuk menyediakan saluran paip CI/CD, ujian automatik dan proses penggunaan. Sediakan saluran paip CI/CD: Pilih alat CI/CD, konfigurasikan repositori kod dan tentukan saluran paip binaan. Ujian automatik: Tulis ujian unit dan penyepaduan dan gunakan rangka kerja ujian untuk memudahkan ujian. Kes praktikal: Menggunakan TravisCI: Pasang TravisCI, tentukan saluran paip, dayakan saluran paip dan lihat hasilnya. Laksanakan penyampaian berterusan: pilih alatan pengerahan, tentukan saluran paip pengerahan dan automatik penggunaan. Faedah: Meningkatkan kecekapan pembangunan, mengurangkan ralat dan memendekkan masa penghantaran.

See all articles