목차
name
license
require
autoload
项目结构
이 구성은 주로 PSR-4 또는 PSR-0 설정을 사용하며 PSR-4 표준을 사용하는 것이 더 좋습니다.
백엔드 개발 PHP 튜토리얼 작곡가로 휠을 만드는 방법

작곡가로 휠을 만드는 방법

Sep 07, 2017 am 10:06 AM
composer

composer는 PHP용 종속성 관리 도구입니다. 이 문서에서는 다른 사람들이 Composer를 통해 패키지를 쉽게 사용할 수 있도록 패키지를 빌드하고 Packagist에 제출하는 방법을 설명합니다. S 다음 단계를 개발합니다.

    작곡가.json 파일 초기화
  1. 명명 공간 정의 및 패키지 이름 기능
  2. Packagist에 패키지 등록

  3. composer.json 초기화 file

    작곡기를 설치한 후 로컬에서 composer init를 실행하고 대화형 명령줄을 통해 작곡가.json을 설정할 수 있습니다.
  4. 다음은 일반 설정뿐만 아니라 여러 가지 속성을 소개합니다.

    name
이 속성은 /로 구분된 패키지 이름을 정의하며, 첫 번째는 공급자 이름, 마지막은 패키지 이름입니다. 공급자는 패키지를 구성하고 이름 충돌을 방지하기 위해 웹 사이트에서 개발자에게 제공하는 Packagist 고유 이름을 나타냅니다. 따라서 제출 시 https://packagist.org/packages/yourvendorname을 방문하여 URL의 yourvendorname을 원하는 이름으로 바꾸는 것이 가장 좋습니다. 페이지에 404가 없으면 등록된 것입니다.

license

composer init 通过交互式命令行设置 composer.json 。

下面介绍其中的几个属性,以及常规的设置:

name

此属性定义包名,以 / 隔开,前面的为供应商名字,后面为包名,供应商代表 Packagist 网站为开发者提供的唯一的名字,用来组织包以及防止命名冲突。所以提交时最好先访问 https://packagist.org/packages/yourvendorname 将 url 中的 yourvendorname 替换为你想要取的名字,如果页面没有 404 ,说明已经被注册了。

license

许可证。关于许可证,建议看两篇文章,开源项目 license 介绍 、 如何选择 license

require

安装当前包所需的依赖。只有所有依赖被安装当前包才会被安装。

autoload

此配置下主要是 PSR-4 或者 PSR-0 设置,更推荐使用 PSR-4 标准。

http://json-schema.org/ 上介绍了 JSON Schema 的定义以及各个语言对其各种功能的实现,有 validator 的实现,其中 JSON Schema Validator 是在线的验证服务。其实最简单的就是使用 composer validate composer.json 来验证文件是否是有错误。

项目结构

项目结构是典型的 MVC 结构,

.
└── geo
    └── geosso
        ├── LICENSE
        ├── README.md
        ├── composer.json
        └── src
            ├── Contracts
            ├── Http
            │   ├── Controllers
            │   ├── Middleware
            │   └── Requests
            ├── ParamsBean
            ├── Providers
            ├── Support
            └── config12 directories
로그인 후 복사

LICENSE、README.md 及 composer.json 是运行 tree -d 之后手工添加上去的。

项目根目录定义在 src 下,在 composer.json 中也有定义,这样当 composer 加载这个包时就知道如何通过命名空间去解析文件路径。

Http 目录代表请求响应,之下的 Controllers 表示合法请求的控制器,Middleware 代表请求的第一道关卡,通过中间件去拦截请求,Requests 去获取前端请求并对请求过滤。

Contracts 代表接口定义。ParamsBean 代表应用层与底层服务沟通时的参数封装,通过 Bean 去获取各个参数,而不是传递 array 使得调用一致,并且强制接口调用时做类型检测,可以很大程度上统一各层之间的参数传递。

Providers 代表 Laravel 的服务容器,通过服务容器,可以注册路由与配置,加载助手类,绑定接口与其实现。

Support 就是一些助手类,对常用的与逻辑无关的功能的封装,config 代表应用自己的配置,通过 config 可以方便地将配置设置并使用全局函数 config()라이센스. 라이선스에 관해서는 오픈소스 프로젝트 라이선스 소개와 라이선스 선택 방법

require

현재 패키지를 설치하는 데 필요한 종속성이라는 두 가지 기사를 읽어보는 것이 좋습니다. 현재 패키지는 모든 종속성이 설치된 경우에만 설치됩니다.

autoload

이 구성은 주로 PSR-4 또는 PSR-0 설정을 사용하며 PSR-4 표준을 사용하는 것이 더 좋습니다.

http://json-schema.org/에서는 JSON Schema의 정의와 Validator의 구현을 포함하여 다양한 언어로 다양한 기능을 구현하는 방법을 소개하고 있으며, 그중 JSON Schema Validator는 온라인 검증 서비스입니다. 실제로 가장 간단한 방법은 composervalidatecomposer.json을 사용하여 파일에 오류가 있는지 확인하는 것입니다.

프로젝트 구조🎜🎜프로젝트 구조는 일반적인 MVC 구조입니다. 🎜
git init # 初始化仓库git remote set-url origin --push --add git@github.com:jayxhj/geosso.git # 添加远程追踪仓库地址git add .
git commit
git push origin master
로그인 후 복사
🎜LICENSE, README.md 및 Composer.json은 tree -d를 실행한 후 수동으로 추가됩니다. 🎜🎜프로젝트 루트 디렉터리는 src 아래에 정의되고 작곡가.json에도 정의되어 있으므로 작곡가가 이 패키지를 로드할 때 네임스페이스를 통해 파일 경로를 확인하는 방법을 알 수 있습니다. 🎜🎜Http 디렉터리는 요청 응답을 나타내고, 아래 컨트롤러는 법적 요청의 컨트롤러를 나타내며, 미들웨어는 요청의 첫 번째 수준을 나타내며, 미들웨어를 통해 요청을 가로채고, 요청은 프런트 엔드 요청을 얻고 요청을 필터링합니다. 🎜🎜계약은 인터페이스 정의를 나타냅니다. ParamsBean은 애플리케이션 계층이 기본 서비스와 통신할 때 매개변수 캡슐화를 나타냅니다. 이는 호출을 일관되게 만들기 위해 배열을 전달하는 대신 Bean을 사용하여 매개변수를 크게 통합할 수 있습니다. 레이어 간 전송. 🎜🎜Providers는 Laravel의 서비스 컨테이너를 나타냅니다. 서비스 컨테이너를 통해 경로 및 구성을 등록하고 도우미 클래스를 로드하며 인터페이스와 구현을 바인딩할 수 있습니다. 🎜🎜Support는 로직과 관련이 없는 일반적으로 사용되는 기능을 캡슐화하는 일부 도우미 클래스입니다. config는 애플리케이션의 자체 구성을 나타내며 전역 함수 config()를 사용하여 구성을 쉽게 설정하고 호출할 수 있습니다. 코드>. 🎜🎜Submit to GitHub🎜🎜이전 단계에 따르면 패키지에는 기본 뼈대가 있습니다. 다음 단계는 이를 GitHub에 업로드하고, 프로젝트를 구성하고, 지속적 통합 서비스를 통합하고, 오픈 소스 프로젝트 라이선스를 발급하는 것입니다. 🎜🎜GitHub이 프로젝트를 초기화할 때 .gitignore 파일 생성, 라이선스 선택, README.md 파일 초기화, 로컬 프로젝트 디렉터리로 전환하고 아래 단계에 따라 해당 디렉터리를 GitHub에 업로드하도록 선택할 수 있습니다. 🎜rrreee 🎜Submit to Packagist🎜🎜 Packagist는 작곡가가 패키지 메타데이터 정보를 얻기 위한 기본 주소입니다. Packagist에서 메타데이터 정보를 얻은 후 코드는 GitHub에서 가져옵니다. 따라서 개발한 패키지를 GitHub에 업로드한 후, 전 세계 사람들이 Composer를 통해 코드를 가져올 수 있도록 Packagist에 등록해야 합니다. 🎜🎜

위 내용은 작곡가로 휠을 만드는 방법의 상세 내용입니다. 자세한 내용은 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을 사용 하여이 문제를 성공적으로 해결하여 프로젝트의 성능을 크게 향상 시켰습니다.

의존성 주입을 해결하기 위해 작곡가 사용 : PSR-11 컨테이너 인터페이스의 적용 의존성 주입을 해결하기 위해 작곡가 사용 : PSR-11 컨테이너 인터페이스의 적용 Apr 18, 2025 am 07:39 AM

대규모 PHP 프로젝트를 개발할 때 일반적이지만 까다로운 문제를 겪었습니다. 의존성을 효과적으로 관리하고 주입하는 방법. 처음에는 글로벌 변수와 수동 주입을 사용하려고 시도했지만 코드의 복잡성을 증가시킬뿐만 아니라 오류가 쉽게 이어졌습니다. 마지막으로 PSR-11 컨테이너 인터페이스와 작곡가의 전력을 사용 하여이 문제를 성공적으로 해결했습니다.

작곡가를 사용하여 JSON 스키마 검증 문제를 해결하는 방법 작곡가를 사용하여 JSON 스키마 검증 문제를 해결하는 방법 Apr 18, 2025 am 11:51 AM

Symfony 기반 응용 프로그램을 개발할 때 까다로운 문제가 있습니다. JSON 데이터 형식을 효과적으로 검증하는 방법. 처음에는 수동 검증 코드를 사용해 보았지만 복잡 할뿐만 아니라 오류가 발생했습니다. 약간의 탐사 후, 나는 Ptyhard/Json-Schema-Bundle이라는 작곡가 패키지를 발견하여 프로젝트에 편의성과 효율성을 높였습니다.

작곡가를 사용하여 Laravel 애플리케이션의 보안을 향상시키는 방법 : Wiebenieuwenhuis/Laravel-2FA 라이브러리의 응용 프로그램 작곡가를 사용하여 Laravel 애플리케이션의 보안을 향상시키는 방법 : Wiebenieuwenhuis/Laravel-2FA 라이브러리의 응용 프로그램 Apr 18, 2025 am 11:36 AM

Laravel 애플리케이션을 개발할 때는 일반이지만 어려운 문제가 발생했습니다. 사용자 계정의 보안을 향상시키는 방법. 사이버 공격의 복잡성이 증가함에 따라 단일 암호 보호만으로는 사용자 데이터의 보안을 보장하기에 충분하지 않습니다. 몇 가지 방법을 시도했지만 결과는 만족스럽지 않았습니다. 마지막으로, 작곡가를 통해 Wiebenieuwenhuis/Laravel-2FA 라이브러리를 설치하고 응용 프로그램에 2 단계 인증 (2FA)을 성공적으로 추가하여 보안을 크게 향상 시켰습니다.

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

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

Laravel의 버전 번호를 보는 방법은 무엇입니까? Laravel의 버전 번호를 보는 방법 Laravel의 버전 번호를 보는 방법은 무엇입니까? Laravel의 버전 번호를 보는 방법 Apr 18, 2025 pm 01:00 PM

Laravel 프레임 워크에는 개발자의 다양한 요구를 충족시키기 위해 버전 번호를 쉽게 볼 수있는 내장 방법이 있습니다. 이 기사는 Composer Command Line 도구 사용, .env 파일에 액세스하거나 PHP 코드를 통해 버전 정보를 얻는 것을 포함하여 이러한 방법을 탐색합니다. 이러한 방법은 Laravel 애플리케이션의 버전 관리를 유지 관리하고 관리하는 데 필수적입니다.

See all articles