PHP μ ν΄λμ€μ μμ±μμ λνμ¬
ν΄λμ€ (class)
phpμ ν΄λμ€(class)λ κ°μ²΄μμ λ³μμ ν¨μλ₯Ό λ΄λ ν
(νμν λ³μμ λͺ©λ‘κ³Ό μ¬μ©ν ν¨μλ€)
<?php
class Study{
public $var;
private $var;
protected $var;
}
?>
- class λ€μ μ΄λ¦μ λ£μ΄μ ν΄λμ€λ₯Ό μ μ
- μμΈμ€ νμ μ (public, private, protected) - μ κ·Ό μ νμ
- λ©€λ²λ³μλ λ©μλκ° μ΄λμμ μ‘μΈμ€(acess) κ°λ₯νμ§λ₯Ό μ§μ νλ κ²
- (λ©€λ² λ³μμ μμ μ‘μΈμ€ νμ μλ₯Ό λΆμ΄λ κ²μΌλ‘, κ·Έ λ©€λ² λ³μμ μ κ·Ό κ°λ₯ λ²μλ₯Ό μ§μ )
public : ν΄λμ€ λ΄, ν΄λμ€ μΈμ μ΄λμμλΌλ μ‘μΈμ€ κ°λ₯ (μ무κ²λ λͺ μλμ§ μμΌλ©΄ public)
private : κ°μ ν΄λμ€ μμμλ§ μ‘μΈμ€ κ°λ₯ (ν΄λμ€ μμ λΆκ°λ₯)
protected : κ°μ ν΄λμ€ λ° μμ ν΄λμ€μμ μ‘μΈμ€ κ°λ₯ (ν΄λμ€ μμ κ°λ₯)
- γpublicγ μ κΈ°λ³Έμ μΌλ‘ μμΈμ€μ μ νμ΄ μ μ©λμ§ μμΌλ―λ‘ ν΄λμ€μμλ ν΄λμ€ μΈλΆμμλ μμΈμ€κ° νμ©λ¨
- ν΄λμ€ λ΄μ λ©μλ λ΄μμ μ°Έμ‘° κ°λ₯
- ν΄λμ€μμ κ°μ²΄ μμ± κ°λ₯
- κ°μ²΄μμ λ©€λ² λ³μμ κ°μ νλ, λ³κ²½ κ°λ₯
- γprivateγ μ μ§μ ν κ²½μ°, κ°μ ν΄λμ€ λ΄μμ μ‘μΈμ€ ν μ μμ§λ§ ν΄λμ€μ μΈλΆμμ μ‘μΈμ€ ν μ μκ² λ¨
- (μ¦, ν΄λμ€μμ κ°μ²΄λ₯Ό μμ±νκ³ κ·Έ κ°μ²΄λ₯Ό ν΅ν΄ λ©€λ²λ³μμ κ°μ νμΈν μ μμ)
- γprotectedγ λ₯Ό μ§μ ν κ²½μ°, κ°μ ν΄λμ€ λ΄μμ, κ·Έλ¦¬κ³ νμ ν΄λμ€μμ μ‘μΈμ€ κ°λ₯
- (php μμ±μκ° μ€νλ νμ μμ±μ΄ λ³κ²½λλ κ²μ λ°©μ§νλ €λ©΄ public λμ privateλ protectedλ₯Ό μ¬μ©)
// μΈλΆμμμ μ‘μΈμ€
$test->public // μ‘μΈμ€ κ°λ₯
$test->private // μ‘μΈμ€ λΆκ°λ₯
$test->protected // μ‘μΈμ€ λΆκ°λ₯
// ν΄λμ€ μμ
class Check class Study{
function __construct(){
$this->public // μ‘μΈμ€ κ°λ₯
$this->private // μ‘μΈμ€ λΆκ°λ₯
$this->protected // νμ ν΄λμ€μ΄λ―λ‘ μ‘μΈμ€ κ°λ₯
}
}
- $this λ php λ΄μ₯ λ³μλ‘, ν¨μλ₯Ό νΈμΆνλ νμ¬ μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν€λ νΉμν λ³μ
- ($thisμ μλλ°©μ - κ°μ²΄λ₯Ό λ§λ€κ³ μ¬μ©)
- μμ±(λλ λ©μλ)μ μ κ·Όνλ €λ©΄ νμ΄ν(->)λ₯Ό λ£κ³ , λ€μ μμ±λͺ (λ©μλλͺ )μ λ£μ
- (λ©μλ νΈμΆ μμλ λ©μ€λ λ€μ ()κ΄νΈμ λ΄μ©μ μ΄μ΄μ μμ±)
$var1 = new κ°μ²΄/μΈμ€ν΄μ€
$var2 = new κ°μ²΄/μΈμ€ν΄μ€
- newλ₯Ό μ¬μ©νλ©΄ μλ‘μ΄ κ°μ²΄λ₯Ό λ°ννλ―λ‘, κ°μ κ°μ²΄/μΈμ€ν΄μ€λͺ μ λ£μ΄λ μλ‘ λ€λ₯Έ κ°μ²΄/μΈμ€ν΄μ€κ° λ¨
static function Test(){
}
- κ°μ²΄μ μΈμ€ν΄μ€λ₯Ό λ§λ€μ§ μκ³ php ν΄λμ€λ₯Ό μ¬μ©νλ κ²½μ°(μ μ λ©μλ)
- function μμ staticμ λΆμ¬μ€
μμ±μ (constructor)
php ν΄λμ€μλ μμ±μλΌλ νΉμ λ©μλκ° μ‘΄μ¬
κ°μ²΄κ° μμ±λ λ μ€νμ΄ λλλ°, μ£Όλ‘ κ°μ²΄μ μ΄κΈ°νμ μ°μ
class JWT
{
protected $alg;
protected $secret_key;
function __construct()
{
$this->alg = 'sha256';
$this->secret_key = "your secret key";
}
}
- php __construct μ μμ±μμ μΈμ κ°μ λ£μ΄μ£Όλ©΄, κ°μ²΄ μμ± νμλ μμ±μ λ°λ‘ λ§λ€ νμκ° μμ
- __construct() λ©μλλ μΆκ°λ μΈμκ°μ ν΄λμ€ μμ±μΌλ‘ ν λΉνλ©°, μΈμκ°μ μ΄λ¦κ³Ό μμ±μ μ΄λ¦μ λ¬λΌλ μκ΄ μμ
μλ¬ λ°μμ
class Test{
public $arr = array();
public function __construct($arr){
if(!is_array($arr)){
throw new Exception('$arrκ° λ°°μ΄μ΄ μλ');
}
$this->arr = $arr;
}
public function chkarr($arr){
return in_array($arr, $this -> arr);
}
}
- μΈμκ°μΌλ‘ λ€μ΄μ¨ $arrκ° λ°°μ΄μ΄ μλ κ²½μ° chkarr() νΈμΆμ μλ¬κ° λ°μν μ μμ
- php μμ±μλ μΈμμ μ΄λ€ κ°μ΄ λ€μ΄μμ λ¬Έμ κ° λ°μνλμ§ νμΈν λ°©λ²μ΄ μμ
- λ°°μ΄μ΄ μλκ°μ΄ λ€μ΄μ¨ κ²½μ°λ₯Ό μμΈ μ²λ¦¬
- Exception κ°μ²΄λ₯Ό λ§λ€κ³ throw ꡬ문μΌλ‘ phpλ₯Ό μ€λ¨
- λλ try / catch λ₯Ό μ΄μ©νμ¬ μ½λλ₯Ό μ€λ¨μν€μ§ μκ³ μ§μ μ²λ¦¬ κ°λ₯
try{
if(쑰건){
} catch(Exception $e){
echo $e->getMessage();
}
}
- php μμ μμΈκ° κ°μ§λλ©΄ tryλ¬Έμμ μ€λ¨μ΄ λκ³ catchλ¬ΈμΌλ‘ λμ΄κ°μ Exception κ°μ²΄λ₯Ό μμ±νκ³ $eλ³μμ μ μ₯
- Exception ν΄λμ€κ° μμ±λλ©΄ μλ¬ λ©μμ§κ° μ§μ λκ³ , catchλ¬Έμ μ½λλ getMessage()λ©μλλ₯Ό μ¬μ©νμ¬ μΆλ ₯
μ§λ¬Έ νμ, μμ λ° λ³΄μμ λν μ§μ νμ