通俗地說
CakePHP會被告知的參數的陣列應用於對象,使得每個特定對象可以修改發送到下一個對象的參數的集合。 CakePHP如何被告知這樣做有錯誤。
深入
一般來說,這從CakePHP事件發佈機制上升。代碼中的某處是ObjectCollection
的一個實例,它是triggered with certain parameters。也就是說,該集合中的每個對象都會調用一個方法。
每個回調方法都有參數。最初參數傳遞到trigger()
。在正常情況下(modParams
爲false),每個回調獲得相同的參數。但是,當modParams
不嚴格錯誤時,每個回調的結果將覆蓋modParams
指示的參數。
因此,如果集合中有兩個對象,modParams是1,params [1]最初是'a',那麼回調被賦予params [1] == a的第一個對象。該回調返回'b',所以當下一個回調被調用時,第二個對象獲得params [1] == b。
當給定的modParams
值在最初給出的params
中不存在時,將引發異常。例如,如果modParams
是2並且params
是array (0 => 'a', 1 => 'b')
,則會發生此異常。
在你的情況
具體來說,調試這具有在低層次的工作要做,因爲它是一個泛型類的方法。異常情況下的回溯應該讓你在特定的具體類上調用trigger()
調用。該呼叫被給予非假的modParams
和params
,其不具有給定的modParams
。它可能是一個擴展ObjectCollection
的具體類中的代碼錯誤,或者它可能僅僅是一種由未被給出預期參數的方法引起的通用消息。
我想要一個更通用的基本解釋,因爲註釋並未解釋該方法如何與應用程序代碼集成。 –