목차
지금까지 , github 저장소와 packagist가 연결되었습니다. 하지만 아직 정식 버전으로 출시해야 사용할 수 있습니다. " >지금까지 , github 저장소와 packagist가 연결되었습니다. 하지만 아직 정식 버전으로 출시해야 사용할 수 있습니다.
개발 도구 composer 작곡가 패키지를 직접 작성하고 게시용으로 업로드하는 방법

작곡가 패키지를 직접 작성하고 게시용으로 업로드하는 방법

Jul 19, 2021 pm 02:32 PM
composer

1. Composer 소개

Composer는 PHP5.3 이상을 위한 종속성 관리 도구입니다. 이를 통해 프로젝트가 의존하는 코드 라이브러리를 선언할 수 있으며 프로젝트에 해당 라이브러리가 설치됩니다. 이를 통해 우리는 쉽게 명령을 사용하여 다른 우수한 코드를 프로젝트에 참조할 수 있습니다. 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

🎜🎜2. 종속성 패키지 관리 도구🎜🎜java에는 maven이 있고 프런트 엔드에는 npm이 있으며 Android에는 가 있습니다. Gradle에는 세계 최고의 언어에도 composer🎜🎜🎜🎜3.composer의 장점🎜
  • 프로젝트가 있습니다. 여러 라이브러리에 대한 종속성.
  • 이러한 라이브러리 중 일부는 다른 라이브러리에 의존합니다.
  • 당신은 당신이 의존하는 것을 선언합니다.
  • Composer는 설치해야 할 패키지 버전을 파악하고 설치합니다(프로젝트에 다운로드).
🎜🎜🎜4. 일반적인 작곡가 명령🎜
  • 작성기 요구 사항:🎜소프트웨어 패키지 설치
    여기에 이미지 설명 삽입
  • 작성기 업데이트 : 🎜 도구 패키지를 자동으로 업그레이드하기 위해 새 버전의 패키지에 필요한 환경과 종속성을 감지합니다.<br><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/020/ae6bea1f1fef591d0821649a7fe47455-4.gif" class="lazy" alt="여기에 이미지 설명 삽입">
  • composer 설치: 🎜composer.json 파일이 없는 경우 , 작곡가는 .json에 종속성을 설치합니다.
    여기에 이미지 설명 삽입
  • composer init: 🎜는 작곡가.json 구성 파일을 초기화합니다
    여기에 그림 설명 삽입🎜🎜🎜5. 작곡가 설치🎜초보 튜토리얼 참조
🎜🎜🎜6. 작성기 패키지를 직접 작성합니다🎜🎜사이트 아래에 blog라는 새 디렉터리를 만듭니다. 🎜🎜🎜1. composer init🎜🎜여기에 이미지 설명 삽입
실행 후 패키지 이름을 입력하겠습니다. guangtouqiang/blog라고 부르겠습니다. 🎜🎜🎜패키지 이름 name🎜
  • 공급업체 이름과 프로젝트 이름이 포함된 패키지 이름이며 /로 구분됩니다.
  • 게시해야 하는 패키지(라이브러리)의 경우 이를 입력해야 합니다.
  • 예: phpmailer/phpmailer
🎜🎜2 guangtouqiang/blog를 실행합니다:🎜🎜여기에 이미지 설명 삽입
다음으로 설명을 입력하겠습니다. 🎜🎜🎜Description 설명🎜
  • 패키지에 대한 간단한 설명입니다. 일반적으로 이 줄은 최대 한 줄입니다.
  • 게시해야 하는 패키지(라이브러리)의 경우 이를 입력해야 합니다.
🎜🎜3. 설명을 입력하세요 광두강 테스트백입니다🎜🎜여기에 그림 설명 삽입
🎜4. 저자 이름 입력(선택 사항) 강력>🎜🎜여기에 이미지 설명 삽입🎜🎜🎜 작성자 authors🎜
  • 이 개체는 다음 속성을 모두 포함해야 합니다.
  • name: 작성자의 이름, 일반적으로 실제 이름입니다.
  • email: 작성자의 이메일 주소입니다.
  • 홈페이지: 작성자 홈페이지의 URL 주소입니다.
  • 역할: 이 프로젝트에서 작성자가 수행하는 역할(예: 개발자 또는 번역가)입니다.
🎜🎜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"}
로그인 후 복사

再次基础上增加:

{
    "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"
        }
    }}
로그인 후 복사

命令行执行: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여기에 이미지 삽입 설명

여기에 이미지 설명 삽입

7. 버전을 태그하세요작곡가 패키지를 직접 작성하고 게시용으로 업로드하는 방법
git tag -a v1.0.1 -m "첫 번째 버전"git push Origin v1.0.1

현재 , 라벨링이 성공적으로 이루어졌으며 모든 버전은 packagist에서 볼 수 있습니다. 여기에 그림 설명 삽입 작곡가 실행 xx/xxx 필요는 다른 사람이 사용할 수 있습니다.

🎜🎜9. 요약🎜🎜🎜🎜🎜composer.json에 대한 자세한 설명은 🎜: Composer.json의 세부 사용🎜🎜을 참조하세요. 더 많은 작곡가 관련 기술 기사를 보려면 🎜🎜composer🎜🎜를 방문하세요. 튜토리얼 칼럼! 🎜🎜

위 내용은 작곡가 패키지를 직접 작성하고 게시용으로 업로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

LARAVEL 소개 예 LARAVEL 소개 예 Apr 18, 2025 pm 12:45 PM

Laravel은 웹 응용 프로그램을 쉽게 구축하기위한 PHP 프레임 워크입니다. 설치 : Composer를 사용하여 전 세계적으로 Laravel CLI를 설치하고 프로젝트 디렉토리에서 응용 프로그램을 작성하는 등 다양한 기능을 제공합니다. 라우팅 : Routes/Web.php에서 URL과 핸들러 간의 관계를 정의하십시오. 보기 : 리소스/뷰에서보기를 작성하여 응용 프로그램의 인터페이스를 렌더링합니다. 데이터베이스 통합 : MySQL과 같은 데이터베이스와 상자 외 통합을 제공하고 마이그레이션을 사용하여 테이블을 작성하고 수정합니다. 모델 및 컨트롤러 : 모델은 데이터베이스 엔티티를 나타내고 컨트롤러는 HTTP 요청을 처리합니다.

CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 CRAFT CMS의 캐싱 문제 해결 : Wiejeben/Craft-Laravel-Mix 플러그인 사용 Apr 18, 2025 am 09:24 AM

CRAFTCMS를 사용하여 웹 사이트를 개발할 때 특히 CSS 및 JavaScript 파일을 자주 업데이트 할 때 자주 리소스 파일 캐싱 문제가 발생하면 이전 버전의 파일이 여전히 브라우저에서 캐싱 될 수 있으므로 사용자는 최신 변경 사항을 볼 수 없습니다. 이 문제는 사용자 경험에 영향을 줄뿐만 아니라 개발 및 디버깅의 어려움을 증가시킵니다. 최근에 나는 프로젝트에서 비슷한 문제를 겪었고, 약간의 탐색 후 플러그인 Wiejeben/Craft-Laravel-Mix를 발견하여 캐싱 문제를 완벽하게 해결했습니다.

교리 단체 직렬화 효율성 향상 : SIDUS/교리 서리 라이저-펀드의 적용 교리 단체 직렬화 효율성 향상 : SIDUS/교리 서리 라이저-펀드의 적용 Apr 18, 2025 am 11:42 AM

많은 교리 단체와 함께 프로젝트를 수행 할 때 어려운 문제가있었습니다. 엔티티가 직렬화되고 사막화 될 때마다 성능이 매우 비효율적 이어져 시스템 응답 시간이 크게 증가합니다. 여러 최적화 방법을 시도했지만 잘 작동하지 않습니다. 다행스럽게도 Sidus/Doctrine-Serializer-Bundle을 사용 하여이 문제를 성공적으로 해결하여 프로젝트의 성능을 크게 향상 시켰습니다.

작곡가로 이메일 마케팅을 단순화하는 방법 : duwa.io의 응용 프로그램 관행 작곡가로 이메일 마케팅을 단순화하는 방법 : duwa.io의 응용 프로그램 관행 Apr 18, 2025 am 11:27 AM

메일 마케팅 캠페인을 할 때 까다로운 문제가 있습니다. HTML 형식으로 효율적으로 메일을 작성하고 보내는 방법. 기존의 접근 방식은 수동으로 코드를 작성하고 SMTP 서버를 사용하여 이메일을 보내는 것이지만 이는 시간이 많이 걸릴뿐만 아니라 오류가 발생하기 쉽습니다. 여러 솔루션을 시도한 후 HTML 메일을 신속하게 만들고 보내는 데 도움이되는 간단하고 사용하기 쉬운 RESTAPI 인 Duwa.io를 발견했습니다. 개발 프로세스를 더욱 단순화하기 위해 작곡가를 사용하여 duwa.io의 PHP 라이브러리 인 CaptainDoe/Duwa를 설치하고 관리하기로 결정했습니다.

Laravel 프레임 워크 설치 방법 Laravel 프레임 워크 설치 방법 Apr 18, 2025 pm 12:54 PM

기사 요약 :이 기사는 Laravel 프레임 워크를 쉽게 설치하는 방법에 대한 독자들을 안내하기위한 자세한 단계별 지침을 제공합니다. Laravel은 웹 애플리케이션의 개발 프로세스를 가속화하는 강력한 PHP 프레임 워크입니다. 이 자습서는 시스템 요구 사항에서 데이터베이스 구성 및 라우팅 설정에 이르기까지 설치 프로세스를 다룹니다. 이러한 단계를 수행함으로써 독자들은 라벨 프로젝트를위한 탄탄한 토대를 빠르고 효율적으로 놓을 수 있습니다.

작곡가를 사용하여 Fecmall 고급 프로젝트 템플릿을 신속하게 구축하는 방법 작곡가를 사용하여 Fecmall 고급 프로젝트 템플릿을 신속하게 구축하는 방법 Apr 18, 2025 am 11:45 AM

전자 상거래 플랫폼을 개발할 때는 올바른 프레임 워크와 도구를 선택하는 것이 중요합니다. 최근에 기능이 풍부한 전자 상거래 웹 사이트를 구축하려고 할 때 어려운 문제가 발생했습니다. 확장 가능하고 완벽하게 기능적인 전자 상거래 플랫폼을 신속하게 구축하는 방법. 여러 솔루션을 시도하고 Fecmall의 고급 프로젝트 템플릿 (Fecmall/FBBCBase-App-Advanced)을 선택했습니다. 작곡가를 사용하면이 프로세스가 매우 간단하고 효율적입니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

Composer를 사용하여 권장 시스템의 딜레마를 해결하십시오 : Andres-Montanez/권장 사항-펀들 Composer를 사용하여 권장 시스템의 딜레마를 해결하십시오 : Andres-Montanez/권장 사항-펀들 Apr 18, 2025 am 11:48 AM

전자 상거래 웹 사이트를 개발할 때 어려운 문제가 발생했습니다. 사용자에게 개인화 된 제품 권장 사항을 제공하는 방법. 처음에는 간단한 권장 알고리즘을 시도했지만 결과는 이상적이지 않았으며 사용자 만족도에도 영향을 미쳤습니다. 추천 시스템의 정확성과 효율성을 향상시키기 위해보다 전문적인 솔루션을 채택하기로 결정했습니다. 마지막으로 Composer를 통해 Andres-Montanez/Residations-Bundle을 설치하여 문제를 해결했을뿐만 아니라 추천 시스템의 성능을 크게 향상 시켰습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

Laravel 설치 코드 Laravel 설치 코드 Apr 18, 2025 pm 12:30 PM

Laravel을 설치하려면 다음 단계를 순서대로 수행하십시오. Composer 설치 (MacOS/Linux 및 Windows) 설치 LARAVEL 설치 프로그램 새 프로젝트 시작 서비스 액세스 애플리케이션 (URL : http://127.0.1:8000) 데이터베이스 연결 (필요한 경우)을 설정하십시오.

See all articles