본문으로 바로가기

[PHP] PHP 7. Constructors Deprecated 이슈

category Helloworld!/PHP 2016. 4. 27. 18:08
로컬 세팅만 우선 PHP 7 으로 업데이트 후 이곳 저곳 페이지를 보던 중 다음과 같은 에러가 발생했다.
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; mPDF has a deprecated constructor in 파일있는경로\파일명.php on line 88
찾아보니까 PHP Constructors(클래스 이름과 같은 이름의 메소드를 정의하는 것)을 사용하지 않는 것을 권장하기 때문에 장래적으로 삭제될 전망이라고 한다.
따라서 PHP 7 에서는 Class 내에서 이 형식의 Constructors 밖에 정의되지 않은 경우에 E_DEPRECATED 발생하는데
__construct() 메소드를 구현하면 이 경고는 발생하지 않는다고 한다.
public function __construct(){ /* nothing */ }
예를 들어 다음과 같은 상황이면 Deprecated가 발생한다.
class foo {
    function foo() {
        echo 'I am the constructor';
    }
}
참고사이트 : http://phpdoc.me/manual/kr/migration70.deprecated.php