超初心者プログラミング講座 第3回 ~メッセージとコメント~
はじめに
さて、今回からはより細かくコードを交えてやっていこうと思います。
プログラミングでまずどんなサイトでもやることの一つ、文字や文章などを出力したり、コメントのつけかたを見ていこうと思います。
では、このnoteの通りだとxammpのコントローラーパネルを開きApacheをスタートして、ブラウザでlocalhostにアクセスし、VSCODEを開いて、編集予定のindex.phpを編集できるようにしましょう!
1.メッセージの表示
前回、少し載せたコードがあったと思います。
<?php
echo "超初心者プログラミング講座";
まずはこれでメッセージが表示できればOKということで、表示できていれば、そもそもメッセージの表示はできてますw
では、この今書いている中身を少し説明します。
・<?php は今からPHPのプログラム言語で書いていくよってサイン
・echo は出力して表示させるよ
・" " はこの間に出力させたい言葉とか書いてね
・; は一行はここまで~って感じ
ざっくりこんな感じwww
厳密にはいろんな細かいこともありますが、とりあえず今書いているコードについてはこんな感じで思ってください。
2.PHPの開始タグと終了タグ
では、次にPHPの開始タグと終了タグについてもう少し説明しようと思います。
<?php
?>
上側が今からPHPのコード書いていくよって合図の「開始タグ」
下側がここまでがPHPのコードで書いたよって合図の「終了タグ」と呼ばれていて、基本的にこの間にPHPのコードを書いていきます。
3.PHPのみだと終了タグは書かない!?
今回はindex.phpということで、あくまでもPHPファイルを編集しています。
PHPファイルだからといって、HTMLが書けないとか、CSSは書けないとか、JavaScriptは書いてはいけないということはありません。
<?php
?>
<html>
</html>
こんな感じで、ここはPHPだよ。ここはHTMLだよっていう具合に書くことができるのですが、実は、、、、
【PHPのコードしか書かない場合は終了タグは書くべきではない!】
そうなんです。今回のデモにしているシンプルなコードを見ていただくとわかりますが、実は終了タグ(閉じタグ)としての?>は書いておりません。
こちらもですね。もしもなんでやねん!?そんなん知らなきゃ気になって仕方ないわ!って方は是非調べてみてください♪
簡単に答えると、改行コードとかが悪さしたりでバグが起きやすくなるので、書かない方がバグとかは起きにくいらしいです。
もちろん、その下に違う言語、HTMLなどを書く場合は、一旦閉じてから、ここからはHTMLだよって開始タグを入れる必要があります。
4.シングルクオーテーションとダブルクオーテーション
これは文章の前後にある「” ”」をダブルクオーテーションと言います。
そして、同じような「' '」シングルクオーテーションというのもあります。
文字列、まぁ文章とか言葉とかを出力したりする際とかに、これ文字ですよ~的な感じで使うんですが、ぶっちゃけた話すると、どっち使っても良いんです。
じゃぁどっち使うとか本当にないのか?というと、少し踏み込んだ話をしましょう。
体感でわかるかどうかは微妙なとこですが、実は違いがあります!
①同じ内容が出力されるが、動作する速度が実は違う
ダブルクオーテーションを使う場合、また今度投稿しますが、今後すっごいお世話になる「変数」というものがあります。この変数にはいろんな情報とかデータを格納していくようなイメージなのですが、ダブルクオーテーションはそれらを展開、変換処理を行うように動くために、シングルクオーテーションよりも動作が遅くなります。
②変数展開を使うならダブルクオーテーション!
①で説明したように、変数というものを使うにはダブルクオーテーションを使っていかないといけません。
まだなんですが、一つ例を
$message = "プログラミング";
echo "超初心者{$message}講座";
echo '超初心者{$message}講座';
変数の使い方はまた説明しますからね!今回はなんかそんなもんだと思ってください!
上の出力結果は
超初心者プログラミング講座
超初心者{$message}講座
という結果になります。
ただ、こういう書き方ばかりするかというと、人それぞれかなと思います。
変数展開と考えずに、文字と変数を連結して組み立てる方法もあったりしますので、一概にこれが基本ということではありません。
あくまでも変数展開をダブルクオーテーションはしようとしながら出力しているよってことを覚えていただければと思います。
③ダブルとシングルを表示させてみる!
あくまでも今までは(””)(’’)は表示されてませんね。コードには書いているのに。
たまにというか、表示させたいなっていうときもあります。
そして、他でもこういう使い方はするので、見ておきましょう。
$message = '"Programing"';
echo $message;
$message = "'Programing'";
echo $message;
このように変数を使って書いてみました。
出力結果は
"Programing"
'Programing'
となります。
つまり””__””という使い方はしません。
’”__”’という形もしくは”’__’”というように囲むように使っていくのが基本になります。
この囲むという考えは他のタグなどにもあって、こっからここまで的なイメージは常に持っておいて損はないですね。
5.プログラムは上から順番
プログラムっていうのは、実は上から順番に一行ずつ処理を行っています。
これはHTMLとかもそうですし、そもそもYahooとかを閲覧する際も上から処理を行いながら表示させています。
なので、よく重いなってときとか上から順番に表示されたりしてませんか?
つい上の4.の③において、実はこの上から順番を使っています。
$message = '"Programing"';
echo $message;
$message = "'Programing'";
echo $message;
上から$messageという変数に"Programing"というのを格納し、echoで出力したあとに、再度$messageという変数に'Programing'というのを格納しなおして、echoで出力する。
つまり、うっかり上で入れたものを下で気づかずに使ったり上書きするようなことになると、一番下のが表示されたりするという感じになります。
このコードの処理の順番においても、なんかうまくいかないときに、順番を変えるとうまくいったりとかって実はあったりします。
6.文字の連結と改行
では一旦変数は忘れてくださいね。
<?php
echo "超初心者プログラミング講座";
echo "第3回";
最初のに一行言葉を増やしました。
この出力結果を見てみてください。
どうですか?
「超初心者プログラミング講座第3回」というように横にくっつきましたよね?
書いてるコードは改行して2行なのに、、、、
そういうものです!実はプログラムには「改行してね」っていうコードというかそういうのがあります。
なので、それが無い限り横にずらずら表示させてしまいます。
今回は連結ということなのですが、これはまだ連結ではありません。
二つの言葉をただ連続して表示させているだけです。
改行する際に、「PHP_EOL」というのを使う方もいます。
実はOSによったりで改行するためのコードが若干違ったりするんですね。
そこでのPHP_EOLを使うと、そのOSに対応する改行コードを出力してくれるんです。
といっても!要注意です!!
まぁ実際書いてみましょう!
<?php
echo "超初心者プログラミング講座".PHP_EOL;
echo "第3回";
さて、どうですか?localhostを更新でもして表示して、、、改行されました?されませんよねwww
実はコンソールって感じの奴で出力したら改行されますが、実際のブラウザ上は実はHTMLとしての認識になるので、OSの改行コードではなく、「HTMLで使う改行タブ」を使わないと改行されないんです。
<?php
echo "超初心者プログラミング講座";
echo "<br>";
echo "第3回";
このようにすることで、HTMLでのbrタグも出力させて改行をさせるという形ができます。
次に連結ですが、、、
<?php
$br = "<br>";
echo "超初心者プログラミング講座".$br;
echo "第3回";
今回は$brという変数に先ほどの改行タグを格納し、最初のechoの文章の後にピリオドをつけて、結合しています。
結合する際にはピリオド( . )です!
注意点として
echo "超初心者プログラミング講座.$br";
実は改行はされます。
ダブルクオーテーションにより、変数が開かれるので、、、しかし、ピリオドは結合ではなく、ただのピリオドって文字を出力してしまいます。
こういうところで、文字なのか?文字じゃないのか?っていうのは気にかけながら実は書いていく必要もあります。
7.echoと;セミコロン
では、今回のデモコードの最後になりますが、echoというのと、セミコロン(;)です。
単純にechoというのは、出力するって意味だと思っていただいて良いと思います。
実は出力する命令というのは他にもあるのですが、それはまたその内にさせていただきます。
とりあえず、文字を出力したいとか、なんか出力したい~ってときはechoでなんとかなりますwww
ここで脱線しますが、プログラミングの言語って、PHPだけじゃなく、それぞれにそれぞれの特性とか使い方とかあって、PHPができるから他のもできるわけでもないし、Cができるから他のってことにもならないと言えばならないんですが、でも、なんとなく大きい枠としてはやりたいことに対する命令の仕方ってのはなんとなく似ていて、、、
こういうechoとかにしても、なんか見たことないハングル文字でもないし、原住民の方が使う言葉でもなく、普通に英単語だったりが多いです。
例えば、条件分岐に使われるifなんて、もしもですよね。
もしもこういう条件に対してこういう結果だったらこういうことをする。
結構、略してる英単語とか多いです。
HTMLのタブなんてそうですね。そのままの意味合いもあるけど、略してるもの多いです。
今回のechoにしても、翻訳してみると、、、
エコー自体は、反響するとかこだまするとか、共鳴、繰り返し、、、、
そういう意味があるとなってると思います。
出力するというと、エコー違うやんって思うとこですが、、、
エコーバックって言葉を聞くとどうでしょうか?
ようするに、超初心者プログラミング講座って言葉は出ているのでそれを反響させて表示させている、、、そういうイメージの方が自分は意外としっくり来ています。
ただ、あの~~~こんな考えることじゃないですwww
文字出したいからecho これだけで十分www
そして、セミコロンですが、これは簡単に考えると命令の最後に必要なものなんですが、これがないと、ようはどこまでも延々とってイメージになります。
しかしセミコロンがあることで、まずは最初のechoをして、次に次のechoをするというようになります。
echo "@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@";
もしも、表示領域の影響などもあって、折り返されたり、改行とかしても良かったりするんですね。見やすいように。
そういうときも、その命令一つに対してセミコロンを上のようにします。
決して一行に一つではありません。
8.エラーを見よう!
プログラミングはエラーやバグと見つめあう作業です。
こんな簡単なコードでもエラーはすごく簡単に出ます。
ech "Test";
echoのoが抜けています。
この状態でブラウザで確認してみましょう。
「Parse error: syntax error, unexpected '"' in C:\xampp\htdocs\index.php on line 4」
予期しないエラーということで、一般に入力間違いですw
いろんあ理由で出ます。
このときにon line 4とあると思いますが、ようは4行目あたり間違えてんじゃない~って教えてくれているので、しっかり見ましょう!
echo "Test";
これもエラーです。上と同じエラーでます。
しかし、どこが間違いか、、、わかりますか?
実はですね。echoの後のスペースが全角になっています。
前の記事とかで言いました。
英語とかの部分やスペースはすべて半角で!と、、、
なので、VSCODEなどを使う時に全角空白してしまったらわかりやすく〇が出る奴とかありますので、検索してみてください。
9.コメントを書いてみよう!
では、コメントですね。
コメントは実際には出力されません。
コードを見た時に、これはこういうこととかを自分が、そして同じように開発に携わる複数の方とかにわかるようにコメントを書きます。
<?php
#最初のタイトルだよ
echo "超初心者プログラミング講座.$br";
//改行タブだよ
echo "<br>";
/*
今第何回かを
表示させるよ
*/
echo "第3回";
さきほどのを使ってコメントをつけてみました。
もちろん命令してる流れの途中には入れれませんが、セミコロンの後ろでコメントもできますよ。
#と //は一行コメントどちらが多いんだろう?C++とかって//ですよね。
自分も基本的に//が多いですが、改めてなにか使い分けるルールなどは自分で作ってみても面白いですね。
/* */は複数行のコメントです。開始タグ、終了タグみたいに、この間に書いた文字はコメントになります。
これ、命令分の先頭とかにつけてもコメントになるので、いろいろ試してみてください。
おわりに
さて、少し長くなりましたが、今回はただのechoとかそういうことだけを一旦書いてみました。
文章力が無いのでなんとも読みづらいかと思います。
そして、はっきり言ってこんな細かくというかこんな時間割くような内容でもなかったりしますwww
でも、こういう感じで、少しでも疑問が無くなるようになんとかしてみたいですね。。。
いろいろサンプルコードとかも見ながら、やっていきましょう♪
やってみたいこととかあればコメント等にお寄せください(自分ができるレベルでwww)。
次回はまだ、echoで遊びます。そして変数をささっとやった方が、ぐっとプログラムしてる感が出ると思うので、やっていきましょう!
そんな難しいことではありませんのでね^^¥
では!また次回!!
よろしければ、サポートしていただくと、こんな記事でもより気を引き締めてしっかりとした内容をかけるようにとモチベーションが上がります! いろいろ楽しいことも書いていこうと思うので、ぜひ!サポートしてください!