magic-methods

    1

    1답변

    설명 할 수없는 코드로 문제가 발생했습니다. 생각할 수있는 유일한 방법은 마법 메서드가 ArrayObject 내부에서 작동하지 않는다는 것입니다. $foo = new foo(); echo $foo->test; 는 그러나이 줄은 잘 작동 "... 테스트 공지 사항 : 정의되지 않은 인덱스" class foo extends ArrayObject {

    4

    1답변

    사용자 정의 동작을 추가하기 위해 사전에서 상속받은 클래스가 있습니다.이 경우 유효성 검사를 위해 각 키와 값을 전달합니다. 아래 예제에서 '유효성 검사'는 단순히 메시지를 인쇄합니다. 사전 할당은 예상대로 작동하며 항목이 dict에 추가 될 때마다 메시지를 인쇄합니다. 그러나 클래스의 __dict__ 특성으로 사용자 지정 사전 형식을 사용하려고 할 때 키

    0

    1답변

    내가 마술 방법 다음 코드는 메소드의 호출에 하나 개 이상의 인수가있는 경우를 제외하고 잘 작동 __call 에 문제가 잘 작동하지 않습니다. 나는 (단지 $args 또는 implode(', ' $args)가 작동하지 않습니다) 좋은 결과없이 다른 솔루션을 시도했습니다 나는이처럼 쓰는 경우도 작동 public function __call($method, $

    1

    1답변

    내가 두 개체 lhs == rhs을 비교하고 모두 __eq__을 정의 할 때 NotImplemented 또는 rhs이 lhs의 서브 클래스를 반환하지 않는 한, 단지 lhs.__eq__가 호출 될 것을 알고있다. 그러나 클래스를 구현하고 싶습니다. 임의의 개체를 비교하는 동안 arbitrary_object.__eq__의 구현 세부 정보와 상관없이 비교 설명

    0

    1답변

    나는 Propel을 사용하여 모든 종류의 작업을 수행하고있다. 가장자리 케이스 - 특히 tablename과 관련된 클래스 이름이 어딘가에 캐시되어있는 것을 발견했다. 다른 클래스 이름이지만 동일한 테이블 이름 (단위 테스트 목적)을 가진 모델을 다시 빌드하기 때문에 Propel은 올바른 피클에 들어갑니다. (이 질문에 대해서는 Propel 환경이 필요하지

    10

    1답변

    PHP 5.3을 사용합니다. 클로저가 도입되었습니다. 이제는 내 응용 프로그램 (및 프레임 워크)에서 사용할 수있는 클로저가 있으므로 is_callable을 사용하여 어떤 종류의 핸들러인지 알 수 있습니다. $callback입니다. $callbackis_callable이라면 충분히 알고 그 기능/방법/폐쇄를 사용하십시오. 호출 할 수없고 문자열 인 경우 $

    11

    1답변

    인터페이스를 사용하고 싶지만 일부 구현은 __invoke 및 __call과 같은 마법 메서드에 의존합니다. 인터페이스에서 모든 구현에서 마술처럼 호출 될 수있는 메서드의 시그니처를 제거해야합니다. 그래서 안티 패턴 빈 인터페이스로 연결됩니다 (예, 방금 만들었습니다). PHP에서 인터페이스와 마법 방법을 어떻게 결합합니까?

    -2

    1답변

    I라는 클래스 유형이 있습니다 $value라는 이름의 속성이 class Type { ... } : class Type { protected $value; //More code here... } 내가 소원이 나는 기능, 나는 개체를 전달, 값을 사용하려고 할 때 $obj->value이 전달됩니다. 예를 들면 다음과 같습니다. 많은

    10

    1답변

    내가 젠드 PHP 학습 가이드에서이 질문을 가지고 적절한 설명을 찾을 수는 ... <?php class Magic { public $a = "A"; protected $b = array("a"=>"A", "b"=>"B", "c"=>"C"); protected $c = array(1,2,3); public

    6

    7답변

    자바에서 왔기 때문에 PHP를 몇 번 방문했을뿐입니다. 마법의 get과 set 메소드를 살펴보면, (자바가 영향을받은) tummy는 아프기 시작합니다. 속성에 직접 액세스하는 것처럼 보입니다 (실제로 __get 및 __set을 사용하고 있음에도 불구하고). 그래서 적은 수의 코드를 작성해야한다는 점을 제외하고 전통적인 getX()/setX() 메소드 대신