2013-03-28 1 views
1

임을 확장하고, 나는 다음과 같은 의문이 :NodeJS는 : NodeJS에 PHP에서 내 시스템을 마이그레이션하는 클래스와 __construct 방법

PHP에서 내가 가지고있는 클래스가

class Users extends Groups { 
    function __construct(){ 
     parent::__construct(); 
     //do something 
    } 
} 

단, 어떻게 할을 Javascript/NodeJS (ExpressJS)와 동일합니까? 이것이 확장 될 것이라고 생각하지만 __construct 메서드를 정의하는 방법은 무엇입니까? PHP와 같이 Class 인스턴스의 시작에서 호출 할 메소드의 이름은 무엇입니까?

var utils = require('utils'); 
var Groups = require('./groups.js'); 
var Users = function(){ 
    //where is the __construct?? 
}; 
util.inherits(Users, Groups); 
+1

사용자 ** s **, 그룹 ** s 클래스 이름 - 냄새 나쁜 디자인. – moonwave99

+1

나는 단지 내 질문을 설명하기 위해 예제를 사용했다. 나는이 이름을 가진 함수가 없다 - 과도한 비판의 냄새가 난다. –

+0

나는 무례하거나 무엇이든하는 것을 의미하지는 않았다. 미안하다. 나는 가끔씩 사람들이 수업을 오용하고 적절한 모델처럼 거대한 도서관 방법처럼 그들을 형성한다고 말했다. 당신의 경우가 아닌 모든 기회를 가지고, 나는 단지 더 넓은 그림을 참조하십시오. – moonwave99

답변

4

없습니다 parent 구조는 특히, 그래서 어떻게 든 부모 생성자를 호출하는 당신에게 달려있다.

Users.super_.call(this); // Can pass arguments to function as more params. 

// OR 
Users.super_.apply(this, arguments); // Pass all arguments through. 

또는 직접 부모 생성자를 참조 할 수 있습니다 :

inherits는에 super_ 속성 때문에이 같은 부모의 생성자를 호출 할 수 있습니다 첫 번째 인수

Users.super_ = Groups; 

의 추가

Groups.call(this); // Can pass arguments to function as more params. 

// OR 
Groups.apply(this, arguments); // Pass all arguments through.