【PHP第1回】PHPの開発環境構築/プログラミングメモ/プログラミングメモのコツ

【PHP第1回】PHPの開発環境構築/プログラミングメモ/プログラミングメモのコツ

PHPのプログラミングメモ第1回です。何回かに分けてメモを投稿していきます

あわせて、プログラミングメモをとる前の課題とメモをとるようになってから改善した点、メモのコツなども記載しておきます。

筆者は開発職ではなく、インフラ・情シスがメインで広く浅く系に調査・学習していきますので、せっかく学習したり、一度調べた内容はなるべく後で使い回しができるようにする意味で、プログラミングメモに残していきます。

【コードの格納先】


【関連記事】


PHPとは

  • サーバの中で動くサーバサイド言語
  • HTML言語と一緒に書くことができる
  • PHPは、Web開発において広く使用されるサーバーサイドスクリプト言語の一つ
  • PHPのコードはユーザ側では見えない(ブラウザ側/開発ツールで見えない)
  • 理由:ブラウザでHTMLに解釈されるため

【参考URL】


PHPでできること(ざっくり)

  • ユーザー登録やログイン機能の作成
  • お問合せフォームの送信・メール送信機能などの作成
  • 他にも色々
  • ※これらはサーバーで動く言語でないとできない
    PHPを使いこなせればさまざまなサービスを作ることができるようになる

制限

  • サーバー側で動くため、サーバ内にPHPで作ったファイルを置かないとブラウザで見れない
  • 開発時にはサーバーソフトをPCに入れる必要がある(開発環境を作る必要がある)

PHPで動くプログラムを作る手順

  1. WEBサーバソフトをPCへインストールする
  2. テキストエディタでPHPファイルを作る
  3. サーバーへファイルを置く
  4. ブラウザでそのファイルを開く

開発環境の構築

  • 基本的には、PCにMAMPやXAMPをインストールする
  • またはDockerなどでも対応可能

PHPをHTML内で書く場合のまとめ

  • PHPはタグ「<?php ?>」で囲んで書く
  • 1つのファイルに複数のPHPで書いたブロックがあっても全部一つのブロックとして見られる
  • 命令の終わりにはセミコロン
  • 全角が入ってエラーになる場合があるので注意

環境構築(ハンズオン)

ここからはプログラミングメモです。適宜更新していきます。

以下のパターンをハンズオンします。

  1. 環境構築せずに、ブラウザでPHPの動作を確認する方法
  2. ローカルMacに環境を構築する方法(ターミナル画面でPHPの動作を確認する方法)
  3. Docker上にPHPとApacheの開発環境を構築する方法(ブラウザ画面での動作確認が可能)
  4. Docker上にPHPとApacheとMySQLの開発環境を構築する方法(ブラウザ画面での動作確認が可能)

1. 環境構築せずに、ブラウザでPHPの動作を確認する方法

ブラウザ上でPHPを動かせるサイトを利用します。

環境構築が不要なのでちょっとした動作確認をするのに便利です。


2. MACのローカルで環境構築する場合

homeblewのHPにてコマンドをコピー


Macで以下のコマンドを実施

# MACのターミナルを開く(VSCodeなどのエディタでもOK)
# HomebrewのHPでコピーしたコマンドを打ち込む
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 無事インストールできたらバージョン確認
$ brew --version

# output例
Homebrew 3.6.20
Homebrew/homebrew-core (git revision a23ee4a9314; last commit 2023-01-20)
Homebrew/homebrew-cask (git revision 4fd8cb15f4; last commit 2023-01-20)

# 続いてPHPをインストール
$ brew install php

# 完了までしばらく待つ
# 完了したら、パスを通す
$ echo '"export PATH=/opt/homebrew/opt/php/bin:$PATH"' >> ~/.zprofile
$ echo 'export PATH="/usr/local/opt/php@8.0/sbin:$PATH"' >> ~/.zprofile
$ source ~/.zprofile

# 最後にPHPのバージョンを確認
$ php --version

# output例
PHP 8.2.1 (cli) (built: Jan 12 2023 02:29:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies

Hello, World!

最後にHello, World!を出力していく。
hello.phpファイルを作成し、以下のコードを記載する。

// hello.phpの内容
<?php
echo 'Hello World';
?>
# Macのターミナル画面で以下のコマンド
$ php hello.php

# result
Hello World

インストール時のエラーについて

多くの場合は以下を見直すことで改善される

  • コマンドに全角半角混じり → 修正方法:コードは原則半角で記載する
  • コマンドのタイプミス(タイポ)(カンマ、ピリオド違いやコロン、セミコロンの違い、そのほかタイポなど)→ 修正方法:タイポを修正

3. Docker上にPHPとApacheの開発環境を構築する方法(ブラウザ画面での動作確認が可能)

4. Docker上にPHPとApacheとMySQLの開発環境を構築する方法(ブラウザ画面での動作確認が可能)

PHPタグ

  • PHPコードのみ記述する場合は終了タグ「?>」不要
  • ただし、PHPファイルにはHtml Css JavaScript なども記述できるが、これらを記述する場合は省略不可

【公式ドキュメント】
PHP タグ


コメント

コメントアウトの記載例

// 一行コメント
// Lorem ipsum dolor sit amet

// 複数行コメント
/*Lorem ipsum dolor sit amet, 
consectetur adipiscing elit, 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua....*/

プログラミングメモをとる前の課題とメモをとるようになってから改善した点

続いて、プログラミングメモについて記載します。

プログラミングメモを取る前の課題

以前はプログラミングメモをとっていませんでしたが、以下の点で学習効率が悪かったです。

  • 学習しても頭に入ってこない
  • 学習内容をすぐに忘れる
  • エラーで詰まる
  • 同様のエラーで詰まる

プログラミングメモを取るようになって改善した点

以下の点が改善しました。

  • 学習内容が整理されて頭に入ってくる
  • メモを読み返すと学習内容を思い出す
  • エラーで詰まる時間が激減する
  • 同じエラーで調べ直しの手間が省ける

メモの種類とメモのコツ

  • 知らないことを学ぶときのメモ
  • エラーに詰まったときのメモ
  • メモのコツ

知らないことを学ぶときのメモ

長文が苦手なので、ポイントを箇条書きにします。


エラーに詰まったときのメモ

エラー内容、調査内容、原因、改善結果を記載しておきます。


メモのコツ

以下の通りです。

  • なんでもメモする
  • 体裁にこだわらない・時間をかけすぎない
  • 構造化する
  • ブログに記載しておく

なんでもメモする

後に点と点がつながる場合があるので、とりあえずなんでもメモしておきます。


体裁にこだわらない・時間をかけすぎない

学習効率を上げるためのメモですので、あまり体裁には拘りません。時間をかけすぎないようにします。

綺麗なプログラミングメモを作るのに時間をかけすぎるのは避けた方が良さそうです。

作りたい機能を作れるようするのがミッションですので、開発の時間を取られないように注意します。


構造化する

内容をある程度分類し、大項目、中項目、小項目くらいで構造化します。


ブログに記載しておく

これは、筆者独自のやり方です。時間がかかりますが続けています。理由は以下の通り。

  • 構造化しやすい
  • 現場で見れる
  • ブログが好き・管理しやすい
  • アクティブラーニングの観点で学習が定着しやすい(筆者の場合)

構造化しやすい

WordPressのブログはH1,H2,H3などのタグを利用して構造化しやすいため、利用しています。
他のメモアプリや、QiitaやZENなどの技術系ブログでも同様にできますので、WordPress必須というわけではありません。

現場で見れる

プライベートな環境にメモを保管すると現場で見れないこともあるため、ブログにメモを残しています。
この点は、PCとスマホ間で連携可能な優秀なメモアプリがありますので、それを使ってもいいと思います。

ブログが好き・管理しやすい

筆者はよく物をなくします。そして、メモもなくします。
そのため、「何か覚えたらブログに書く」と自分の中でルール化しておくことで、ナレッジを管理しやすくしています。
また、単純にブログが好きというのもあります。

参考記事

エンジニアがブログを書くのはなかなかおすすめです。
エンジニアがWordPressで技術ブログを始める3つのメリット【収益化】【マーケティング】

アクティブラーニングの観点で学習が定着しやすい(筆者の場合)

人に教えたり、ディスカッションするなど、能動的な学習をすると、学習効果が上昇しやすいというエビデンスがあります。筆者の場合、ブログにアウトプットすることで学習が定着しやすいため続けています。

参考URL

Active learning increases student performance in science, engineering, and mathematics
https://www.pnas.org/doi/full/10.1073/pnas.1319030111