PHPのComposerでは、実行するphpのバージョンを依存関係として指定できます。
現在開発している端末のphpバージョンを依存関係に加えるには、composer require php
を実行すればよいです。
実行例
まずは、現在使っているphpのバージョンをphp -v
コマンドで確認します。
$ php -v
PHP 8.0.3 (cli) (built: Mar 4 2021 20:42:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies
with Zend OPcache v8.0.3, Copyright (c), by Zend Technologies
次に、ファイルが何もないフォルダでcomposer require php
を実行します。
$ composer require php
Using version ^8.0 for php
./composer.json has been created
Running composer update php
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Writing lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
すると、composer.json
、composer.lock
とvendor/
ディレクトリが作成されます。
ls -l
total 16
-rw-r--r-- 1 aka staff 49 Apr 21 21:21 composer.json
-rw-r--r-- 1 aka staff 598 Apr 21 21:21 composer.lock
drwxr-xr-x 4 aka staff 128 Apr 21 21:21 vendor
作成されたcomposer.json
の中身を表示すると以下のようにphpのバージョン8.0.xが依存関係として登録できました。
$ more composer.json
{
"require": {
"php": "^8.0"
}
}
ventor/
ディレクトリも作成されていますが、中身を見ると、composer自身のautoloadに関する情報が生成されているだけで、パッケージはインストールされていません。
$ tree vendor
vendor
├── autoload.php
└── composer
├── ClassLoader.php
├── InstalledVersions.php
├── LICENSE
├── autoload_classmap.php
├── autoload_namespaces.php
├── autoload_psr4.php
├── autoload_real.php
├── autoload_static.php
├── installed.json
├── installed.php
└── platform_check.php
こちらもおススメ