PHP 拡張パッケージをあちこちで探すのはやめましょう。最新の言語では、パッケージ マネージャーは基本的に標準です。 Java には Maven、Python には pip、Ruby には gem、Nodejs には npm があります。 PHP は PEAR を使用しますが、PEAR には多くの落とし穴があります。
##● 依存関係の処理で問題が発生しやすい##● 設定が非常に複雑である
## ● コマンド ライン インターフェイスの使用が難しい幸いなことに、PHP の依存関係を管理するための強力なツールである Composer拡張パックをダウンロードしすぎると、さまざまなインクルードが必要になります。また、名前空間の競合が発生する可能性もあります。プロジェクトに応じて名前空間を変更する必要があります。拡張パックがアップグレードされている場合は、次のことが必要です。再度ダウンロードしてください。編集、これは非常に不便です。そこで、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 config -g repo.packagist composer https://packagist.phpcomposer.com
{ "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
##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 サイトの他の関連記事を参照してください。