Spaghetti Coder's Memo

趣味のことを書いていこうと思います。

MacでイケてるPHP開発環境を構築する

仕事でPHPの開発環境を構築する必要あったので、その時のメモです。

インストール環境や実際にインストールしたツール類は以下です。

  • macOS Mojave (10.14.x)
  • PHP 7.2
  • Composer 1.8.4
  • PhpStorm 2018.3

PHPのアップデート

macOSのMojaveにバンドルされているPHPのバージョンは7.1で最新ではないのでアップデートします。
最新バージョンのPHPmacOS 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が起動するとファイル群が生成されています。
f:id:johnny5532:20190303023143p:plain

あとはテストコードとソースコードをゴリゴリ書いていけば良いだけです。

最後に

私が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が生成されます。

総評

macの方はnvmかndenvのどちらか、Windowsの方はnodistを使うのが良いでしょう。