PHPを使いこなしてWebアプリを作って稼ぎたい仕事につきたいな。
PHPは難しいのでしょうか。簡単で面白いです。
頭でっかちになってはだめです。
プログラム言語を習得するコツは、1にコードを書く、2にコードを書く、3、4休んで、5にコードを書くことです。
“Shut the fuck up and write some code”
不明
「つべこべ言ってないでコード書け」の言葉通り習うより慣れろ。
PHP学習のためにこれから何回かに分けてブログを製作していきます。
今回は、第1回目です。軽くPHPの練習をした後、簡易サーバーを立ててクライアントとサーバー通信がいかに簡単にできるか解説します。
簡単です。誰でもできます。
まずPHPを扱えるようにしましょう。macの場合は、ターミナルを開いて、「php -a」と入力します。
こちらの記事をご覧ください。
オンラインエディター「paiza.io」でも同じことができます。オンラインで、書いたコードをリアルタイムで試せるエディターです。
世の中にはこんな便利なエディターがあるんですね!
定番の「Hello World!」です。下のコードと同じように打ってみましょう。
echo "Hello World";
Hello World!とでましたね。
echo 1 + 1;
echo 2 - 1;
echo 2 * 2;
echo 2 / 2;
答えが下に出てきましたね。もうわざわざ電卓をだす必要がなくなりました。
変数は、よく箱みたいなものと例えられます。
PHPの場合、ルールで変数の名前の前に「$」をつけます。
1番最初に計算した「1+1」の答えを変数、$answerに入れた後、計算をします。
$answer = 1 + 1;
echo 2 - 1;
echo 2 * 2;
echo 2 / 2;
echo $answer;
echo $answer - 1;
「echo $answer」 を打つと、「2」が出てきて、「echo $answer – 1」を打つと、「1」が出てきましたね。
変数は数を保存ができて計算に使えます。
$answer = 1 + 1;
echo $answer;
echo $answer = 3 + 3;
echo $answer;
最初の「echo $answer」では、2になって、次の「echo $answer」では、6になりましたね。
変数は中身も自由に変えることができます。代入といいます。
$answer = "答え";
echo $answer;
どうでしょうか。「答え」がでてきましたね。
変数は、数だけではなくて文字も保存できます。
今回の練習はこのへんまでにします。簡単でしたよね。
では、ブログを作成していきます。
macで説明をしていきます。
手順です。
#<自分のユーザー名>はご自身の環境に変えてください
#2 「blog」というフォルダをつくります
mkdir /Users/<自分のユーザー名>/Documents/blog
#3 フォルダまで移動
cd /Users/<自分のユーザー名>/Documents/blog
#4 「index.html」と「blog.php」作成
touch index.html
touch blog.php
#5 サーバー立ち上げ
php -S localhost:8000
localhost:8000 を開くと真っ白いページがでてきましたか。OKです。あっという間にサーバーが立ち上がりました!
「blog」フォルダ内の「index.html」を編集してみましょう。
標準のテキストエディターは編集しにくいので、mi – テキストエディタ をインストールしましょう。
インストールできましたでしょうか。miで、index.htmlを開きます。
最初なにも書いていないので、次のコードを入れて保存してください。
<html>
<head>
<title>blog</title>
</head>
<body>
<h1>はじめまして!ブログ!</h1>
<form action="./blog.php" method="post">
<input type="text" name ="title"><br>
<input type="submit" value="送信">
</form>
</body>
</html>
<form action="./blog.php" method="post">
POSTは、HTTPメソッドと言われる通信方式の一つです。postという通信方式でサーバーに送りますということです。
localhost:8000 を開いてみてください。
ブログの最初の画面ができました!
ブラウザーとサーバーで通信をやり取りします。
htmlの入力フォームから送信されたデータをPHPで受け取ってみましょう。
次のコードを書いて保存して下さい。
<?php
$title = $_POST['title'];
echo $title;
?>
HTTPメソッド POSTという通信方式で送られてくるので、$_POST[‘title’]と書いてデータを受け取り、$title変数に入れます。
localhost:8000 を開いて入力フォームに「楽しい!PHPでブログ制作!」と入力して送信を押してみてください。
「楽しい!PHPでブログ制作!」とでてきましたね。
ブラウザー(クライント)でURLを入れてサーバーに「HTTPリクエスト」を送り、サーバーは、クライアントへ「HTTPレスポンス」返してます。
簡単にいうと、クライアントがサーバーにこのURLのページを見せるように頼み、サーバーはページの内容をクライアントに送りました。
先程、POSTで文字をクライアント(ブラウザー)からサーバーに送りました。
POSTは、サーバーにデータが届いた後、データベース等リソースの内容を変更する場合に使用します。
GETというHTTPメソッドもあり、サーバーのリソースから単に情報を得る場合に使用します。
例えば、web検索でデータベースの情報を引き出す場合はGETを使用します。
今回は、データベースに投稿内容を登録するので、POSTで通信します。
PHPでデータを受け取った後、PHP関数で、文字を変えてみましょう。
「楽しい!」を「面白い!」に変更します。
「str_replace」という関数を使います。
blog.phpを次のコードに変更してください。
<?php
$title = $_POST['title'];
$title = str_replace("楽しい", "面白い", $title);
echo $title;
?>
localhost:8000 を開いて入力フォームに「楽しい!PHPでブログ制作!」と入力して送信を押してみてください。
「面白い!PHPでブログ制作」に変わったと思います。
PHPは、簡単で楽しいですね。
今回は以上です。
本格的にPHP学びたいという場合は、スクール受講おすすめします。今回解説したあたりでしたら、はじめてのプログラミングコース とかです。
変数は値を保存ができ、中の値も変えることができる箱のようなものです。
ターミナルで、「php -S localhost:8000」 と打てば、あっという間にサーバーがたちあがります。
htmlで入力データを受け付け、PHPは受け取ったデータを処理します。
次回は、PHPで受信したデータをいろいろ加工してみたいと思います。
最後までお読みいただいて、ありがとうございます。