<?php
class Youtube{
public static $static="shuki";
public static function showShuki(){
echo self::$static;
}
public $bj;
public $arr_test=array();
public $bj_use=array();
public $good_chs=array('vlog','review','eating','game');
public function check($ch){
return in_array($ch,$this->good_chs);
}
}
$learnup=new Youtube();
$learnup->bj='chanjun';
$learnup->bj_use=array('vlog','eating','chungdam');
$a=array();
foreach($learnup->bj_use as $key =>$value){
if($learnup->check($value)){
array_push($learnup->arr_test,$value);
}
}
var_dump($learnup->arr_test); //vlog eating 나와야
$learnup->showShuki();
echo "dd{$learnup->static}"; //출력안된다.
echo "되는구나!FFF";
?>
static 키워드
클래스를 정의할 때 static 키워드를 사용한 프로퍼티와 메소드는 해당 클래스의 인스턴스를 생성하지 않아도 접근할 수 있게 됩니다.
이러한 프로퍼티와 메소드를 정적 멤버(static member)라고 합니다.
이러한 정적 멤버의 특징은 다음과 같습니다.
static 키워드로 선언된 정적 프로퍼티는 인스턴스화된 객체에서는 접근할 수 없습니다.
static 키워드로 선언된 정적 메소드는 인스턴스화된 객체에서도 접근할 수 있습니다.
정적 메소드 내에서는 $this 의사 변수를 사용할 수 없습니다.