Installation und Verwendung von PHP Composer

WBOY
Freigeben: 2016-07-29 09:14:59
Original
1260 Leute haben es durchsucht
Grundlegende Nutzung
  • Grundlegende Nutzung
    • Installieren
    • display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json: Projektinstallation <ul> <li>Über <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> Schlüssel</codecourier> </li> <li>Paketname</li> <li>Paketversion</li> <li>Nächste Hauptversion (Tilde-Operator) </li> <li>Stabil </li> </ul></codecourier></li> <li>Abhängigkeitspakete installieren</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>Autoload</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>Installieren<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>Installieren Sie Composer, Sie Sie müssen lediglich die ausführbare Datei <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 herunterladen. <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;Weitere Informationen finden Sie im Kapitel „Einführung“. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;Um zu überprüfen, ob Composer ordnungsgemäß funktioniert, führen Sie es einfach über &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 aus 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;Dadurch erhalten Sie eine Liste der ausführbaren Befehle zurück. &lt;blockquotehelvetica neue grande sans gb yahei micro hei&gt;&lt;p&gt;&lt;span&gt;Hinweis: &lt;/span&gt; Sie können die Option &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 auch einfach ausführen, ohne sie herunterzuladen Komponist. Für weitere Informationen verwenden Sie bitte &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;Der Paketname besteht aus dem Herstellernamen und seinem Projektnamen. Normalerweise ist es einfach, denselben Projektnamen zu erstellen, und die Existenz des Lieferantennamens kann das Problem des Namenskonflikts gut lösen. Es ermöglicht zwei verschiedenen Personen, Bibliotheken mit demselben Namen &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 zu erstellen, die dann &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 und &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 heißen. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;Hier müssen wir &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 einführen, der Name des Lieferanten ist derselbe wie der Name des Projekts, wir empfehlen dies für ein Projekt mit einem eindeutigen Namen. Es ermöglicht auch das spätere Hinzufügen weiterer verwandter Projekte im selben Namespace. Wenn Sie eine Bibliothek verwalten, können Sie diese problemlos in kleinere Teile aufteilen. &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;Paketversion &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;Im vorherigen Beispiel wurde die von uns eingeführte Monologversion als &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.* angegeben. Das bedeutet, dass jeder Entwicklungszweig, der mit &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 beginnt, mit &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 oder &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 übereinstimmt. &lt;phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px&gt;Versionseinschränkungen können auf verschiedene Arten angegeben werden. &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;Name&lt;/th&gt; &lt;th&gt;Instanz&lt;/th&gt; &lt;th&gt;Beschreibung&lt;/th&gt; &lt;/tr&gt;&lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Genaue Versionsnummer&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;Sie können die genaue Version des Pakets angeben. &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Bereich&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;Ein gültiger Versionsbereich kann mithilfe von Vergleichsoperatoren angegeben werden. &lt;br&gt; Gültige Operatoren: &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;Sie können mehrere durch Kommas getrennte Bereiche definieren, die als &lt;span&gt;logischer UND&lt;/span&gt;-Prozess behandelt werden. Ein Pipe-Symbol &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; wird als logisches ODER von &lt;span&gt;&lt;/span&gt; behandelt. &lt;br&gt;UND hat eine höhere Priorität als ODER. &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Platzhalter &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;Mit dem Platzhalter &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; können Sie ein Muster angeben. &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; entspricht &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;Zuweisungsoperator &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;Dies ist sehr nützlich für Projekte, die der semantischen Versionierung folgen.&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; entspricht &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;. Um mehr zu erfahren, lesen Sie den nächsten Abschnitt. &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;Die nächste große Version (Tilde-Operator) &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; lässt sich am besten anhand eines Beispiels erklären: &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; entspricht &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; und &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; entspricht &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;. Wie Sie sehen, ist dies am nützlichsten für Projekte, die der semantischen Versionierung folgen. Eine häufige Verwendung besteht darin, die Mindestversion zu markieren, von der Sie abhängig sind, z. B. &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; (jede Version über 1.2 ist zulässig, jedoch nicht 2.0). Da es theoretisch bis 2.0 keine Abwärtskompatibilitätsprobleme geben sollte, funktioniert dies hervorragend. Sie werden auch eine andere Verwendung sehen, indem Sie &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; verwenden, um eine Mindestversion anzugeben, aber die letzte Ziffer der Versionsnummer nach oben zulassen. &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;Hinweis: &lt;/span&gt; Obwohl &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; strikt früher als &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; ist, gilt jedoch aufgrund von Versionseinschränkungen Beispielsweise wird &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; diese Version nicht installieren. Wie bereits erwähnt bedeutet &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; nur, dass der Teil &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; geändert werden kann, der Teil &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; jedoch festgelegt ist. &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">Nach dem Login kopieren</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 - Datei sperren

      Nach der Installation von Abhängigkeiten schreibt Composer während der Installation die genaue Versionsnummernliste in die Datei display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock. Dadurch wird die spezifische Version des Projekts gesperrt.

      Bitte senden Sie display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock (einschließlich display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json) Ihrer Bewerbung an Ihr Repository

      Dies ist sehr wichtig, da der Befehl display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">install prüft, ob die lock-Datei vorhanden ist, und wenn dies der Fall ist, wird die angegebene Version heruntergeladen (Definitionen in der display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json-Datei werden ignoriert).

      Das bedeutet, dass jeder, der das Projekt erstellt, genau dieselbe Version der Abhängigkeiten herunterlädt, wie angegeben. Ihr Continuous-Integration-Server, Ihre Produktionsumgebung, andere Entwickler in Ihrem Team, alles und jeder verwendet die gleichen Abhängigkeiten, wodurch die Auswirkungen potenzieller Fehler auf Ihre Bereitstellung gemindert werden. Selbst wenn Sie das Projekt alleine entwickeln, können Sie sicher sein, dass Sie bei einer Neuinstallation des Projekts in sechs Monaten weiterarbeiten können, auch wenn seitdem viele neue Versionen Ihrer Abhängigkeiten veröffentlicht wurden.

      Wenn die Datei display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.lock nicht existiert, wird Composer Wird display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json lesen und die Sperrdatei erstellen.

      这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 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>
      Nach dem Login kopieren
      如果只想安装或更新一个依赖,你可以白名单它们:

      <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>
      Nach dem Login kopieren

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

      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>
      Nach dem Login kopieren
      这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 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 规范。详细请查看 自动加载-参考。

      Hinweis: Composer stellt seinen eigenen Autoloader zur Verfügung. Wenn Sie es nicht verwenden möchten, können Sie einfach die Datei display:inline-block; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">vendor/composer/autoload_*.php importieren, die ein assoziatives Array zurückgibt, über das Sie Ihr eigenes Array konfigurieren können Autoloader.

      Das Obige stellt die Installation und Verwendung von PHP Composer vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

  • Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage