ホームページ > 開発ツール > composer > Composer の依存関係管理 (PHP ツール)

Composer の依存関係管理 (PHP ツール)

藏色散人
リリース: 2020-01-26 16:01:35
転載
4236 人が閲覧しました

Composer の依存関係管理 (PHP ツール)

PHP 拡張パッケージをあちこちで探すのはやめましょう。最新の言語では、パッケージ マネージャーは基本的に標準です。 Java には Maven、Python には pip、Ruby には gem、Nodejs には npm があります。 PHP は PEAR を使用しますが、PEAR には多くの落とし穴があります。

##● 依存関係の処理で問題が発生しやすい

##● 設定が非常に複雑である

## ● コマンド ライン インターフェイスの使用が難しい

幸いなことに、PHP の依存関係を管理するための強力なツールである

Composer

があります。オープンソースで使いやすく、独自のパッケージを送信するのも簡単です。 たとえば、最初からフレームワークを使用せず、検証コードが必要な場合は、まず Gihutb などにアクセスして検証コード クラスを見つけ、それをプロジェクトに含める必要があります。実行を開始するとすぐに、後のプロジェクトのメンテナンスで問題が発生する可能性があります。 Github 上のオープンソースの場合は、「監視」をクリックしてバグ修正や新しいバージョンがリリースされているかどうかを確認し、タイムリーにアップグレードをフォローアップできます。

拡張パックをダウンロードしすぎると、さまざまなインクルードが必要になります。また、名前空間の競合が発生する可能性もあります。プロジェクトに応じて名前空間を変更する必要があります。拡張パックがアップグレードされている場合は、次のことが必要です。再度ダウンロードしてください。編集、これは非常に不便です。そこで、Composer 依存関係管理ライブラリが誕生しました。

上記は、Compser のより重要な需要シナリオです。

#1. 拡張パックを簡単にインストールおよびアップグレードできる2. インクルードするだけで、どこにでもインクルードを記述する必要はありません

3. 名前空間の競合を回避します

拡張パッケージを探すのに普段はGithubやCode Cloudなどを利用していますが、今では全てのパッケージをまとめたWebサイトがあり、packagistで検索してComposerでインストールして開発するのが現在の開発方法です。アップグレードします。

Composer のインストール

確実なインストールを行うには、https://getcomposer.org/Composer-Setup.exe をクリックし、インストール プログラムをダウンロードしてインストールします。 Composer をダウンロードし、PATH 環境変数を設定すると、任意のディレクトリから Composer を呼び出すことができます。 インストール プロセス中は、php.exe のルート ディレクトリを見つけて、正しい PHP パスを選択することに注意する必要があります。まだダウンロードしておらず、手動でインストールしたため、ここではスクリーンショットは提供しません。

選択されたディレクトリは次のようになります:

D:\phpStudy\php\php-7.0.12-nts\php.exe
ログイン後にコピー

以下では手動インストールに焦点を当てます。この方法は非常に使いやすいと思います:

まず、composer.phar ファイルをダウンロードし、phar ファイルを開発者フォルダーに配置します。これは必要に応じて行うことができ、配置するフォルダーに制限はありません。

次に、DOS ウィンドウを開くか、ショートカット キー Windows R を使用して cmd を入力し、次のコマンドを使用します。まず、phar ファイルを配置したディレクトリに入ります。

D:\developer\composer>echo @php "%~dp0composer.phar" %*>composer.bat
ログイン後にコピー

インストール成功の兆候コマンドラインに入力することです

composer -v
ログイン後にコピー

次の内容を表示

##これが表示されると、Composer がインストールされていると思われます中国 LAN では Composer を使用します 比較的遅いですが、幸いなことに国内ミラーがあります。次のコマンドを実行して国内ミラーに切り替えます。国内ミラーの機能は、すべてのインストール パッケージとメタデータを国内コンピュータにキャッシュすることです。国内のCDN経由で高速化できるため、海外のWebサイトにリクエストする必要がありません。 Composer の依存関係管理 (PHP ツール)

composer config -g repo.packagist composer https://packagist.phpcomposer.com
ログイン後にコピー

これを行うことは、構成をグローバルに変更することと同じです。私は、現在のプロジェクトのcomposer.json構成ファイルを変更することにしました:

{
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}
ログイン後にコピー

Composer 共通コマンド

selfupdate

Composer 自体を更新します。Composer を常に最新の状態に保つために、composer selfupdate を頻繁に実行してください。バージョン。 <strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer selfupdate</pre><div class="contentsignin">ログイン後にコピー</div></div></strong>

composer self-update
ログイン後にコピー

dumpautoload

##composer.json ファイルの自動ロードを変更する場合は、composer を実行する必要があります。 dumpautoload を使用すると、自動ロードがすぐに有効になります。インストールまたは更新コマンドを実行する必要はありません。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer dumpautoload</pre><div class="contentsignin">ログイン後にコピー</div></div><strong>と同等の </strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer dump-autoload</pre><div class="contentsignin">ログイン後にコピー</div></div>dumpautoload コマンドには、一般的に使用される 2 つのオプションがあります:

--optimize (-o): PSR-0/4 の自動ロードをクラスマップに変換して高速化します。読み込み速度。これは実稼働環境に特に適していますが、実行に時間がかかる可能性があるため、現在はデフォルトではありません。

--no-dev: autoload-dev ルールを無効にします。

install

composer install
ログイン後にコピー

現在のcomposer.lock(ロックファイル)またはcomposer.jsonファイルによると、ディレクトリに依存関係を定義し、依存関係パッケージをインストールします。 インストール コマンドは、まず、composer.lock ロック ファイルが存在するかどうかを確認し、存在する場合は、composer.json ファイル内の定義を無視して、composer.lock ファイルに指定されたバージョンをダウンロードします。

# 查看 composer install 的帮助信息
composer install -h
# 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖
composer install --no-dev
ログイン後にコピー

update

依存関係のバージョンを更新するか、composer.json の依存関係を変更する場合は、composer を次のようにします。 combos.json ファイルで定義されているように更新操作を実行するには、update コマンドを使用します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">composer update</pre><div class="contentsignin">ログイン後にコピー</div></div><strong> </strong>

require

require 命令一般用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。

如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。

<strong>composer require</strong>

你也可以直接在命令中指明需要安装的依赖包。

composer require barryvdh/laravel-ide-helper
ログイン後にコピー

--dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开发环境,建议加上 --dev 选项。

composer require --dev barryvdh/laravel-ide-helper
ログイン後にコピー

<strong>create-project</strong>

你可以使用 create-project 从现有的包中创建一个新的项目。

它相当于执行了 git clone 命令后,将这个包的依赖安装到它自己的 vendor 目录。

此命令有几个常见的用途:

你可以快速的部署你的应用。

你可以检出任何资源包,并开发它的补丁。

多人开发项目,可以用它来加快应用的初始化。

# 安装 Laravel 项目
composer create-project --prefer-dist laravel/laravel blog 5.5.*
ログイン後にコピー

如果没有指定版本号,就默认安装最新的版本。

--prefer-dist: 当有可用的包时,从 dist 安装。

phpStudy集成环境下 安装composer失败

报错提示:

The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
The "https://getcomposer.org/download/1.2.0/composer.phar.sig" file could not be downloaded: SSL: crypto enabling timeout
Failed to enable crypto
failed to open stream: operation failed
ログイン後にコピー

1、安装composer需要开启openssl拓展 而phpstudy默认是关闭的

2、将php目录下的ssleay32.dll,libeay32.dll以及php/ext文件夹下的:php_openssl.dll 3个文件拷贝到WINDOWS\system32 文件夹下。

3、openssl需要CA证书 phpstudy也是没有的

CA证书下载地址:

http://curl.haxx.se/docs/caextract.html

选中之后单击右键选择另存为

下载成功之后放到tmp文件夹下面

4、然后修改php.ini文件

openssl.cafile = "D:\phpStudy\tmp\cacert.pem"
ログイン後にコピー

5、重启phpStudy就可以了报错提示:

failed to open stream: HTTP request failed!
ログイン後にコピー

1、检查一下php的curl拓展是否开启

2、检查这两个配置是否开启。

allow_url_fopen = On
user_agent="PHP"
ログイン後にコピー

 

也可以这样配置 user_agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")

模拟浏览器访问也是一个不错的选择

3、开启之后重启重启phpStudy就可以了

 

PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的

更多composer相关技术文章,请访问composer栏目:https://www.php.cn/tool/composer/

以上がComposer の依存関係管理 (PHP ツール)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート