前回
関数とメソッドは違う
勉強不足で本当に恐縮なのですが、PHPではメソッドのことを関数と呼ぶのだと思っていた。違うらしい。
以下が大雑把な理解
- 単体で定義している → 関数 汎用的処理 グローバルに呼び出せる(名前空間に所属することもある)
- クラスに所属している → メソッド Javaと同じ感じでインスタンスオブジェクトから呼び出すものとstaticで呼び出せるものがある。基本的にはインスタンスからは
->
でstaticメソッドは::
で呼び出せる。(例外あり)
- 関数とメソッドは同名のこともありえる。
- インスタンスオブジェクトから呼び出すメソッドは、同じクラス内であっても
$this->
を省略することはできない - staticメソッドは同じクラスから呼び出す時は
self::methodName();
またはstatic::methodName();
- フレームワークによって異なるが、関数名はスネークケース、メソッド名はキャメルケースが一般的(ちなみに変数名はcakePHPの場合、キャメルケースが一般的。ただしデータベースのカラム名や配列のキーはスネークケースが多いらしい。)
数値 ↔︎ 文字列変換
PHPは動的型付け言語であり、変数の型は「代入された値」によって決まる。
また、コンテキストによって自動的に型変換(暗黙的型変換)が行われることがある。
文字列→数値
- intval, floatval
整数:intval($str);
浮動小数点数:floatval($str);
- キャスト
整数:(int)$str;
浮動小数点数:(float)$str;
数値→文字列
- strval
strval($num)
- キャスト
(string)$num