오늘은 공부 중/PHP

오늘의 PHP 공부 with 생활코딩

이도토리 2021. 7. 13. 09:29

spl_autoload_register : 필요한 파일 자동 로딩.

require_once를 해주지 않아도 원하는 객체를 불러오면서 자유롭게 사용 가능.

 

 

 

$path =  str_replace(search[찾는 정보], replace[바꾸겠다], subject[어디에서?]);

$path =  str_replace('\\', '/', $path);

 

 

인자로 전달되어 언젠가 호출될 거라고 기대되는 함수 : 콜백함수.

 

parent::callMethod($param);
    echo "<h1>child {$param}</h1>";

자식 class 에서 부모 class의 method에 접근해서 값을 가져오고자 할 때 parent:: 를 쓴다.

 

priavate은 해당 클래스 안에서만 유효하다. 자식은 이에 접근할 수 없다.

protected -> 부모 자식 메소드끼리는 서로 접근 가능하지만, 인스턴스로 바깥에서 호출하는 것은 불가능.

<?php
class ParentClass{
  public $_public='public';
  protected $_protected ='protected';
  private $_private = 'private';
  

}
class ChildClass extends ParentClass{
  function callPublic(){
    echo $this->_public;
  }
  function callProtected(){
    echo $this->_protected;
  }
  function callPrivate()
  {
    echo $this->_private;
  }
}
$obj = new ChildClass();
echo $obj->_public;
echo $obj->callProtected();

?>

protected instance로 직접 접근하는 것은 금지. 하지만 상속관계를 통해 연결된 자식 클래스에서 부모클래스의 protected 접근 제어자에는 접근이 가능하다.

 

 

될수 있으면 instance 변수는 private. 충분히 노출되어야 하는 경우 public.

내부에서는 이용하되, 외부에서는 접근을 통제하고 싶을 때 protected

 

 

부모클래스의 method를 자식이 상속받지 못하게 하고 싶을 때 final 사용.

final class

final function()

 

상속의 복잡성을 원하지 않을 때 final을 선언.

 

 

 

node.js에는 npm, 파이썬에는 pip, 루비에는 bundle이 있습니다. 이것들은 모두 의존성 도구 입니다. php에서도 대표적인 의존성 도구가 바로 이 composer입니다. (https://gocoder.tistory.com/1947)