2015-01-08 4 views
-1

나는 몇 가지 새로운 일을 (희망) 학습 PHP 땜질 봤는데 궁금 해서요/문자열의 자리에서이 같은 클래스를 사용하는 단점 :이와 같은 수업에 장점이 있습니까? 이고, 어떤 장점이

class Str 
{ 
    protected $value = ""; 

    public function __construct($string) 
    { 
     if (is_string($string)) { 
      $this->value = $string; 
      return true; 
     } else { 
      return false; 
     } 
    } 

    public function contains($needle) 
    { 
     return strpos($this->value, $needle) !== false; 
    } 

    public function startsWith($needle) 
    { 
     return substr($this->value, 0, strlen($needle)) === $needle; 
    } 

    public function endsWith($needle) 
    { 
     return substr($this->value, -strlen($needle)) === $needle; 
    } 

    public function value() 
    { 
     return $this->value; 
    } 
} 
+1

Sidenote :'constructors'는 값을 반환 할 수 없습니다. 그 (것)들의 유일한 목적은 종류를 시작하기위한 것이다 – DarkBee

+0

그것은 완전히 당신의 디자인에 근거한다. – vaso123

+0

맛있는 오렌지 주스가 있는지 묻는 것과 같습니다. 너는이 물건을 쓰는 너 외에 누구를 알 수 있니? 유용하다고 생각하면 유용합니다. 유용하지 않다면 유용하지 않습니다. 그것은 * 간단합니다. 상상의 코드 하나님을 기쁘게하려고하지 말고, 당신의 임무에만 집중하고 가능한 가장 간단하고 깨끗한 방법으로하십시오. –

답변

1

정적 메서드 호출보다 테스트 가능합니다. 게다가 그와 같은 일을해도 아무런 문제가 없으며 이점/단점이 분명히 드러나지 않습니다. 사실, 당신이하는 일을 정확히 수행하는 유틸리티 패키지가 있습니다. Stringy을보십시오.

0

음, 단지 이 수업을 보는 것이 유용 할 지 말 수는 없습니다. 객체 지향 프로그래밍이 절차 적 프로그래밍보다 낫다고 말할 수 있습니다.

이유를 알고 싶다면 this 질문과 대답을 읽어보십시오.

관련 문제