MacでイケてるPHP開発環境を構築する
仕事でPHPの開発環境を構築する必要あったので、その時のメモです。
インストール環境や実際にインストールしたツール類は以下です。
PHPのアップデート
macOSのMojaveにバンドルされているPHPのバージョンは7.1で最新ではないのでアップデートします。
最新バージョンのPHPはmacOS Mojaveに上手くインストールできないようなので、下記リンクに従って新たにインストールします。
macOS MojaveでLiip PHPのインストール - Qiita
curl -s https://php-osx.liip.ch/install.sh | bash -s force 7.2
以下にインストールされているので、パスを通す。
/usr/local/php5/bin
インストールが完了したらバージョンを確認。
$ php -v PHP 7.2.9 (cli) (built: Aug 21 2018 07:42:00) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans
この時、バージョン表示されるまでに時間がかかることがあるのですが(機種依存)、
その場合はここを参照すると幸せになれるかも。
Composerのインストール
PHPのパッケージ管理ツールです。ここを参照してダウンロードしてください。
完了するとカレントディレクトリにcomposer.pharが置かれていると思いますので、パスが通っているディレクトリに移します。
sudo mv composer.phar /usr/local/bin/composer
バージョン確認して以下が出力されればOKです。
$ composer -v ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.8.4 2019-02-11 10:52:10
PhpStormのインストール
PHPの統合開発環境です(有償)。
www.jetbrains.com
PHPのパス設定
[Preferences] > [Languages & Framework] > [PHP]からPHPのパス設定をします。
- PHP language levelを7.2に設定する
- CLI InterpreterにインストールしたPHPを設定する
これを設定しておかないと、プロジェクトごとに設定することになってしまいます。
コマンドラインラウンチャのインストール
一旦、適当なプロジェクトを作成してみてください。
その後、[Tools] > [Create Command-line Launcher...]を選択して、コマンドラインツールのインストール先を指定します。
ここでは、
/usr/local/bin/pstorm
としています。
スケルトンからプロジェクトを作成
PhpStormとは直接は関係ありませんが、プロジェクトのスケルトンを自動生成してくれるツールです。今回の記事のメインはむしろこれです。
github.com
$ cd project-name-dir
$ composer create-project koriym/php-skeleton sample
実行したらパッケージ名とか開発者名を聞かれるので、こんな感じに入力。
What is the vendor name ? (MyVendor):Hoge What is the package name ? (MyPackage):ProjectName What is your name ? (hogeFuga):Hoge Fuga What is your emaill address ? (hoge_fuga@sample.com):
完了したら、コマンドラインラウンチャを実行する。
$ psotrm .
PhpStormが起動するとファイル群が生成されています。
あとはテストコードとソースコードをゴリゴリ書いていけば良いだけです。
最後に
私がPHPに触っていたのは10年前だったので、びっくりするくらいモダンな言語になってて驚きました。
Node.jsのバージョン管理どうしてる?
Node.jsのバージョン管理ツールを探そうとすると、人によってはnvm派だったり、nvmからnodebrewに乗り換えた人がいたり、初心者には「結局どれを使ったらいいのよ?」っていうサッパリな状態だったのでまとめてみました。
人気度
Google先生に「node.js バージョン管理」と聞いて、いくつか出てきた中のnvm, nodebrew, nodist, ndenvの過去5年間の人気度を調べてみました。
圧倒的にnvmが優勢ですね。他に目を向ける必要はなさそうです。
使い方
基本機能
Node.jsのバージョンアップや切り替えの仕方など基本的な操作はどれを使っても大きな違いはありませんでした。 なお、Windowsユーザーはnodist一択のようです。
プロジェクトごとのバージョン管理
プロジェクトごとに使用するNode.jsのバージョンを管理したいということはよくあると思います。
nvm
$ echo "5.9" > .nvmrc $ echo "lts/*" > .nvmrc # to default to the latest LTS version $ echo "node" > .nvmrc # to default to the latest version
実際にNode.jsのバージョンを設定して使用するには以下のコマンドを実行します。
$ nvm use Found '/path/to/project/.nvmrc' with version <5.9> Now using node v5.9.1 (npm v3.7.3)
nodebrew
nodebrewではできないようです。
nodist
> nodist local 4.x # Sets the node version requirement per directory (including all subdirectories).
ndenv
ndenv local v6.10.0
ディレクトリ直下に.node-versionが生成されます。