Laravel PHP 初心者メモ


public アクセス修飾子

どこからでもアクセス可能

public function __construct()

基本__constructの修飾子は必ずpublicにする
なぜ??
privateにするとメソッドを呼び出せなくなるため、インスタンスの生成ができなくなります。

private アクセス修飾子

同じクラスからのみアクセス可能。非公開のため、継承クラスからもアクセス不可

protected アクセス修飾子

そのクラスもしくは、非公開であるが継承クラスからもアクセス可能

static 修飾子

protected static $_item_array

$_item_arrayはインスタンス変数
static宣言は、インスタンス化せずその変数にアクセスできます。 

アクセス例
「クラス名::$インスタンス変数名」は呼び出しできます。
「クラス名::メソッド名()」は直接参照可能です。

原理はメモリ上に残り続ける
※staticメソッドはインスタンスからの呼び出しはできません。

オブジェクト指向のカプセル化

呼び出し側からはこのメソッドを介して$_itemArrayの値を取得する。
この様なメソッドをgetterという

public function getItemArray()
{
return InventoryMail::$_itemArray;
}

setterはgetterの逆でクラス外から$_itemArrayに値を代入できる

public function setItemArray(Item item)
{
InventoryMail::$_itemArray->push(item);
}

配列書き方

$item_array = [
["item_name"=>"商品A", "inventory_controll"=>10],
["item_name"=>"B","inventory_controll"=>4],
["item_name"=>"C", "inventory_controll"=>5],
["item_name"=>"D", "inventory_controll"=>11]
];