2016-05-31 5 views
1

나는 OOP에서 새롭다. php OOP 클래스를 작성하는 방법에 대한 도움이 필요하다면 아래 클래스를 호출 할 수 있습니다.PHP OOP에서 도움이 필요하십시오

Query->table('user')->column('id','name')->where('name LIKE ?', 
    ["name"=> 'John'])->orderby('name', 'desc'); 

하지만 많은 시간을 할애했는데, 다음과 같은 것을 얻을 수 있습니다.

Query->table('user')->column('id','name'); 

저는 아이디어가 부족하고 Google을 많이 사용했지만 솔루션을 찾지 못했습니다.

적절한 도움을 주시면 대단히 감사하겠습니다.

+0

어떤 프레임 워크를 사용하고 있습니까? 어떤 유형이 컬럼 메소드를 리턴합니까? – nayana

+0

프레임 워크를 사용하지 않았습니다. 좋은 프레임 워크를 추천 해 주시겠습니까? :) –

+0

나는 당신이 데이터베이스에 연결하기위한 프레임 워크를 사용한다고 생각했다. PHP를 사용하지 않기 때문에 그물을 검색해야한다. 데이터베이스 작업에 많은 프레임 워크를 발견 할 것이라고 생각한다. – nayana

답변

5

$this을 사용하여 클래스 객체 자체의 각 함수를 반환하면됩니다. "체인에서"실행하려는 모든 함수는 public이어야합니다. 이 코드를 확인하십시오 :

<?php 

class ClassName 
{ 
    public function a() 
    { 
     // ... 

     return $this; 
    } 

    public function b($param) 
    { 
     // ... 

     return $this; 
    } 

    public function c() 
    { 
     // ... 

     return $this; 
    } 

} 

// testing 
$obj = new ClassName; 

$result = $obj->a()->b('someParam')->c(); 

method chaining을 읽어야합니다.

+0

당신의 의견에 감사드립니다, 나는 지금 시험해 볼 것이다 :) –

+0

정확히 내가 원하는 것, 정말 고마워, 내 인생을 저장, 감사합니다 :) –

관련 문제