見出し画像

#36-39 PHP basic

プログラミング学習コースの20%が終わり、いよいよPHP学習の始まりです。今日はPHPの基本を復習します。



PHPとは


PHP はHypertext Preprocessorの略で、特にWeb開発に適したオープンソースの汎用スクリプト言語です。
もとはRasmus Lerforfという人が1994年に開発した言語で、その時はPersonal Home Pageの頭文字をとってPHPにしたそうです。

PHPを使うには、WindowsユーザーはXAMPPを、MacユーザーはMAMPを使う必要があります。MAMPでは別途設定が必要になりますが、ここでは割愛します。

Syntax for PHP


PHPでコードを書くには次のsyntaxを使います。
<?php
 echo "This is a PHP statement.";
?>
<?php?>:PHPであることをパソコンに指示する
echo:ブラウザ上でアウトプットを出すためのsyntax。""を忘れずに。
printというsyntaxでもブラウザ上にコードのアウトプットを表示させることができますが、echoの方が早く、複数の引数(argument)を書くことができます。
   print "only one argument";
   echo "argument1", "argument2";
→複数のargumentを書く時は  ,  もしくは  .  で繋げます。
     echo "Red" , "Green" , "Blue" , "<br>";
     echo "My name is " . "John " . "Smith!" . "<br>";

; はそのコードが終わりであることを指示するためのterminator
//# コメントを書く時はこの2種類のどちらかで書き始めます。

Variables


$ :データを格納する
注意)
variableは数字や@などの特殊記号からは始められない。X  $2name /  $@name
-は名前として使えない。X   $first-name

その他:
var_dump();
入力したデータのtypeとvalueを出力します。

Data Types


variable($)に格納できるのはtext, whole number(正, 0, 負の整数), fractional number(少数。少数点は.で表す), true or falseの4種類。
Text -> $holiday = "Happy Wednesday";
whole number -> $age1 = 60;
fractional number ->   $square_meters = 60.75;
boolean ->  $pain = true;
                    $rich = false;

Operators-四則演算など


四則演算と余りを計算するのに使うのは次のsyntax。
$sum = $num1 + $num2;
$difference = $num1 - $num2;
$product = $num1 * $num2;
$quotient = $num1 / $num2;
$remainder = $num1 % $num2; //余りの計算

計算結果をアウトプットをするには以下のsyntax。
echo "The addition is: $sum <br>"; // $num1 += $num2
echo "The minus is: $difference<br>"; // $num1 -= $num2
echo "The multiply is: $product<br>"; // $num1 *= $num2
echo "The division is: $quotient<br>"; // $num1 /= $num2
echo "The modulo is $remainder<br>"; // $ num1 %= $num2
<br>は改行です。これがないと、結果が横一列に並んでしまうので見やすくするために入れています。

Comparison


データがOOである場合、という場合分けをするために使うsyntaxは以下の通りです。コードの結果はOOであるかOOでないか、つまりtrueかfalseの2通りのみです。
== #Equal。valueのみをチェックするので例えば10でも"10"でも同じ扱いとなり、結果はtrueとなります。
=== #Identical。Equal(==)と違い、完全一致の場合のみtrueとなります。

$num3=10, $num4="10$として、場合分けをするためのsyntaxであるif(){else};を使うと
if($num3 == $num4){     //output still the same if 10 or "10"
  echo "This is a Equal number";
}else{
  echo "This is not equal!";
}
->この場合、This is a Equal numberが出力されます。

if($num3 === $num4){    
  echo "This is a Equal number";
}else{
  echo "This is not equal!";
}
->この場合、This is not equal!が出力されます。

!= or <> # Not equal
> #Greater than
< # Less than
>= Greater than or equal to
<= Less than or equal to


Increment


variableのvalueに1を連続して足すためのsyntax
ここでは$num1 = 5としましょう。
echo ++$num1; 
echo $num1++; 
->どちらもoutputは6ですが、以下のような違いがあります。

ex)
$i = 4;
$j = $i++;
// Now, $i = 5 and $j = 4. $jでは1が足される前の値がoutputになります。

$i = 4;
$j = ++$i;
// Now, $i = 5 and $j = 5 $jでは1が足された後の値がoutputになります。

Form Handling


HTMLでは<form>tagを使ってformの作り方を勉強しました。リンクを以下に貼っておきます。

<form>tagにはactionとmethodがあり(<form action="" method=""></form>)HTML学習時にはactionとmethodの説明の詳細は飛ばしていました。PHPを学ぶとそれらがどういう役割を持っているのかが分かります。

action="":""内にはフォームに入力した内容をかきこむための、フォームのページとは異なるページのファイル名を入力します。
method="":getかpostの2通り。getは機密性が低く、URLにフォームの入力内容が表示されてしまいます。また、入力内容に制限がかかります。postだとnameとvalueを非表示にできます。

具体的なフォームの例をもとに、syntaxをおさらいします。

フォームの例

上記のスクリーンショットのようなフォームを作りたい場合、ブラウザに表示するためのフォームのコードを書くためのファイル(ファイル名:pg-sum-act.php)と、入力したデータの計算結果を表示させるためのファイル(ファイル名:pg-sum-act-form.php)の2種類をHTMLで作ります。具体的なコードは以下の通り。

pg-sum-act.phpのコード:

ブラウザに表示するためのフォームのコード

<input>tagで2つの入力内容について異なるnameとidを与えます。

pg-sum-act-form.phpのコード:

入力したデータの計算結果を表示させるためのファイル

<body></body>の中に<?php?>を埋め込みます。
if(isset($_POST['submit'])){                                   
   $number1_post = $_POST['number1_input']; 
     $number2_post = $_POST['number2_input'];
     $sum = $number1_post + $number2_post;
     echo "<h2>Number is submitted using POST method: $sum</h2>";
}
11行目:データがsubmitされた場合
12行目:pg-sum-act.phpのファイルで指定したnumber1_inputの入力内容を $number1_postに格納
13行目:12行目同様
14行目:$number1_postと$number2_postの合計を$sumに入力
15行目:12~14行目までの内容のoutput

first numberに5を、second numberに7を入力してCalculateボタンを押した場合、次のページ(pg-sum-act-form.phpのアウトプット)に飛びます。

計算結果

今日はここまで!
今回も読んでいただき、ありがとうございました。😊
今回学んだformのように、これまで勉強してきた内容と今勉強している内容がつながると、Home page作成の全体像を想像する手がかりになって面白いです。学習プログラムはあと8割残っておりますが、本業と両立しつつ明日からも頑張ります!🤸‍♂️


筆者が受講中のKredoの公式ラインはこちらです。 未経験からwebエンジニアに転職した卒業生の方の体験記なども載っているので ぜひ覗いてみてください!

Kredoについて詳しく知りたい方はぜひこちらもご覧ください。😊






 


いいなと思ったら応援しよう!