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 件のコメント:
コメントを投稿