2013-05-02 1 views
-1

OOP를 처음 접했습니다. 내 질문에 결함이있는 경우 용서해주세요.PHP에서 새 객체의 초기 변수를 정의합니다.

데이터 세트를 가져 와서 채우는 클래스를 작성하고 있습니다. 이것은 루프 내에서 수행되어 오브젝트의 데이터를 채울 일련의 인덱스 ID를 리턴합니다. 앱 내에서 루프를 통해 개별적으로 수행해야합니다. 내 질문은 (루프 내부 또는 외부에서) 내가 클래스를 초기화 할 때 클래스의 메소드에서 사용할 특정 객체의 항목 ID에 대한 ID를 어떻게 정의 할 것인가?

$object = New item($itemid); 
// or 
$object = New item->4; 
// ? 

이 작업을 수행하는 방법이 확실하지 않거나 이러한 종류의 논리를 처리하는 올바른 방법이라면.

나는 그래서 그냥 물건을 정리하려고, 내 첫 번째 개체는 현재와 같은 존재 일반적으로 사용되는 기능의 콜렉션이 될 것이라는 가정하에이 클래스를 쓰고

(!) 참고.

+0

설명서를 읽는 것으로 시작하십시오. http://php.net/manual/en/language.oop5.php –

+1

OOP를 처음 사용하기 때문에 일반적으로 getter 및 setter 메서드를 사용하여 값을 할당하고 값을 가져와야합니다 당신의 물건에서. (직접 액세스하지 않음). 그냥 머리를 위로 – Bono

+0

당신은 몇 가지 기능을 개최하는 수업을 작성합니다. 그것은 단지 클래스 기반 프로그래밍이며 OOP가 아닙니다 (괜찮을 수도 있습니다). 장기간에이 두 가지 사이에 차이가 나는 것이 종종 건강하기 때문에 나는 이것을 씁니다. 전역 함수를 해당 클래스로 이동하는 경우 클래스를 추상화하여 인스턴스화 할 수 없도록하고 함수를 정적으로 만듭니다. 그게 OOP와 클래스 기반 프로그래밍 사이에 깨끗한 라인을 유지하는 데 도움이됩니다. 자주 사용되는 용어 중 하나는 [* Utility Class *] (http://en.wikipedia.org/wiki/Utility_class)입니다. – hakre

답변

0

클래스를 초기화 한 다음 항목 ID를 설정해야합니다.

$object = new item(); 
$object->item_id = 1; 
+2

또는 __construct() 함수에서 __construct() 함수 내에서 클래스를 초기화 할 때 item_id가 항상 설정되어 있으면 매개 변수를 가져옵니다. – Ryan

+2

변수가 public이라고 가정합니다. 또한 생성자에서 초기화를 수행해야합니다. – RMcLeod

+0

그래, 내 생각은 오류가 발생할 것이라고 정의하지 않고 시작했지만, 클래스의 메서드는 개체 자체에서 호출 될 때까지 실행되지 않습니다. 그건 의미가 있습니다. 위의 사례가 생성자를 사용하는 좋은 예가 될까요? @RMcLeod가 대답했습니다. – mrpatg

0

constructors을 사용할 수 있습니다. 예 : 당신이 new 키워드로 객체를 생성 할 때

이제
<?php   
    class person { 
    public $name; 
    public function __construct($persons_name) {   
     $this->name = $persons_name;    
    } 
    // .... rest 
} 

, 인수를 전달합니다.

<?php 
    $user = new person('Ayesh K); 

그렇지 않으면 명시 적으로 클래스 값을 설정할 수도 있습니다.

4

당신이 할 수있는 개인 멤버 변수를 사용하여 생성자로를 설정하는 첫 번째 방법

class Item { 
    private $id; 

    public function __construct($id) { 
     $this->id = $id; 
    } 
} 

$object = new Item($itemid); 

보십시오.

관련 문제