рдХрд╛рдорд░реЗрдб! рдпрд╣ рд▓реЗрдЦ рдЙрдЪреНрдЪ-рдЙрдЪреНрдЪ-рдЙрдЪреНрдЪ-рд▓реЛрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдкреНрд░рд╕реНрддреБрдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЧрддрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рд░рд▓рддрдо рдЬрд╛рдБрдЪреЛрдВ рд╕реЗ рдХрдо рд╣реИред рд╣рдЬрд╛рд░реЛрдВ рдпрд╛ рдмрд╣реБрдд рдЧрд╣рд░реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рддреЗрдЬ рдХреЛрдбрд┐рдВрдЧ рдЬреАрддрддреА рд╣реИ, рддреЗрдЬ рдХреЛрдб рдирд╣реАрдВредрдХреЛрдИ рд▓рдВрдмрд╛ рдирд╣реАрдВ
рдЪрд▓реЛ рдЗрд╕реЗ рд▓рдВрдмреЗ рдкрд░рд┐рдЪрдп рдХреЗ рдмрд┐рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд╕рд╛рдеред рдПрдХ рдмрд╛рд░, рд╡реЗрдм рд╕реЗрд╡рд╛ рдХрд╛ рдПрдХ рдФрд░ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдмрд╣реБрдд рдЕрд▓рдЧ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреЛ $ _REQUEST рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛ рдерд╛)ред рдШрдЯрдХ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдерд╛, рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рддрд░реНрдХ рдиреЗ рд╕рднреА рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рджреИрдирд┐рдХ рдмрдЯ-рд▓реВрдк рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛, рдФрд░ рдХреБрдЫ "рдЪреБрдиреЗ рд╣реБрдП" рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд▓рд┐рдЦрд╛, рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛, рджреЗрдЦрд╛ рдФрд░ рджреЗрдЦрд╛, рдЙрдиреНрд╣реЗрдВ рдЙрдбрд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдЬрдм рд╕рд░рдгрд┐рдпреЛрдВ рд╕рд╣рд┐рдд рджрд░реНрдЬрдиреЛрдВ рд╡рд┐рднрд┐рдиреНрди рдЪрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреНрд░реЙрд╕-рдЯрд╛рд╕реНрдХ (рдмрджрд▓рддреЗ рддрд░реНрдХ) рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рддреЗ рд╣реИрдВ - рдХреЛрдб рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, рдЕрдЧрд░-рдЪреЗрдиреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдкреГрд╖реНрда рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрдиреЗ рд▓рдЧрддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдкрд░ рд▓реМрдЯрдирд╛ рдПрдХ рдХрдордЬреЛрд░ рдЖрддреНрдорд╛ рдХреЗ рд▓рд┐рдП рддреЗрдЬреА рд╕реЗ рд╡рд┐рджреЗрд╢реА рд╣реИред рдкрд░реАрдХреНрд╖рдг рдЕрдм рдЬреНрдпрд╛рджрд╛ рдорджрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рддрд░реНрдХ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдЙрд╕реА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╛рдж рд░рдЦрдиреЗ, рд╕рдордЭрдиреЗ рдФрд░ рдорд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рд╕рд╡рд╛рд▓ рдпрд╣ рдерд╛ рдХрд┐ рдЖрдВрдЦ рдХреЛ рдкреНрд░рд╕рдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрдкреВрд░реНрдг рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рд╣реА рд░реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдпрд╣рд╛рдВ рдЬреЛрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдерд╛, рдореИрдВ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЦреНрддреА рд╕реЗ рдХрд╣рддрд╛ рд╣реВрдВред
рдЪрд▓рд┐рдП рдмрд╛рдд рдкрд░ рдЖрддреЗ рд╣реИрдВ
рдПрдХ рдкреВрд░рд╛ рдЙрджрд╛рд╣рд░рдг
рдЬреАрдердм рдХреЗ рд╕рд╛рде рд╣реИ ред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╡рд░реНрддрди рдФрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХреЗ рдЪрд░рдг рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рд╕рдм рдХреБрдЫ рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рд╕рд╛рдордиреЗ рд╡рд╛рд▓реЗ рдЫреЛрд░ рд╕реЗ рдЖрдпрд╛ рдерд╛ ($ params = $ _REQUEST;)ред рдкреНрд░рдпреЛрдЧ рдХреА рдЧрдВрджрдЧреА рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХреЛрдИ рдкреВрд░реНрд╡ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ - рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЙрдиреНрд╣реЛрдВрдиреЗ рднреЗрдЬрд╛, рдЙрддрдирд╛ рд╣реА рдЦреБрд╢ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, $ рдкрд░рдо рд╕рд░рдгреА рдХреА рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧреА:
$params = array( 'doc_id' => 133, 'subject_id' => '64', 'parent_id' => 32, 'title' => 'New document', 'data' => array( 'flag' => 'experiment', 'from_topic' => false, ), );
рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рд╣рдореЗрдВ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЪрд╛рдмрд┐рдпрд╛рдБ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ, рдХреБрдЫ рд╕рдЦреНрддреА рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдХреБрдЫ рдХреЛ рдЕрдВрддрд░рд╛рд▓ (рд╢реВрдиреНрдп рд╕реЗ рдЕрдзрд┐рдХ рдЖрджрд┐) рдореЗрдВ рдЧрд┐рд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕рд░рдгреА рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рд╣реЛред рдЗрд╕ рдмреАрдЪ, рд╣рдо рдкреНрд░рдмреБрджреНрдзрддрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдкрд░реНрдпрд╛рдкреНрдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЕрдкрд╡рд╛рдж рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдХреНрдпрд╛ рд╡рд╣ рдкрд░рд┐рдЪрд┐рдд рд╣реИ? рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ, рджрд┐рди рдореЗрдВ рдХрдИ рдмрд╛рд░ред рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ "рдпрджрд┐" рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рд╕реАрдорд╛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдХреЗрд╡рд▓ рдЗрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреА рдХрд┐рддрдиреА рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рдХрд▓? - "рдЗрд╕реЗ рдХрд╛рдЯ рджреЛ, рдФрд░ рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рддреАрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХреЗрдВ рдФрд░ parent_id рдЕрдм рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреАред" рдФрд░ рдореЛрдЯрд┐рд╡ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ? рдирдИ рдлреИрд╢рдиреЗрдмрд▓ рднреБрдЧрддрд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЗрд╕ рддрд░рд╣ рдХреЗ vinaigrette рдХреЗ рд▓рд┐рдП рдореИрдкрд┐рдВрдЧ рд▓рд┐рдЦрдирд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдкреЙрдкреЛрд▓ рд╣реИред
рдЕрдВрдд рдореЗрдВ рд╡рд╣ рдПрдорд╛рдЪ рджрд┐рдЦрд╛рддрд╛ рд╣реИ
рдЦреИрд░, рдЕрдм рдорд┐рдард╛рдИ
рдПрдорд╛рдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рд░рдгреА рдХреА рдЬрд╛рдБрдЪ рдХрд░
рд░рд╣реА рд╣реИ :
require_once('class.AMatch.php'); $match = AMatch::runMatch($params) ->doc_id(0, '<')
рдЖрдЗрдП рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рд╕рддреНрдпрд╛рдкрди рдХреА рд╢реБрд░реБрдЖрдд (рдорд┐рд▓рд╛рди рдХреА рд╕реНрдерд┐рддрд┐) рдПрдПрдордЪ :: рд░рдирдордЪ () рд╡рд┐рдзрд┐ рдореЗрдВ рдЪреЗрдХ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░рдгреА рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдлрд┐рд░, рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛, рдЪреЗрдХ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рдЧрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ:
->_([___], [])->тАж->stopMatch()
рд╕реНрдЯреЙрдкрдореИрдЪ () рд╡рд┐рдзрд┐ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИ - рд╕рд╣реА рдпрд╛ рдЧрд▓рддред рдмреЗрд╢рдХ, рдпрд╣ рддрдереНрдп рдХрд┐ "рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛" рд╣рдореЗрд╢рд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╕реНрдЯреЙрдкрдореИрдЪ () рдХреЛ $ рдореИрдЪ рдЪрд░ рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреЙрдкрдореИрдЪ () рдХреЗ рдмрд╛рдж рдЖрдк рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдЯреЙрдкрдореИрдЪ () рдореЗрдВ рднреА рдЬрд╛рдВрдЪ рд╣реЛрддреА рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╣рд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдзреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреАред
рдкрд╣рд▓рд╛ рд▓реЙрдиреНрдЪ "рд╡рд┐рдЬрдп!"
рдорд╣рд╛рд░рд╛рдЬ, рдпрд╣ рд╕рдм рд╣реЛ рдЧрдпрд╛
рдЪрд▓реЛ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рд░рдгреА рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░рддреЗ рд╣реИрдВ:
$params_bad = array( 'doc_id' => -4, 'subject_id' => null, 'parent_id' => 30, 'data' => array( 'flag' => 'booom', 'from_topic' => array(), 'old_property' => true, ), 'wtf_param' => 'exploit', ); $params = $params_bad;
рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:
array ( 'doc_id' => 'Condition is not valid', )
рдХреЗрд╡рд▓ рдПрдХ рдЖрдЗрдЯрдо рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкреНрд░рдердо рдереЗред рд╣рдореЗрд╢рд╛ рджреВрд░ рд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, AMatch рдкрд╣рд▓реА рд╢рд░реНрдд рдЬреЛ рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реА рдЪреЗрдХ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдкреВрд░реНрдг рд╕реНрдХреИрди рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреМрди рд╕реА рд╕реНрдерд┐рддрд┐ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдИ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:
die( var_export($match->matchComments(), true) . PHP_EOL . var_export($match->matchCommentsConditions(), true) );
рдЕрдм рдкрд░рд┐рдгрд╛рдо рддреБрд▓рдирд╛рддреНрдордХ рдСрдкрд░реЗрд╢рди рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЧрд▓рдд рдерд╛:
array ( 'doc_id' => 'Condition is not valid', ) array ( 'doc_id' =>
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдореВрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рджреЛрд╣рд░рд╛рд╡ рд╣реИ:
->doc_id(0, '<')
рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ (AMatch :: KEY_CONDITION_NOT_VALID == 'рд╕реНрдерд┐рддрд┐ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ')ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдм рддреНрд░реБрдЯрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдЙрдирдХреЗ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдорд╛рдирдЪрд┐рддреНрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЕрдзрд┐рдХ рд▓рдХрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!
рдЕрдиреНрдп рд╢рд░реНрддреЛрдВ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВред рдПрдПрдордЪ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдиреЗ рдФрд░ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рдкреНрдд рди рд╣реЛ рдЬрд╛рдП, рдЖрдкрдХреЛ рдЭрдВрдбреЗ (рдмрд┐рдЯрдорд╛рд╕реНрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рддреАрди рдЭрдВрдбреЗ рд╣реИрдВред
- FLAG_STRICT_STRUCTURE - рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рд╕рд░рдгреА рдореЗрдВ рдХреЛрдИ рдХреБрдВрдЬреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рд╣реИрдВред
- FLAG_DONT_STOP_MATCHING - рдмреЗрдореЗрд▓ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рдЪрд▓рдиреЗ рдкрд░ рднреА рдорд┐рд▓рд╛рди рдмрдВрдж рди рдХрд░реЗрдВред
- FLAG_SHOW_GOOD_COMMENTS - рди рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░, рдмрд▓реНрдХрд┐ рдЙрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдФрд░ рд╢рд░реНрддреЛрдВ рдкрд░ рднреА рдЯрд┐рдкреНрдкрдгреА рджрд┐рдЦрд╛рдПрдВ, рдЬреЛ рддреБрд▓рдирд╛ рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реИрдВред
рдпреЗ рдЭрдВрдбреЗ рдЖрд╡реЗрджрди рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдареАрдХ рд╣реИ, рдзреНрд╡рдЬ "FLAG_DONT_STOP_MATCHING" рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░рдкрддреНрд░ рдбреЗрдЯрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреЛрдб рдХреЛ рдкреВрд░рдХ рдХрд░реЗрдВ:
$flags = AMatch::FLAG_DONT_STOP_MATCHING; $match = AMatch::runMatch($params, $flags) тАж
рдЕрдм рдкрд░рд┐рдгрд╛рдо рд╕реЗ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ:
array ( 'doc_id' => 'Condition is not valid', 'subject_id' => 'Condition is not valid', 'parent_id' => 'Condition is not valid', 'data' => array ( 'flag' => 'Condition is not valid', ), 'title' => 'Expected parameter does not exist in the array of parameters', ) тАж ( )
рдореИрдВ рдореБрд╢реНрдХрд┐рд▓ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ!
рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ FLAG_STRICT_STRUCTURE рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрдм рдЖрдкрдиреЗ рдПрдкреАрдЖрдИ рдмрдирд╛рдпрд╛ рд╣реЛ рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реЛред рдЧреНрд░рд╛рд╣рдХ рдПрдкреАрдЖрдИ рд╕реЗ рдЬреБрдбрд╝реЗрдВрдЧреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВрдЧреЗред рдпрд╣ рд╕рдордп рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рднреЗрдЬрд╛ рдЧрдпрд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рди рдХреЗрд╡рд▓ рдЕрдорд╛рдиреНрдп рдорд╛рди рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЖрдо рддреМрд░ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреБрдВрдЬреАред
$flags = AMatch::FLAG_DONT_STOP_MATCHING | AMatch::FLAG_STRICT_STRUCTURE;
рдЖрдЗрдП рдЗрд╕ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рджреЛ рдирдИ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдВрдЧреА:
'stopMatch' => 'рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдореЗрдВ рдЕрдЬреНрдЮрд╛рдд рдкреИрд░рд╛рдореАрдЯрд░',
'рдЕрдЬреНрдЮрд╛рдд рдкреИрд░рд╛рдореАрдЯрд░:' => 'wtf_param',
// рдХрд┐рд╕реА рднреА рдорд╛рдирдЪрд┐рддреНрд░рдг рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдорд╛рди AMatch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ :: UNKNOWN_PARAMETERS_LIST рдФрд░ рдореБрдЦреНрдп рдирд╛рдо AMatch :: _ UNKNOWN_PARAMETERS_LIST
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЗрд╕ рдмрд╛рдд рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рддреНрдпрд╛рдкрди рд╢рд░реНрддреЗрдВ рдирд╣реАрдВ рд╣реИрдВред
рдХреАрдЯ рдирд┐рдпрдВрддреНрд░рдг
рдЕрдВрддрд┐рдо рдзреНрд╡рдЬ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬрдм рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЕрдорд╛рдиреНрдп рдХреБрдВрдЬреА рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рдиреНрдп рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рд╕рд╣реА рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЭрдВрдбреЗ рдХреЛ рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореВрд▓ рд╕рд╣реА рд╕рд░рдгреА рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ:
define('DEBUG_MODE', true); if (DEBUG_MODE) { $flags |= AMatch::FLAG_SHOW_GOOD_COMMENTS; } тАж Victory: if (DEBUG_MODE) { $comments = $match->matchComments(); $comments_explanation = $match->matchCommentsConditions(); echo PHP_EOL; var_export($comments); echo PHP_EOL; var_export($comments_explanation); }
рдЕрдм рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХрдИ bukaf рд╣реЛрдВрдЧреЗ (рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА AMatch рд╕реНрдерд┐рд░рд╛рдВрдХ рдореЗрдВ рд╣реИрдВ):
Victory! array ( 'doc_id' => 'OK. Condition is valid', 'subject_id' => 'OK. Condition is valid', 'author_name' => 'Optional parameter, skipped bad condition result', 'parent_id' => 'OK. Expected parameter type is valid', 'data' => 'OK. Expected parameter type is valid', 'title' => 'OK. Expected parameter exist in the array of parameters', 'stopMatch' => 'The array does not contains unknown parameters', )
рдЕрд▓рдЧ-рдЕрд▓рдЧ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдкреБрдирд░реНрд▓реЗрдЦрди рдЕрд╕рдлрд▓ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдкрд╣рд▓реЗ рд╢рд░реНрддреЛрдВ рдореЗрдВ "рд╕рдлрд▓рддрд╛" рдереА, рддреЛ рдЧрд▓рдд рд╕реНрдерд┐рддрд┐ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧреАред рдпрджрд┐ рдкрд╣рд▓реЗ рдХреЛрдИ рд╡рд┐рдлрд▓рддрд╛ рд╣реБрдИ рдереА, рддреЛ рдПрдХ рд╕рдлрд▓ рд╕реНрдерд┐рддрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдЫреВрдПрдЧреАред
рдореИрдВ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдБ!
рдХреБрдЫ рдХреИрдВрдбреА рдЬреЛрдбрд╝реЗрдВред $ рдореИрдЪ рд╕реЗ рдкрд╣рд▓реЗ- stopMatch (), рдиреЗрд╕реНрдЯреЗрдб рд╕рд░рдгреА рд╕рдВрд░рдЪрдирд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
function checkDocumentData($data) { $result = AMatch::runMatch($data) ->flag('experiment')
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред
Poslebukvie
рдЖрдВрджреНрд░реЗрдИ рдЯреЗрд░реЗрд╢рдЪреЗрдВрдХреЛ, рдЖрдВрджреНрд░реЗрдИ рд▓реБрдЧреЛрд╡реЙрдп рдФрд░ рдкреНрд░реЛрд╡реЛрд╡ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (unittests рджреЗрдЦреЗрдВ) рдФрд░ рдпрд╣рд╛рдБ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
https://github.com/KIVagant/AMatchрдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдЙрдкрдпреЛрдЧреА рдХрд╛рдореЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЖрд▓реЛрдЪрдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдУрд╣ рдареАрдХ рд╣реИ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЬрд▓реЗред рдФрд░ рдЕрдлрд╕реЛрд╕, рдореИрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЧреНрд░рд╛рдорд░-рдирд╛рдЬреА рд╡реЗрд▓рдХрдоред
рдпреБрдкреАрдбреА:
рдЕрдЧрд▓рд╛ рд▓реЗрдЦ:
рдирдИ рдХреЙрд▓рдмреИрдХ рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ ред
рдпреБрдкреАрдбреА:
рд╕рдВрдЧреАрддрдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рддред