ここでは未経験者がPHPで簡単なWEBアプリを作成するのに必要な知識をまとめます。
PHPについて
PHPって何?
昔から使われているプログラミング言語。
PHPの特徴とは?
HTMLと相性が良い。
PHPを実行する環境を作ろう
未経験者がPHPの実行環境を1から構築するのは大変で難しいので、ブラウザ上でコードのテストができる下記のサービスをまずは使っていきます。
https://paiza.io/ja/projects/new
実行環境を用意する場所で分類すると2つに分かれます。
- 手元のPCに構築(ローカル)
- 外部に構築(サーバや各種サービス)
テスト用途なら1、最終的WEBアプリを公開するには2が必要になります。
外部に構築する場合は、サーバの初期設定が済んでいるレンタルサーバがおすすめです。
例:さくらやxserver, GMO
ただし、レンタルサーバは管理者権限がなく自由度が低いため、自由度を求める場合はVPSやVPCを使います。
自由度はレンタルサーバ<VPS<VPCの順に高くなりますが費用も上がります。VPC(awsのec2など)
VPSとしてawsのlightsailを使用するパターン
- AWSに登録
- lightsail インスタンスを作成
- SSHの設定(鍵を登録)
- インスタンス構成でLAMPを選択していない場合はwebサーバー:apache(nginx), PHP, DB(MySQL)をインストール
- ドメイン取得(お名前.com等)
- DNSの設定
- webサーバ、PHP、DBの設定
というような流れになります。
PHPプログラムを書いて表示させる
PHPにプログラムを書いて何かを表示させてみます
PHPのプログラムは<?phpの間に書く
index.phpというファイルを作り、ここにプログラムを記述していきます。
Paiza.ioを使っている場合はMain.phpが勝手に作られるので何もしなくて良いです。
PHPのプログラムは<?phpと?>の間に書きます。
<?php
ここにプログラムを書く;
プログラムの末尾には;を書く
?>
testと表示するプログラムを書きます。
<?php
echo "test";
?>
実行するとtestと表示されます。
PHPのプログラムの実行結果の表示場所はブラウザ上とサーバ上の2種類あります。
サーバ上でPHPプログラムを実行すると実行結果はサーバ上のプロンプト上に表示されます。
=======hello.phpの中身=======
# cat hello.php
<?php
echo "hello world 1 <br>";
echo "hello world 2 hello world";
$text = "hello world 3\nkaigyou\n";
echo $text;
$text1 = <<<EOT
hello
world
4
EOT;
echo $text1;
?>
======hello.phpの実行========
# php hello.php
hello world 1 <br>hello world 2 hello worldhello world 3
kaigyou
hello
world
4
プログラム中の「\n」は改行の意味を持つ特殊文字です。
実行結果には「\n」は表示されずに代わりに改行されています。
このプログラムをブラウザ上から実行すると表示結果が変わります
https://example.com/hello.phpにアクセス
hello world 1
hello world 2 hello worldhello world 3 kaigyou hello world 4
ブラウザ上での表示結果はサーバ上とは異なっています。
改行はhello world1以外にはありません。
これはブラウザ上とサーバのプロンプト上では表示のルールが異なるからです。
ブラウザ上の改行は<br>という改行タグを用いて表現する必要があり、その他の\nなどは改行としては認識されていません。
PHPで用意されている関数の実行結果を表示する phpinfo()
次にPHPに元から用意されている関数・ビルトイン関数を呼び出して実行した結果を表示してみます。
phpinfo()という関数は元から用意されている関数で、実行するとPHPの設定情報を出力します。
https://www.php.net/manual/ja/function.phpinfo.php
<?php
phpinfo();
?>