뜻하는 용어는
CakePHP의 각 특정 객체는 다음 객체에 전송 된 매개 변수를 수정할 수 있도록 개체의 컬렉션에 매개 변수의 배열을 적용했다되고있다. CakePHP가이를 어떻게 수행하는지에 오류가 있습니다. 깊이
일반적으로
는
이것은 CakePHP의 이벤트 발행기구로부터 상승한다. 코드의 어느 곳에서 ObjectCollection
의 인스턴스 인 triggered with certain parameters이 있습니다. 즉, 해당 컬렉션의 모든 개체에서 메서드가 호출되고 있습니다.
각 콜백 메소드에 매개 변수가 제공됩니다. 원래 매개 변수는 trigger()
으로 전달됩니다. 일반적인 경우 (modParams
이 false 인 경우) 모든 콜백은 동일한 매개 변수를 가져옵니다. 그러나 modParams
이 완전히 false가 아닌 경우 각 콜백의 결과는 modParams
으로 표시된 매개 변수를 덮어 씁니다.
컬렉션에 두 개의 객체가 있고 modParams가 1이고 처음에 params [1]이 'a'이면 콜백에 params [1] == a가있는 첫 번째 객체가 제공됩니다. 콜백은 'b'를 반환하므로 다음 콜백이 호출되면 두 번째 객체는 params [1] == b를 얻습니다.
제공된 modParams
값이 원래 제공된 params
에없는 경우 예외가 발생합니다. 예를 들어 modParams
이 2이고 params
이 array (0 => 'a', 1 => 'b')
이면이 예외가 발생합니다.
특히 귀하의 경우에는
이 디버깅하는 것은 제네릭 클래스의 방법이기 때문에 낮은 수준에서 수행되어야한다. Exception의 백 트레이스를 통해 특정 콘크리트 클래스에 대한 trigger()
호출을 얻을 수 있습니다. 그 전화는 주어진 modParams
이 아닌 거짓이 아닌 modParams
과 params
으로 주어집니다. ObjectCollection
을 확장하는 구체적인 클래스의 코드 버그 일 수도 있고 예상되는 인수가 제공되지 않는 메서드에서 발생하는 일반 메시지 일 수도 있습니다.
주석은 메서드가 응용 프로그램 코드와 통합되는 방법을 설명하지 않으므로 좀 더 일반적인 기본 설명이 필요했습니다. –