Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHPの基本を楽しく学ぶ!PHP独自の「なぜ?」に迫る #phpcon_okinawa

Makoto Ikami
September 16, 2023

PHPの基本を楽しく学ぶ!PHP独自の「なぜ?」に迫る #phpcon_okinawa

PHPカンファレンス沖縄 2023 TRACK A 17:05〜のセッションスライドです。
https://fortee.jp/phpcon-okinawa-2023/proposal/26f705b5-ce72-4583-95c5-d267d5e96cc4

=============================

PHPは初心者にも使いやすい言語ですが、その基本には多くの「なぜ?」が存在します。
このセッションでは、PHPの基本的な疑問に注目し、その背景や理由を解説します。
なぜ「」はぜ必要ないのか
- 「$」をつける理由
などなど...

## 対象者
PHP初心者から上級者まで幅広く

Makoto Ikami

September 16, 2023
Tweet

More Decks by Makoto Ikami

Other Decks in Technology

Transcript

  1. PHPの基本を楽しく学ぶ!
    PHP独自の「なぜ?」に迫る
    PHP Conference Okinawa 2023 伊神誠人(Makoto Ikami)

    View full-size slide

  2. 自己紹介
    ● 伊神 誠人 @mako5656_i
    ● 株式会社カルテットコミュニケーションズ
    ● システム開発部
    ○ バックエンドエンジニア(PHP, Symfony)

    View full-size slide

  3. PHPについて
    どれぐらい知ってますか?

    View full-size slide

  4. PHPって何の略?

    View full-size slide

  5. PHP: Hypertext Preprocessor

    View full-size slide

  6. 今回発表する内容ですが

    View full-size slide

  7. ->
    $ ;
    echo class __
    $this

    View full-size slide

  8. 今回紹介する構文
    • 開始タグ『 • 終了タグ『 ?> 』
    • ドル記号『 $ 』

    View full-size slide

  9. では早速見ていきましょ!

    View full-size slide

  10. 開始タグ

    View full-size slide

  11. 質問
    1. 開始タグはなぜ『 という表記なの?

    View full-size slide


  12. HTMLに埋め込むために開発された経緯
    なるべくコードを短縮した形

    View full-size slide

  13. じゃあ開始タグ『 』でよくない?

    View full-size slide

  14. 元々は『 』

    View full-size slide

  15. PHP4以降、公式で『

    View full-size slide

  16. ①コードの可読性を向上させるため
    ②HTMLやXMLとの互換性の維持

    View full-size slide

  17. // phpを削除 + php.iniの「short_open_tag」を無効

    View full-size slide

  18. // phpを削除 + php.iniの「short_open_tag」を無効
    PHPコードが実行されない

    View full-size slide

  19. 質問
    1. 開始タグはなぜ『 という表記なの?

    View full-size slide

  20. 回答
    1.

    HTMLに埋め込むため、なるべくコードを短縮した形
    可読性向上とHTML,XMLとの互換性の維持のため

    View full-size slide

  21. 終了タグ
    ?>

    View full-size slide

  22. 終了タグって使われていますか?

    View full-size slide

  23. 実際使われてないですよね

    View full-size slide

  24. なぜ終了タグ『 ?> 』を
    付けない場合があるの?
    質問
    2.

    View full-size slide

  25. • PSR-2
    The closing ?> tag MUST be omitted from files containing only PHP.
    • PHP公式ドキュメント「PHP タグ」
    ファイルが PHP コードのみを含む場合は、ファイルの最後の終了タグは省略するのがおすすめです。
    終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。 余分な
    空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまう
    ことになります。

    View full-size slide

  26. 不要な空白や改行が出力に含まれるのを避けるため

    View full-size slide

  27. sample.php
    main.php

    View full-size slide

  28. sample.php
    main.php
    // 空白を追加

    View full-size slide

  29. sample.php
    main.php
    ページが動かなくなる
    // 空白を追加
    ※ 環境によっては動く場合も

    View full-size slide

  30. なぜ終了タグ『?>』を
    付けない場合があるの?
    質問
    2.

    View full-size slide

  31. 余分な空白や改行によるエラーが
    起こる可能性を無くすため
    回答
    2.
    ※HTMLなどに埋め込む場合は必要

    View full-size slide

  32. ドル記号
    $

    View full-size slide

  33. PHPの変数を宣言する時に『$』が必要ですよね

    View full-size slide

  34. 他の言語では付けない場合が多い

    View full-size slide

  35. 可読性とコードの品質向上

    View full-size slide

  36. 変数名になぜドル記号『$』が
    導入されたの?
    質問
    3.

    View full-size slide

  37. ドル記号「$」
    元々「変数」を識別するための様々な方法が存在

    View full-size slide

  38. ドル記号「$」
    Perlの設計思想や構文に影響を受けていた

    View full-size slide

  39. ドル記号「$」
    文字列処理や正規表現などのテキスト処理機能

    View full-size slide

  40. 変数名になぜドル記号『$』が
    導入されたの?
    質問
    3.

    View full-size slide

  41. 他の言語から影響を受けて
    最終的に『$』に落ち着いた
    回答
    3.

    View full-size slide

  42. こういった他の言語から
    影響を受けてることが多い

    View full-size slide

  43. Node.jsのnpm
    Rubyのbundler

    View full-size slide

  44. 本当はもっと紹介したい

    View full-size slide

  45. ご清聴ありがとうございました

    View full-size slide