PHPに入門してみる。phpbrewとIDEA+PHPプラグインでCakePHP3の準備。

2018-09-22 追記

結局phpを直接インストールするのをやめて、Dockerで遊ぶことにしました。PhpStorm+DockerでCakePHPの開発環境を作ってみた - Mitsuyuki.Shiiba

追記ココマデ

昨日も書いたとおりCakePHPに入門することにしたので。勉強しつつメモ。今日はCakePHPに触る準備までを目標にしてみる。

phpbrew?

github.com

色んなバージョンを簡単に切り替えられる方がいいよなーって思って、SDKMAN!とかrbenvみたいにそういうのないかなー?って見てたら、phpenvってのとphpbrewってのがあるみたいで、なんとなくの参考程度にGoogleトレンドで見てみてphpbrewにすることにしてみた。

phpbrewのインストール

ということで、ここを参考にして事前準備をして

Requirement · phpbrew/phpbrew Wiki · GitHub

このPCがUbuntu18.04だからphp7.0はないみたいなので、7.2にして入れといた。

apt install \
  php7.2 \
  php7.2-curl \
  php7.2-json \
  php7.2-cgi \
  php7.2-fpm \
  autoconf \
  automake \
  libxml2-dev \
  libcurl4-openssl-dev \
  libssl-dev \
  openssl \
  gettext \
  libicu-dev \
  libmcrypt-dev \
  libmcrypt4 \
  libbz2-dev \
  libreadline-dev \
  build-essential \
  libmhash-dev \
  libmhash2 \
  libxslt1-dev

んで、あとはここに書いてある通りにphpbrewをインストールしてinitして.zshrcに設定をいれて

phpbrew/README.ja.md at master · phpbrew/phpbrew · GitHub

phpbrew known したら動いたみたいで良かった。

f:id:bufferings:20180812152222p:plain

phpのインストール

さっきaptで入れたのが7.2.7みたいなので

❯ php -v
PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

7.2.8入れたらいいかな?と思って。あと、CakePHPを使いたいのでここを参考にして

[PHP] PHPBrewで複数のバージョンを使い分ける - YoheiM .NET

variantというもの?のphpbrewが用意してくれてるdefaultに、intlとmysqlを足してインストール。

❯ phpbrew install 7.2.8 +default +intl +mysql

結構時間がかかった。

❯ phpbrew list -v
* (system)
  php-7.2.8      
    Variants:  +intl +mysql +xml +opcache +bcmath +bz2 +calendar +cli +ctype +dom \
              +fileinfo +filter +ipc +json +mbregex +mbstring +mhash +mcrypt +pcntl +pcre \
              +pdo +pear +phar +posix +readline +sockets +tokenizer +curl +openssl +zip

ε-(´∀`*)ホッ

それをメインに

じゃ、それをメインにしよっと。

~
❯ phpbrew switch 7.2.8

~
❯ phpbrew list
* php-7.2.8      

~
❯ php -v
PHP 7.2.8 (cli) (built: Aug 12 2018 15:44:22) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

これで大丈夫そう。

戻すには?

あれ?aptで入れたやつを使うように戻すにはどうするんだろう?と思ったら phpbrew off で良いみたい。ちゃんと日本語ドキュメントに書いてあったや。ヘルプを見たら off は一時的に無効化で phpbrew switch-off がずっと無効化されるみたいね。

~
❯ phpbrew off

~
❯ phpbrew list
* (system)
  php-7.2.8      

~
❯ php -v
PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

ふむふむ。満足したので、7.2.8に戻しとこっと。

❯ phpbrew switch 7.2.8

IDEA + PHP Plugin

IDEAのライセンス持ってるので、そこにPHP Pluginを入れといた。

んで、CLIを設定。ここに置いてあるっぽいから

❯ phpbrew list -d
* php-7.2.8      
    Prefix:   /home/bufferings/.phpbrew/php/php-7.2.8

こんなんでいいんかな?

f:id:bufferings:20180812221502p:plain

CakePHPプロジェクト作成

Cakeのドキュメントを見た感じだとComposerというものを使って作るっぽいので雰囲気でやってみた。

https://book.cakephp.org/3.0/ja/quickstart.html#cakephp

PHPのComposerプロジェクトで

f:id:bufferings:20180812205429p:plain

チュートリアルにあるみたいに、cmsって名前のプロジェクトをcakephp/appで作ってみる。こんな感じかな?

f:id:bufferings:20180812222200p:plain

さっき設定したphp-7.2.8をinterpreterに選んで、チュートリアルについてた --prefer-dist ってオプションを足しといた。

しばらく待ったらできたっぽい(∩´∀`)∩ワーイ

f:id:bufferings:20180812222647p:plain

起動してみる

むむむ。IDEAからどうやって起動するんだろう?・・・んー、分からんしとりあえず、ターミナルから bin/cake server でいっか。

f:id:bufferings:20180812223756p:plain

(∩´∀`)∩ワーイ

今日はここまでかなー。次は、適当にチュートリアルに沿って進めてみるか。