はじめてのPHP

プログラミング言語

  • コンピュータや機械を動かすための命令(コマンドといいます)群でコンピュータで何かを実行(処理)するための言語」です
サーバサイドスクリプト
  • PHPはサーバサイドスクリプトの1つで、CGIと同様、動的にWebページを生成するための言語です
  • HTMLに埋め込む事ができる(HTML文書のうち必要な部分だけをPHPで書く)
  • PHPはウェブサーバのモジュールとして組み込む事ができる為、CGIよりも高速に動作する
実行環境
  • Webサーバー(Apache HTTP Server)
  • PHPPHP:Hypertext Preprocessor)
  • MySQL(データベース)
Webサーバー
  • Webサーバーはブラウザが開こうとしているURLを解釈して、対応するWebサイトの情報を探し出してデータを返してくれるソフトウェアです
  • http://localhost/とすることで、自分のコンピューターで動いているWebサーバー(=Apache)に接続するという事になります
  • 「C:\xampp\htdocs」のことを、ドキュメントルート(Document Root)とかルートディレクトリと呼びます
  • ディレクトリ」というのはフォルダの別の呼び方です

PHPの記述ルール

  • 必ず、はじめに「開始タグ <?php」を書く必要があります
  • 終了タグは、書かなくても良いことがあります
  • 命令文の終わりには、「;(セミコロン)」を入れます

《hello.php

  • プログラムの実行パス

http://localhost/管理フォルダ/hello.php

VS Codeの設定

/Applications/MAMP/bin/php/phpバージョン/bin/php

改行コード

  • 読みやすさを考慮して、「適切な改行を入れることが望ましい」

LF(ラインフィード)とCR(キャリッジリターン)の違い

ホワイトスペース

  • 「半角スペース」「タブ」「改行」を指します(「全角スペース」は、含まれません)
  • 「インデント(字下げ)」という記述方法で使用します

コメント

  • 可読性の観点から、適切に入っていることが望ましい
1行コメント

「//」または「#」と書くと、そこから改行コードまでがコメントになります

<?php
//1行だけのプログラム
echo 'PHPで記述するプログラミング!';
ブロックコメント(複数行コメント)
  • 「/*」「*/」で囲みます

デバッグ

  • 確認用の出力
  • var_dump();
  • 実際にエラーある行のあとの行で、エラーがあることがあきらかになったという表示がでます
  • つまり、エラーある行より前の行を見て検証することになります

変数(variable)とは

  • 変数はプログラム中のメモリ領域に付けた名前です
  • さまざまな値を一時的に記憶しておくために使われます
  • 言葉(文字列)や数字(数値)を一時的に保存する「箱」
  • 繰り返し使う言葉は「変数」として使う
  • 1回だけ書いてコピーするという発想
  • 大まかには「データを入れておく箱」
変数の名前付けルール
  • 変数宣言や型の宣言は必要ない
  • 変数の名前は「$」で始める(数字で始めることはできない)
  • 変数名の先頭は英文字かアンダースコアであること
  • 変数名の2文字目以降は、英数字かアンダースコアであること(「- ハイフン」は不可)
  • 変数名の大文字・小文字は区別される


予約語について

  • 変数名のルールとしてもうひとつ、「予約語は使えない」というものがあります
  • 予約語とは、PHPの言語自体に使われているさまざまな語句です

-詳細は以下にまとまっていますのでざっと眺めておくと良いでしょう

予約語の一覧

読みやすいコードのための名前付け
  • 変数の中身を理解しやすい
  • 長すぎたり、省略し過ぎたりしない
  • 似たような名前を付けない
  • 基本的には英単語
  • 決められた記法で統一する(アンダースコア記法)
変数の使い方
  • 変数名を付けて文字列や数値を格納する
  • 変数名は英単語で命名するのが一般的
  • 「=」を使用して記述した意味は、「右辺の内容を左辺(の変数)に入れる」という意味になります
変数に対する処理の違い
  • ダブルクォーテーション ・・・文字列中の変数を展開する
  • シングルクォーテーション・・・文字列中の変数を展開しない

扱えるデータ型について

  • 扱えるデータ型について
  • var_dumpを使って型を調べる

定数

  • 途中で中身を変更できない入れ物のことを「定数」と呼びます
定数と変数の違い
  • 定数に一度何かデータを代入するとそれが固定値となり、それ以降プログラム処理の中で違うデータに変更することはできません

define ( '定数名', '値' );

変数の中身を調べる

  • var_dump( $変数名 ) 関数
  • 記述をしている途中で変数の内容を確認するには、var_dump($変数名); という1文をコードの中に記述すると、変数の型と値を出力することができます
変数を使った出力

《calc.php

文字列の表現には注意
  • 以下の例では、変数展開が必要な「改行」処理に「ダブルクォート」を設定しています

式(expression)

PHPの式の多くは、

を組み合わせてつくられています。

式の評価
  • 式の計算が、式の評価にあたります
  • 評価された結果を「式の値」と呼びます

演算子

  • 簡単な計算をしたり長い文字列をつなぎ合わせる
  • 代入演算子
  • 数値の演算
  • 文字列の演算
  • 単項演算子
  • 代入を伴う演算子
算術演算子で「四則演算」や「変数の結合」

文字列結合演算子

結合代入演算子
  • 変数の後に新たな文字列を継ぎ足しできる演算子

「結合代入演算子」を使って書き換えます。

演算子の種類

インクリメント・デクリメント

  • 「++」演算子は、インクリメント演算子(increment operator)と呼ばれます
  • 「--」演算子は、デクリメント演算子(decrement operator)と呼ばれます
  • 何らかの処理を1つずつ値を増やしたり減らしたりの繰り返しを1回ずつカウントするために用いられます
変数$aの値を1増やします

  • 値を1増やす演算は、このようにも書けます

変数$aの値を1減らします

  • 値を1減らす演算は、このようにも書けます

代入演算子(assignment operator)

  • 左辺の変数に右辺の値を代入する

$a+$bの値を$aに代入

演算子の優先順位

  • 通常の四則演算と同じです。
  • カッコ内が先に評価されます。
左結合(left associative)

右結合(right associative)


《例》

文字列の連結

  • 「ドット」は、文字列連結演算子と呼びます。
  • 変数を連結するだけの場合は、{ }は不要です。