【連載】春の新入社員におくるPHP超入門 ~ その2:文字列の出力 – Hello World! –

★★★ 緊急告知 ★★★

OAuthにこれから携わる方のために、世界一わかりみの深い入門者向けOAuth勉強会を企画しました。OAuthってナニソレオイシイノという方のための勉強会です!!ドシドシご参加下さい!!

【2021/5/14(金) 19:00〜】世界一わかりみの深いOAuth入門 〜認証の基礎から応用まで〜
https://tech-lab.connpass.com/event/211768/

こんにちは。サイオステクノロジーの川田です。

PHPを始めてみよう!触ってみよう!と考えている方向けへのPHP超入門をお届けしております。
今回は第2回目となります。

アジェンダ

      1. 環境構築 – Visual Studio Code × Docker –
      2. イマココ☞ 文字列の出力 – Hello World! –
      3. 条件分岐 – if文・switch文 –
      4. 繰り返し処理 – while文・for文・foreach文 –
      5. ユーザー定義関数 – function –(執筆中)

タイトルにもある通り、Hello Worldを表示させていきたいと思います。

使用するツールはこちらです。
環境の詳細についてはアジェンダの「1.環境構築」へ(/・ω・)/

  • Visual Studio Code
    拡張機能:Remote Development

  • Docker

ディレクトリ構成

今回のディレクトリ構成は以下の通りです。

3パターンの文字列の出力を行っていきたいと思います。
また、同じような処理をもつ「echo」「print」や「include」「require」の違いも実際に動作しながら確認していきます。

echoとprintの違い

文字の出力には「☞echo」や「☞print」を使うことが多いです。
これらは関数ではなく言語構造と言われます。

言語構造とは
言語構造は最初から言語に組み込まれているため、特に定義をしなくても使用できます。
例えばif文やfor文も言語構造に該当します。

同じ出力ですが、違いは何なのか!!

  • echoは文になりますが、printは式になります。
  • echoは1 つ以上の文字列を出力しますが、printはできない。

では実際にsample1.phpで試してみましょう。

sample1.phpにこのように記載してください。

echoの方にはParse errorが表示されているかと思います。
これが先ほど出ました違いの1つになります。

echoは文になりますが、printは式になります。

echoは戻り値を返さないのでエラーになりますが、printは常に1を返します。
1を返すとはどういうことか、試しに確認してみます。
$result_pをpriintしてみます。

■実行結果

Hello World!の後ろに「1」が返されています。
あまりこのような書き方することはないですが、printは1を返していることがわかります。

では2つ目の違いも確認してみましょう。

echoは1 つ以上の文字列を出力しますが、printはできない。

sample1.phpを以下のように修正してください。
今度はprintの方がParse errorになっているかと思います。

printは単一の引数しか受け取れないため、エラーとなります。
※「,(カンマ)」ではなく、「.(ドット)」の場合であれば文字列の連結なのでエラーにはなりません。

複数の引数を受け取ることができるechoを確認してみます。

■実行結果

「HelloWorld!」が出力されました。
今回は違いを2つご紹介致しました。ここから先は「echo」を使っていきます。

HTML内に記述

PHPのコードをHTML内に記述するには、開始タグと終了タグが必要になります。

<?php  ・・・  ?>の書き方

開始タグ「 <?php 」と終了タグ「?> 」で囲います。
ではsample2.phpに以下を記述し動作を確認してみます。8行目にphpコードが記載されています。

http://localhost:8080/sample2.phpにアクセスすると「Hello World!! 」が表示されました!

<?= ・・・  ?>の書き方

「<?php 」を短縮する書き方もあります。それが開始タグ「<?=」と終了タグ「?>」という書き方です。
この書き方にするとechoも省略ができてしまいます。8~9行目を修正しました。
※<br/>は見やすくするために改行をいれています。

<? ・・・  ?>の書き方

開始タグ「<?」と終了タグ「?>」という書き方もあります。echoは省略できません!
9行目に改行を入れて10行目を追加してみます。

以上がHTML内に書く方法でした^^

ファイル読み込み

そして最後はファイルを読み込む方法についてご紹介していきます。
外部のファイルを読み込む場合は「☞include」や「☞require」を使います。
この2つの違いってなんだろう!?違いを見てみましょう。

includeとrequireの違い

違いについては失敗した際に動作が異なるということ。

  • include:警告(☞E_WARNING)を出して、そのままプログラムが実行されること。
  • require:☞E_COMPILE_ERRORレベルの致命的なエラーを発生し、処理が終了すること。

では実際に書いてみます。sample3.phpを作成します。

sample3.htmlを作成していないため、画像のようにエラーメッセージが出ていると思います。
処理は最後まで続行され、5行目にechoした文字列が表示されていることがわかります。

それでは次にrequireを試してみましょう。include⇒requireに修正します。

同じようなエラーメッセージですが、5行目にechoした文字列は表示されていません。
4行目でエラーになり、そのあとは実行されず処理が終了したからです。

以上が「include」と「require」の違いでした。使い分けが大事ですね。
それでは正常に読み込んで表示させていきましょう!

「Hello World」表示

templateディレクトリを作成し、sample3.htmlを以下のように修正します。

sample3.phpはそのままで、アクセスするとちゃんと表示されました\(^o^)/

まとめ

いかがでしたか?
今回は様々なパターンの基本的な文字列表示をやってみました^^

次回は条件分岐をご紹介致します。
第3回☞条件分岐 – if文とswitch文 –

最後までお読みいただきましてありがとうございました(^ω^)





ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!


ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

Be the first to comment

Leave a Reply

Your email address will not be published.


*


1 × two =