> 백엔드 개발 > PHP 튜토리얼 > PHP Composer 설치 및 사용법

PHP Composer 설치 및 사용법

WBOY
풀어 주다: 2016-07-29 09:14:59
원래의
1284명이 탐색했습니다.
기본 사용법
  • 기본 사용법
    • 설치
    • display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json: 프로젝트 설치 <ul> <li><codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)"><strong>require</strong> 키 정보</codecourier></li> <li>패키지 이름</li> <li>패키지 버전</li> <li>다음 주요 버전(물결 기호 연산자) </li> <li>안정적 </li> </ul></codecourier></li> <li>종속성 패키지 설치</li> <li><codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock - LockFile</codecourier></li> <li>Packagist</li> <li>자동 로드</li> </ul> </li> <hrhelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><h2helvetica neue grande sans gb yahei micro hei font-weight:normal line-height:1.35 color:rgb margin-top:1.2em margin-bottom:0.6em font-size:30px>설치<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>Composer 설치 <codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.phar 실행 파일을 다운로드하기만 하면 됩니다. <div class="code" style="position:relative; padding:0px; margin:0px;"><precourier new font-size:14px padding:9.5px margin-top:0px margin-bottom:1.2em line-height:1.42857143 color:rgb word-break:break-all word-wrap:break-word border:none background-color:rgb>&lt;codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent&gt;curl -sS https://getcomposer.org/installer | php &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;자세한 내용은 소개 장을 참조하세요. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;Composer가 제대로 작동하는지 확인하려면 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;php을 통해 실행하세요. PHAR: &lt;precourier new font-size:14px padding:9.5px margin-top:0px margin-bottom:1.2em line-height:1.42857143 color:rgb word-break:break-all word-wrap:break-word border:none background-color:rgb&gt;&lt;codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent&gt;php composer.phar &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;실행 가능한 명령 목록이 반환됩니다. &lt;blockquotehelvetica neue grande sans gb yahei micro hei&gt;&lt;p&gt;&lt;span&gt;참고: &lt;/span&gt; 다운로드하지 않고 &lt;codecourier new font-size:15.75px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;--check 옵션만 실행할 수도 있습니다. 작곡가. 자세한 내용은 &lt;codecourier new font-size:15.75px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;--help을 이용해 주세요. &lt;/codecourier&gt;&lt;/codecourier&gt;&lt;/p&gt; &lt;precourier new font-size:14px padding:9.5px margin-top:0px margin-bottom:1.2em line-height:1.42857143 word-break:break-all word-wrap:break-word border:none background-color:rgb&gt;&lt;codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent&gt;curl -sS https://getcomposer.org/installer | php -- --help &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;&lt;h2helvetica neue grande sans gb yahei micro hei font-weight:normal line-height:1.35 color:rgb margin-top:1.2em margin-bottom:0.6em font-size:30px&gt;&lt;codecourier new font-size:27px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:33.75px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;composer.json:项目安装&lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;要开始在你的项目中使用 Composer,你只需要一个 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。&lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;这个 JSON format 是很容易编写的。它允许你定义嵌套结构。&lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;&lt;h3helvetica neue grande sans gb yahei micro hei font-weight:normal line-height:1.35 color:rgb margin-top:1.2em margin-bottom:0.6em font-size:24px&gt;关于 &lt;codecourier new font-size:21.6000003814697px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:27px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&lt;strong&gt;require&lt;/strong&gt; Key&lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;第一件事情(并且往往只需要做这一件事),你需要在 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;composer.json 文件中指定 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&lt;strong&gt;require&lt;/strong&gt; key 的值。你只需要简单的告诉 Composer 你的项目需要依赖哪些包。&lt;precourier new font-size:14px padding:9.5px margin-top:0px margin-bottom:1.2em line-height:1.42857143 color:rgb word-break:break-all word-wrap:break-word border:none background-color:rgb&gt;&lt;codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent&gt;{ &quot;&lt;strong&gt;require&lt;/strong&gt;&quot;: { &quot;monolog/monolog&quot;: &quot;1.0.*&quot; } } &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;你可以看到, &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&lt;strong&gt;require&lt;/strong&gt; 需要一个 &lt;span&gt;包名称&lt;/span&gt; (例如 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;monolog/monolog) 映射到 &lt;span&gt;包版本&lt;/span&gt; (例如 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.*) 的&lt;strong&gt;对象&lt;/strong&gt;。&lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;&lt;h3helvetica neue grande sans gb yahei micro hei font-weight:normal line-height:1.35 color:rgb margin-top:1.2em margin-bottom:0.6em font-size:24px&gt;包名称&lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;패키지 이름은 공급업체 이름과 프로젝트 이름으로 구성됩니다. 일반적으로 동일한 프로젝트 이름을 생성하기 쉽고 공급자 이름이 있으면 명명 충돌 문제를 잘 해결할 수 있습니다. 두 사람이 동일한 이름 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;json을 사용하여 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;igorw/json 및 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;seldaek/json이라는 이름이 붙는 라이브러리를 만들 수 있습니다. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;여기서 소개해야 할 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;monolog/monolog 공급업체 이름은 프로젝트 이름과 동일하므로 고유한 이름을 가진 프로젝트에 권장됩니다. 또한 나중에 동일한 네임스페이스에 더 많은 관련 프로젝트를 추가할 수도 있습니다. 라이브러리를 유지 관리하면 라이브러리를 더 작은 부분으로 쉽게 분리할 수 있습니다. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;&lt;h3helvetica neue grande sans gb yahei micro hei font-weight:normal line-height:1.35 color:rgb margin-top:1.2em margin-bottom:0.6em font-size:24px&gt;패키지 버전 &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;이전 예에서는 우리가 소개한 모노로그 버전을 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.*으로 지정했습니다. 즉, &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0에서 시작하는 모든 개발 브랜치는 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.0, &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.2 또는 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.20과 일치합니다. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;버전 제약 조건은 여러 가지 방법으로 지정할 수 있습니다. &lt;tablehelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;&lt;thead&gt;&lt;tr&gt; &lt;th&gt;이름&lt;/th&gt; &lt;th&gt;인스턴스&lt;/th&gt; &lt;th&gt;설명&lt;/th&gt; &lt;/tr&gt;&lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;정확한 버전 번호&lt;/td&gt; &lt;td&gt;&lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.2&lt;/codecourier&gt;&lt;/td&gt; &lt;td&gt;패키지의 정확한 버전을 지정할 수 있습니다. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;범위&lt;/td&gt; &lt;td&gt;&lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.0 &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.0,&lt;2.0&lt;/code&gt;&lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.0,&lt;1.1|&gt;=1.2&lt;/codecourier&gt;&lt;/codecourier&gt;&lt;/td&gt; &lt;td&gt;비교 연산자를 사용하여 유효한 버전 범위를 지정할 수 있습니다. &lt;br&gt; 유효한 연산자: &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;, &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=, &lt;codecourier new font-size:14.3999996185303px padding:0px color:inherit border:1px solid rgb&gt;display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&lt;&lt;/code&gt;, &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&lt;=&lt;/code&gt;, &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;!=&lt;/code&gt;. &lt;br&gt;여러 범위를 쉼표로 구분하여 정의할 수 있으며 이는 &lt;span&gt;논리적 AND&lt;/span&gt; 프로세스로 처리됩니다. 파이프 기호 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;|&lt;/code&gt;는 &lt;span&gt;&lt;/span&gt;의 논리 OR로 처리됩니다. &lt;br&gt;AND는 OR보다 우선순위가 높습니다. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;와일드카드 &lt;/td&gt;&lt;td&gt;&lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.*&lt;/code&gt;&lt;/td&gt;&lt;td&gt;와일드카드 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;*&lt;/code&gt;를 사용하여 패턴을 지정할 수 있습니다. &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.0.*&lt;/code&gt;은 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.0,&lt;1.1&lt;/code&gt;과 동일합니다. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;할당 연산자 &lt;/td&gt;&lt;td&gt;&lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2&lt;/code&gt;&lt;/td&gt;&lt;td&gt; 이는 의미 버전 관리를 따르는 프로젝트에 유용합니다.&lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2&lt;/code&gt;은 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.2,&lt;2.0&lt;/code&gt;과 동일합니다. 자세히 알아보려면 다음 섹션을 읽어보세요. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px&quot;&gt;&lt;/p&gt;&lt;h3Helvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-weight:normal; line-height:1.35; color:rgb(51,51,51); margin-top:1.2em; margin-bottom:0.6em; font-size:24px&quot;&gt;다음 큰 버전(물결표 연산자) &lt;/p&gt;&lt;pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px&quot;&gt;&lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~&lt;/code&gt;은 예를 들어 가장 잘 설명됩니다. &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2&lt;/code&gt;는 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.2,&lt;2.0&lt;/code&gt;과 동일하고 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2.3&lt;/code&gt;은 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;&gt;=1.2.3,&lt;1.3&lt;/code&gt;. 보시다시피 이는 Semantic Versioning을 따르는 프로젝트에 가장 유용합니다. 일반적인 사용법은 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2&lt;/code&gt;(1.2 이상의 모든 버전은 허용되지만 2.0은 허용되지 않음)과 같이 의존하는 최소 버전을 표시하는 것입니다. 이론적으로 2.0까지는 이전 버전과의 호환성 문제가 없어야 하므로 이는 훌륭하게 작동합니다. &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~&lt;/code&gt;을 사용하여 최소 버전을 지정하지만 버전 번호의 마지막 숫자가 올라가도록 허용하는 또 다른 용도도 볼 수 있습니다. &lt;/p&gt;&lt;blockquoteHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif&quot;&gt;&lt;p&gt;&lt;span&gt;참고: &lt;/span&gt; &lt;codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;2.0-beta.1&lt;/code&gt;은 &lt;codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;2.0&lt;/code&gt;보다 엄격하게 이전 버전이지만 버전 제약에 따라 예를 들어 &lt;codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2&lt;/code&gt;은 이 버전을 설치하지 않습니다. 앞서 언급했듯이 &lt;codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;~1.2&lt;/code&gt;은 &lt;codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;.2&lt;/code&gt; 부분만 변경할 수 있고 &lt;codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;1.&lt;/code&gt; 부분은 고정되어 있다는 의미입니다. &lt;/p&gt;&lt;/blockquote&gt;&lt;pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px&quot;&gt;&lt;/p&gt;&lt;h3Helvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-weight:normal; line-height:1.35; color:rgb(51,51,51); margin-top:1.2em; margin-bottom:0.6em; font-size:24px&quot;&gt;稳定性&lt;/p&gt;&lt;pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px&quot;&gt;默认情况下只有稳定的发行版才会被考虑在内。如果你也想获得 RC、beta、alpha 或 dev 版本,你可以使用 稳定标志。你可以对所有的包做 最小稳定性 设置,而不是每个依赖逐一设置。&lt;/p&gt;&lt;pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px&quot;&gt;&lt;/p&gt;&lt;h2Helvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-weight:normal; line-height:1.35; color:rgb(51,51,51); margin-top:1.2em; margin-bottom:0.6em; font-size:30px&quot;&gt;安装依赖包&lt;/p&gt;&lt;pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px&quot;&gt;获取定义的依赖到你的本地项目,只需要调用 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;composer.phar&lt;/code&gt; 运行 &lt;codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); &lt;strong&gt;display:inline-block&lt;/strong&gt;; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)&quot;&gt;install&lt;/code&gt; 命令。&lt;/p&gt;&lt;preCourier New',monospace; font-size:14px; padding:9.5px; margin-top:0px; margin-bottom:1.2em; line-height:1.42857143; color:rgb(51,51,51); word-break:break-all; word-wrap:break-word; border:none; background-color:rgb(250,251,252)&quot;&gt;&lt;codeAndale Mono',monospace; font-size:undefined; padding:0px; color:inherit; direction:ltr; word-spacing:normal; word-break:normal; background-color:transparent&quot;&gt;php composer.phar install &lt;/code&gt;</pre><div class="contentsignin">로그인 후 복사</div></div><pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px">接着前面的例子,这将会找到 <codeCourier New',monospace; font-size:14.3999996185303px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">monolog/monolog 的最新版本,并将它下载到 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">vendor。如果是 monolog 将会创建 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">vendor/monolog/monolog 目录。

      小技巧: 如果你正在使用Git来管理你的项目, 你可能要添加 display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">vendor 到你的 display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">.<strong>Git</strong>ignore 文件中。 你不会希望将所有的代码都添加到你的版本库中。

      另一件事是 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">install 命令将创建一个 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock 文件到你项目的根目录中。

      display:inline-block</strong>; line-height:33.75px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock - 파일 잠금

      종속성을 설치한 후 Composer는 설치 중에 정확한 버전 번호 목록을 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock 파일에 기록합니다. 그러면 프로젝트의 특정 버전이 잠깁니다.

      지원서의 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock(display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json 포함)을 저장소에 제출하세요.

      display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">install 명령 때문에 이는 매우 중요합니다. lock 파일이 존재하며, 존재하는 경우 지정된 버전을 다운로드합니다(display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json 파일의 정의는 무시함).

      즉, 프로젝트를 빌드하는 사람은 누구나 지정된 버전과 정확히 동일한 종속성을 다운로드하게 됩니다. 지속적인 통합 서버, 프로덕션 환경, 팀의 다른 개발자 등 모든 것과 모든 사람이 동일한 종속성을 사용하여 배포에 대한 잠재적인 버그의 영향을 완화합니다. 프로젝트를 단독으로 개발하더라도 6개월 후에 프로젝트를 다시 설치하면 그 이후로 종속 항목의 새 버전이 많이 릴리스되더라도 계속 작업할 수 있으므로 안심할 수 있습니다.

      display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock 파일이 존재하지 않는 경우 Composer display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json을 읽고 잠금 파일을 만듭니다.

      这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">update 命令。这将获取最新匹配的版本(根据你的 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json 文件)并将新版本更新进锁文件。

      <codeAndale Mono',monospace; font-size:undefined; padding:0px; color:inherit; direction:ltr; word-spacing:normal; word-break:normal; background-color:transparent">php composer.phar update </code>
      로그인 후 복사
      如果只想安装或更新一个依赖,你可以白名单它们:

      <codeAndale Mono',monospace; font-size:undefined; padding:0px; color:inherit; direction:ltr; word-spacing:normal; word-break:normal; background-color:transparent">php composer.phar update monolog/monolog [...] </code>
      로그인 후 복사

      注意: 对于库,并不一定建议提交锁文件 请参考:库的锁文件.

      Packagist

      packagist 是 Composer 的主要资源库。 一个 Composer 的库基本上是一个包的源:记录了可以得到包的地方。Packagist 的目标是成为大家使用库资源的中央存储平台。这意味着你可以 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)"><strong>require</strong> 那里的任何包。

      当你访问 packagist website (packagist.org),你可以浏览和搜索资源包。

      任何支持 Composer 的开源项目应该发布自己的包在 packagist 上。虽然并不一定要发布在 packagist 上来使用 Composer,但它使我们的编程生活更加轻松。

      自动加载

      对于库的自动加载信息,Composer 生成了一个 display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">vendor/autoload.php 文件。你可以简单的引入这个文件,你会得到一个免费的自动加载支持。

      <codeAndale Mono',monospace; font-size:undefined; padding:0px; color:inherit; direction:ltr; word-spacing:normal; word-break:normal; background-color:transparent"><span><strong>require</strong></span><span>'vendor/autoload.php'</span><span>;</span></code>
      로그인 후 복사
      这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 monolog,你就可以像这样开始使用这个类库,并且他们将被自动加载。

      $log=newMonolog\Logger('name');$log->pushHandler(newMonolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));$log->addWarning('Foo');你可以在 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json 的 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">autoload 字段中增加自己的 autoloader。{ "autoload": { "psr-4": {"Acme\\": "src/"} } } Composer 将注册一个 PSR-4 autoloader 到 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">Acme 命名空间。你可以定义一个从命名空间到目录的映射。此时 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">src 会在你项目的根目录,与 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">vendor 文件夹同级。例如 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">src/Foo.php 文件应该包含 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">Acme\Foo 类。添加 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">autoload 字段后,你应该再次运行 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">install 命令来生成 display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">vendor/autoload.php 文件。引用这个文件也将返回 autoloader 的实例,你可以将包含调用的返回值存储在变量中,并添加更多的命名空间。这对于在一个测试套件中自动加载类文件是非常有用的,例如。$loader=require'vendor/autoload.php';$loader->add('Acme\\Test\\',__DIR__);除了 PSR-4 自动加载,classmap 也是支持的。这允许类被自动加载,即使不符合 PSR-0 规范。详细请查看 自动加载-参考。

      참고: Composer는 자체 자동 로더를 제공합니다. 사용하고 싶지 않다면 display:inline-block; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">vendor/composer/autoload_*.php 파일을 가져오면 됩니다. 이 파일은 연관 배열을 반환하여 자신만의 구성을 구성할 수 있습니다. 자동 로더.

      이상은 관련 내용을 포함하여 PHP Composer의 설치 및 사용법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

  • 관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿