2009-12-22 4 views
59

저는 항상 생성자 매개 변수가없는 경우 클래스 인스턴스를 만들 때 괄호 (중괄호)가 클래스 이름을 따르고 선택적이며 자신의 개인적인 목적에 포함하거나 제외 할 수 있다고 가정했습니다. 이 두 문장이 동일이라고PHP 클래스 인스턴스화. 괄호를 사용하거나 사용하지 않으려면 어떻게해야합니까?

:

$foo = new bar; 
$foo = new bar(); 

맞죠? 아니면 내가 알지 못하는 괄호에 어떤 의미가 있습니까?

나는 이것이 RTM 질문처럼 들리지만 나는 (PHP 전체 OOP 섹션을 포함하여) 잠시 동안 검색을 해왔다. 그리고 나는 똑바로 대답 할 수없는 것처럼 보인다.

답변

47

등가입니다. code convention으로 코딩하지 않은 경우 더 좋아하는 것을 사용하십시오. 개인적으로, 나는 그것을 내버려두고있다. 그것은 나에게 정말 혼란 스럽기 때문이다.

+2

동의. 생성자가 매개 변수를 사용하지 않으면 나도 그들을 내버려 둡니다 – AntonioCS

+1

고마워요. 나는 이것이 사실 일 것이라고 희망했다. - 개인적으로 나는 항상 그들을 항상 좋아합니다. 내 Java/C# 일에서 나쁜 습관 :) – Atli

+20

.. 또한, 끝 부분은 smirking 노래 원숭이처럼 보인다(); laaaa-la – 0scar

4

$foo = new bar()은 생성자에 인수를 전달하는 경우 $foo = new bar보다 유용합니다. 예를 들어 :

class bar { 

    public $user_id; 

    function __construct($user_id) { 
     $this->user_id = $user_id 
    } 
} 

- 그에서 제외

$foo = new bar($user_id); 

, 그리고 이미 허용 대답에 언급, 아무 차이가 없다.

관련 문제