新しいブログに引っ越しました

tomotomoSnippetは新しいブログに移動しました
http://develtips.com/

2015-12-19

とりあえず触ってみようPHP7 (using php7dev Vagrant box image)

この記事はPHPアドベントカレンダー2015の19日目の記事です。
Macなら比較的導入が簡単なPHP7、Windows?知らね?ってなインターネット上の風潮でWindowsユーザーは困っているのではないでしょうか。(PHP7に限らずですが)

というわけで、困ったらVagrant使いましょう。

ラスマス・ラードフ PHPの開発者です


今日使うのはphp7dev
PHP開発者のRasmus氏が作成してGithubに公開しています。
このVagrantを使って出来ないことは諦めましょう、と頭ん中の増永さんに教えてもらったので、取り敢えずPHP7触ってみようという方は使ってみましょう。
※ちなみに、この記事書いてる本人はMacで試したので、Windowsで動くかワカランチン。動かなかったらごめんね。Rasmusにフィードバックしてください。

インストール


$ git clone git@github.com:rlerdorf/php7dev.git
$ cd php7dev
$ vagrant up

あとはhostsファイルを更新しましょう
Macなら /etc/hosts (Windowsならググッて)以下の一行を追加。

192.168.7.7 php7dev

できたらブラウザでアクセスしてみましょう。

http://php7dev/


やったね!phpinfo()の内容が表示されたよ!


バーチャルマシンにログインしてみよう


VMにログインしてPHPとPearのバージョンを確認してみましょう。

$ vagrant ssh
vagrant$ php -v
vagrant$ pecl version


PHP7.0.0dev と Pear1.10.1が入っているようです。



私個人的にはMongoDBが使えるか試してみたかったのですが、残念ながらまだサポートはされていないようです。こちらのシリーズはしばらくお休みします。。。)
頑張れPEARプロジェクト!


コードを書いてみよう

README.mdによるとシェアフォルダーの設定をphp7dev.yamlに書かなきゃらしいですが、面倒なのでVM内で直接ファイル作っちゃいます。
※vagrant provisionするたびに作成したファイルが消えちゃうと思うので、気をつけてください。

まずは、web rootがどこなのか確認しましょう。

vagrant$ less /etc/nginx/conf.d/default.conf

/var/www/default らしいので、適当にcode.phpという名前で作っちゃいます。

vagrant$ cd /var/www/default/
vagrant$ sudo vi code.php


<?php
$string = $_GET['name'] ?? '名無しさん';
echo 'ようこそ!'.htmlspecialchars($string);

ようやくPHPのコードが出てきました。ε-(´∀`*)ホッ
PHP7で新しく実装された??演算子(何て読むんだろう?)を使って、クエリストリングにnameがあればそれを内容を表示して、なければ「名無しさん」を表示するという簡単なコードです。
??演算子については、9日目の記事「??演算子を使ってみた」でも書かれているので、質問はそちらの筆者に投げてください。

では、早速ブラウザでアクセスしてみましょう。


よかった、出来ました!

やってみて思いましたが??演算子は、使う時に注意が必要ですね。
変数そのものがなければ、代わりの値を設定してくれますが、値が空だった場合に困ります。今回のケースの場合は素直に?演算子(三項演算子)とempty()関数を使った方が良さそう。

<?php
$string = !empty($_GET['name']) ? $_GET['name']: '名無しさん';
echo 'ようこそ!'.htmlspecialchars($string);

実際に使ってみないと気づかない点がありますので、ぜひ皆さんもPHP7を「とりあえず」触ってみましょう〜!

明日は、ara_ta3の記事です。

0 件のコメント:

コメントを投稿

人気のエントリー