PHP Composerのインストールと使用方法
リリース: 2016-07-29 09:14:59
基本的な使い方基本的な使い方
- インストール
- display:inline-block; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json: プロジェクトのインストール
についてheight:18px; margin:0px 2px; background-color:rgb(249,242,244)"><strong>必須</strong> キー<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> Key</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</codecourier></li>パッケージバージョン<li>次の重要なバージョン (チルダ演算記号) <li>安定性</ul>
</li>
<codecourier new border:1pxsolid rgb>; 行の高さ: 18px; マージン: 0px 2px; 背景色: rgb(249,242,244)">composer.lock -
ロックファイル<hrhelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>Packagist<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><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><codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent>curl -sS https://getcomposer.org/installer | php
<phelvetica 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>要检查 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)">php<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><blockquotehelvetica neue grande sans gb yahei micro hei>Composerをインストールするには、<codecourier new rgb>表示:インラインブロック; マージン:0px 2px; /code> 実行可能ファイル。<p><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><codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent>php composer.phar
<span>詳細については、「はじめに」の章を参照してください。</span>Composer が適切に動作しているかどうかを確認するには、<strong>display:inline-block</strong>; という行を渡します。 -height:18px; margin:0px 2px; 背景色:rgb(249,242,244)">php を実行します。
PHAR: <codecourier new font-size:15.75px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">--check<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><codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent>curl -sS https://getcomposer.org/installer | php -- --help
<codecourier new font-size:15.75px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">--helpこれにより、実行可能なコマンドのリストが返されます。 </codecourier></codeandale></precourier></codecourier></codeandale></precourier></p>
<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><codecourier new font-size:27px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:33.75px; margin:0px 2px; background-color:rgb(249,242,244)">composer.json:项目安装<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.json 文件。该文件包含了项目的依赖和其它的一些元数据。<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>这个 JSON format 是很容易编写的。它允许你定义嵌套结构。<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><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>关于 <codecourier new font-size:21.6000003814697px padding:0px color:inherit border:1px solid rgb>display:inline-block; line-height:27px; margin:0px 2px; background-color:rgb(249,242,244)"><strong>require</strong> Key<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>第一件事情(并且往往只需要做这一件事),你需要在 <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.json 文件中指定 <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> key
的值。你只需要简单的告诉 Composer 你的项目需要依赖哪些包。<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><codeandale mono font-size:undefined padding:0px color:inherit direction:ltr word-spacing:normal word-break:normal background-color:transparent>{
"<strong>require</strong>": {
"monolog/monolog": "1.0.*"
}
}
<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>你可以看到, <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> 需要一个 <span>包名称</span> (例如 <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)">monolog/monolog)
映射到 <span>包版本</span> (例如 <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)">1.0.*)
的<strong>对象</strong>。<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><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>包名称<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>パッケージ名はベンダー名とそのプロジェクト名で構成されます。通常、同じプロジェクト名を作成するのは簡単で、サプライヤー名の存在により、名前の競合の問題がうまく解決されます。これにより、2 人の異なるユーザーが <codecourier new line-height:18px>json であり、その後は <codecourier new font padding:0px color:inherit border:1px solid rgb>表示:インラインブロック; マージン:0px 2px; igorw/json および <codecourier new>seldaek/json.<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)">json 的库,而之后它们将被命名为 <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)">igorw/json 和 <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)">seldaek/json。<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>这里我们需要引入 <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)">monolog/monolog,供应商名称与项目的名称相同,对于一个具有唯一名称的项目,我们推荐这么做。它还允许以后在同一个命名空间添加更多的相关项目。如果你维护着一个库,这将使你可以很容易的把它分离成更小的部分。<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><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>包版本<phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>在前面的例子中,我们引入的 monolog 版本指定为 <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)">1.0.*。这表示任何从 <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)">1.0 开始的开发分支,它将会匹配 <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)">1.0.0、<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)">1.0.2 或者 <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)">1.0.20ここでは <codecourier new font-size:14.3999996185303px color:inherit border:1px rgb>表示:インラインブロック; マージン:0px 2px; > の場合、ベンダー名はプロジェクト名と同じです。これは、一意の名前を持つプロジェクトに推奨されます。また、後で同じ名前空間に関連プロジェクトを追加することもできます。ライブラリを保守する場合、これにより、ライブラリをより小さな部分に簡単に分割できるようになります。 <phelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px>🎜<h3helvetica neue grande sans gb yahei micro hei color:rgb margin-top:1.2em margin-bottom:0.6em font-size:24px>パッケージのバージョン 🎜🎜 前の例では、1.0.*。これは、<codecourier new padding:0px color:inherit:0px> 開発ブランチが開始されました。<codecourier new color:inheritrgb>; 行の高さ: 18px; マージン: 0px 2px; 背景色: rgb(249,242,244)"> 1.0.0、<codecourier new font-size:14.3999996185303px :0px rgb>表示:インラインブロック; 背景色:0px; >1.0.2 または <codecourier new rgb>; line-height:18px; margin:0px 2px; 背景色:rgb(249,242,244)">1.0.20 🎜🎜バージョン制約は、いくつかの異なる方法で指定できます。 🎜<tablehelvetica neue grande sans gb yahei micro hei font-size:16px line-height:28.7999992370605px><thead><tr>
<th>名前</th>
<th>インスタンス</th>
<th>説明</th>
</tr></thead>
<tbody>
<tr>
<td>正確なバージョン番号</td>
<td><codecourier new>表示:インラインブロック; マージン:0px 2px; 1.0.2パッケージの正確なバージョンを指定します。表示: インラインブロック; 行の高さ: 18px; マージン: 0px 2px; 背景色: rgb(249,242,244)">>=1.0 <codecourier new font-size:>>=1.0,<2.0</code><codeCourier New',monospace; font-size:14.3999996185303px;padding:0px 4px; color:inherit; border:1px Solid rgb(204,204,204); < strong> 表示: インラインブロック</strong>; 行の高さ: 18px; マージン: 0px 2px; 背景色: rgb(249,242,244)">>=1.0,<1.1|>=1.2 <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)">1.0.2</codecourier></codecourier></codecourier></td>
<td>你可以指定包的确切版本。</td>
</tr>
<tr>
<td>范围</td>
<td><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)">>=1.0 <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)">>=1.0,<2.0</code><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)">>=1.0,<1.1|>=1.2</codecourier></codecourier></td>
<td>通过使用比较操作符可以指定有效的版本范围。 <br>有效的运算符:<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)">>、<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)">>=、<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)"><</code>、<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)"><=</code>、<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)">!=</code>。 <br>你可以定义多个范围,用逗号隔开,这将被视为一个<span>逻辑AND</span>处理。一个管道符号<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)">|</code>将作为<span>逻辑OR</span>处理。 <br>AND 的优先级高于 OR。</td></tr><tr><td>通配符</td><td><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)">1.0.*</code></td><td>你可以使用通配符<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)">*</code>来指定一种模式。<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)">1.0.*</code>与<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)">>=1.0,<1.1</code>是等效的。</td></tr><tr><td>赋&#20540;运算符</td><td><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)">~1.2</code></td> 有効なバージョン範囲は、比較演算子を使用して指定できます。 <br>有効な演算子: <codeCourier New',monospace; パッド:0px 4px; ボーダー:1px; 表示:インラインブロック</strong> ; ライン高さ:18px; マージン:0px 2px; 背景色:rgb(249,242,244)">>、<codecourier new border:1px rgb>表示:インラインブロック; マージン:0px 2px;コード>、<codecourier new>display:inline-block;高さ:18px; マージン:0px 2px; 背景色:rgb(249,242,244)"><</code>、<codeCourier New',monospace; フォントサイズ:14.3999996185303px; パディング:0px 4px; カラー:継承 ; :1px ソリッド rgb(204,204,204); <strong>表示:インラインブロック</strong>; マージン:0px 2px; <codeCourier New',monospace:14.3999996185303px; パディング:0px 4px; ボーダー:1px 表示:インラインブロック</strong>; ; マージン:0px 2px; 背景色:rgb(249,242,244)">!=</code>。 <br>カンマで区切って複数の範囲を定義でき、<span>論理 AND</span> プロセスとして扱われます。パイプ シンボル<codeCourier New',monospace:14.3999996185303px;padding:0px 4px; <strong>display:inline-block</strong>; height:18px; margin:0px 2px; background-color:rgb(249,242,244)">|</code> は <span>論理和</span> として処理されます。<br>AND は OR よりも優先されます。 <td>🎜ワイルドカード🎜🎜<codeCourier New'、font-size:14.3999996185303px、カラー:1px、ソリッド rgb(204,204,204); ; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">1.0.*</code>🎜🎜ワイルドカードを使用できます<codeCourier New',monospace; font-size:14.3999996185303px; : 0px 4px; ボーダー: 1px ソリッド rgb(204,204,204); <strong>表示: インラインブロック</strong>; 背景色: 249,242,244; > *</code> でモードを指定します。 <codeCourier New',monospace:1px color:inherit;ブロック</strong>; 行の高さ: 18px; マージン: 0px 2px; 背景色: rgb(249,242,244)">1.0.*</code> および <codeCourier New',monospace; font-size:14.3999996185303px; :0px 4px; ボーダー:1px ソリッド rgb(204,204,204); <strong>表示:行の高さ:18px; 背景色:rgb(249,242,244); >>=1.0、<1.1</code> は同等です。 🎜🎜🎜代入演算子🎜🎜<codeCourier New',monospace; font-size:14.3999996185303px; color:inherit; border:1px; <strong>display:inline-block</これは、セマンティック バージョニングに従うプロジェクトに非常に役立ちます。<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)">~1.2</code>相当于<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)">>=1.2,<2.0</code>。詳細については、次のセクションをお読みください。 </td></tr></tbody></table><pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px"></p><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">次の大きなバージョン (チルダ演算子)</p><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; color:inherit; 1px ソリッド rgb(204,204,204); inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">~</code> 例で説明するのが最適です。フォントサイズ:14.3999996185303px; カラー:継承: 1px 行の高さ:18px; -color:rgb(249,242,244)">~1.2</code> は、<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)">>=1.2,、一方、<codecourier rgb :>~1.2.3 は <codecourier new font-size:14.3999996185303px padding:0px color:inherit border: rgb>表示:インラインブロック; マージン:0px 背景色:rgb(249,242,244)">>=1.2.3 1.3。ご覧のとおり、これはセマンティック バージョニングに従うプロジェクトに最も役立ちます。一般的な使用法は、 <codecourier new color:inherit rgb :inline-block>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">~1.2 (1.2 以降のバージョンは許可されますが、2.0 は許可されません)。理論的には、2.0 までは下位互換性の問題はありません。これは、 <codecourier new border:1px solid rgb>display:inline-block; margin:0px 2px; を指定します。最小バージョンですが、バージョン番号の最後の桁を増やすことができます。 <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)">~ 最好用例子来解释: <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)">~1.2 相当于 <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)">>=1.2,<2.0</code>,而 <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)">~1.2.3</code> 相当于 <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)">>=1.2.3,<1.3</code>。正如你所看到的这对于遵循 语义化版本号 的项目最有用。一个常见的用法是标记你所依赖的最低版本,像 <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)">~1.2</code> (允许1.2以上的任何版本,但不包括2.0)。由于理论上直到2.0应该都没有向后兼容性问题,所以效果很好。你还会看到它的另一种用法,使用 <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)">~</code> 指定最低版本,但允许版本号的最后一位数字上升。</p><blockquoteHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif"><p><span>注意:</span> 虽然 <codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">2.0-beta.1</code> 严&#26684;地说是早于 <codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">2.0</code><blockquoteHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif"><p><span>注:</span> <codeCourier New',monospace:15.75px; color:inherit; ボーダー:1px; 表示:インラインブロック</strong>; px; margin:0px 2px;background-color:rgb(249,242,244)">2.0-beta.1</code> 厳密に言えば、<codeCourier New',monospace; font-size:15.75px;padding:0px より前です。 4px ; カラー: 継承; 1px ソリッド rgb(204,204,204); <strong>行の高さ:19.6875px; 背景色:rgb(249,242,244); 2.0 </code> ただし、バージョンの制約に従って、
例えば<codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">~1.2</code> 却不会安装这个版本。就像前面所讲的 <codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">~1.2</code> 只意味着 <codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">.2</code> 部分可以改变,但是 <codeCourier New',monospace; font-size:15.75px; padding:0px 4px; color:inherit; border:1px solid rgb(204,204,204); <strong>display:inline-block</strong>; line-height:19.6875px; margin:0px 2px; background-color:rgb(249,242,244)">1.</code>の部分は修正されています。 </p></blockquote><pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px"></p><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">稳定性</p><pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px">默认情况下只有稳定的发行版才会被考虑在内。如果你也想获得 RC、beta、alpha 或 dev 版本,你可以使用 稳定标志。你可以对所有的包做 最小稳定性 设置,而不是每个依赖逐一设置。</p><pHelvetica Neue',Helvetica,'Lucida Grande',Arial,'Hiragino Sans GB','Microsoft Yahei','WenQuanYi Micro Hei',sans-serif; font-size:16px; line-height:28.7999992370605px"></p><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">安装依赖包</p><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)">composer.phar</code> 运行 <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)">install</code> 命令。</p><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)"><codeAndale Mono',monospace; font-size:undefined; padding:0px; color:inherit; direction:ltr; word-spacing:normal; word-break:normal; background-color:transparent">php composer.phar install
</code></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:18px;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.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 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 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)">composer.lock を含む) をリポジトリに追加します。display:inline-block</strong>; line-height:18px; margin:0px 2px; background-color:rgb(249,242,244)">composer.jsonこれは非常に重要です。 249,242,244)">install コマンドは、ロック ファイルが存在するかどうかを確認します。存在する場合は、指定されたバージョンがダウンロードされます (🎜 ファイル内の定義は無視されます)。🎜🎜これは、プロジェクトを構築するすべての人が、継続的統合サーバー、運用環境、チームの他の開発者、その他すべてが指定したものとまったく同じバージョンの依存関係を使用するため、デプロイメントに対する潜在的なバグの影響が軽減されます。プロジェクト単体では、6 か月後にプロジェクトを再インストールすると、依存関係の多くの新しいバージョンがリリースされているため、安心して作業を続けることができます。 🎜🎜 存在しない場合は、display:inline-block</strong> >; line-height:18px; margin:0px 2px; 背景色:rgb(249,242,244)">composer.lock ファイル、コンポーザー
🎜を読み取り、ロックファイルを作成します。 🎜这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 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>ログイン後にコピー
注意: 对于库,并不一定建议提交锁文件 请参考:库的锁文件.
Packagistpackagist 是 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 チュートリアルに興味のある友人に役立つことを願っています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31