рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рджрд┐рдиреЛрдВ рд╕реЗ Yii рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рджрд░реНрд╢реА рдирд╣реАрдВ рдереАред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЦрдВрдб
рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрджред рдХрд┐рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреИрд╕реЗ рдЕрдЬрд╛рдХреНрд╕ рдпрд╛ рдбрд┐рдмрдЧ рдореЛрдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВ рддреНрд░реБрдЯрд┐ рддреНрд░реБрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИрдВ?
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдврд╛рдВрдЪреЗ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рджреГрд╢реНрдп рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ, рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдереА рдФрд░ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред
рдХрдЯреМрддреА рдХреЗ рддрд╣рдд, рдпреЛрдЬрдирд╛ рдЦреБрдж рдФрд░ рдЙрд╕ рдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред
0. рддреНрд░реБрдЯрд┐ рд╕реНрддрд░
рдЗрд╕рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, Yii рдХреЗрд╡рд▓
рдЪреЗрддрд╛рд╡рдиреА рдФрд░
рд╕реВрдЪрдирд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде
рдЕрдкрд╡рд╛рдж рднреА рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ ред рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, register_shutdown_function (рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
1. рдЪрд▓реЛ рдЪрд▓реЗрдВ!
рдпрджрд┐ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рд╣реЛрддреА рд╣реИ рдпрд╛ рдХреЛрдИ рдЕрдирд┐рдпреЛрдЬрд┐рдд рдЕрдкрд╡рд╛рдж рд╣реЛрддрд╛ рд╣реИ, рддреЛ Yii рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ рдпрджрд┐ рджреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рддрджрдиреБрд╕рд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
YII_ENABLE_ERROR_HANDLER = true YII_ENABLE_EXCEPTION_HANDLER = true
рджреЛрдиреЛрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдПрдХ рд╕рдорд╛рди рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ Yii рдореЗрдВ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдВрддрд░ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ред

2. рд▓реЙрдЧрд┐рдВрдЧ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рддреНрд░реБрдЯрд┐ рдпрд╛ рдЕрдкрд╡рд╛рдж рдЬрд╛рдирдХрд╛рд░реА рд▓реЙрдЧ рдХреЛ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ -
Yii :: рд▓реЙрдЧ () рдлрд╝рдВрдХреНрд╢рдиред
3. рдЗрд╡реЗрдВрдЯ рдХреЙрд▓
рдЕрдЧрд▓рд╛,
onError (
onException ) рдЗрд╡реЗрдВрдЯ
рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рдЗрди рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВрдбрд▓рд░ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдШрдЯрдирд╛ рдХреЗ рдЖрдЧреЗ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ (рдИрд╡реЗрдВрдЯ рд╕реЗрдЯ
рдХрд░рдХреЗ-> рд╕рдВрднрд╛рд▓рд╛ =
рд╕рддреНрдп )ред рдЖрдк рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рдЯрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$app->onError=function($event) { ... }
рдпрд╛ рд╕рдВрд▓рдЧреНрдирдХрд╣реИрдВрдбрд▓рд░ () рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
4. рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐рд╣реИрдВрдбрд▓рд░
рдпрджрд┐ рдИрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ (
рдИрд╡реЗрдВрдЯ-> рд╣реИрдВрдбрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ =
рдЧрд▓рдд ), рддреЛ рдПрд░рд░рд╣реИрдВрдбрд▓рд░ yii рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдорд╛рдирдХ рдШрдЯрдХ рдЦреЗрд▓ рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ)ред рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд
рд╣реИрдВрдбрд▓ () рдпрд╛
рд╣реИрдВрдбрд▓ рдПрдХреНрд╕реЗрдкреНрд╢рди () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрди рд╕рдорд╛рди рддрд░реАрдХреЛрдВ рдХреЗ рднреАрддрд░, рддреНрд░реБрдЯрд┐ рдФрд░ рдЕрдкрд╡рд╛рдж рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ (Yii 1.1.9 рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз):
- HandleError () рдореЗрдВ , рдЕрдиреБрд░реЛрдз рдкреНрд░рдХрд╛рд░ (ajax or not) рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЛрдб (рдирд┐рд░рдВрддрд░ YII_DEBSE) рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ
- HandleException () рдореЗрдВ , рдЕрдкрд╡рд╛рдж рдХрд╛ рдкреНрд░рдХрд╛рд░ (CHttpException рдпрд╛ CException) рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЛрдб (рдирд┐рд░рдВрддрд░ YII_DEBUG) рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ
рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП, рдпрд╛ рддреЛ рд╕рд░рд▓рддрдо html- рдПрд░рд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдРрдк-> рдбрд┐рд╕реНрдкреНрд▓реЗрдПрдпрд░ (), рдпрд╛ рдЯреНрд░рд┐рдХреА
рд░реЗрдВрдбрд░ () рдлрдВрдХреНрд╢рдирд╣реИрдВрдбрд▓рд░ рдШрдЯрдХ рдХреЗ рдлрдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдЬрд╛рдХреНрд╕ рдХреА рдЬрд╛рдБрдЪ рднреА рд╣реИрдВрдбрд▓ рдПрдХреНрд╕реЗрдкреНрд╢рди () рдореЗрдВ рдХреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдЗрд╕реЗ 1.1.9 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╕рди рд▓реМрдЯреЗрдВред
5. ErrorHandler рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдкреНрд░рддрд┐рдкрд╛рджрди
рдореИрдВ ErrorHandler-> рд░реЗрдВрдбрд░ () рдлрд╝рдВрдХреНрд╢рди "рдЯреНрд░рд┐рдХреА" рдХрд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдирд┐рдпрдорд┐рдд рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдЬрдм YII_DEBUG = true, рдЗрд╕реЗ "рдЕрдкрд╡рд╛рдж" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд░реЗрдВрдбрд░ "рдЕрдкрд╡рд╛рдж.php" - рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ - рдЬрдм YII_DEBUG = рдЧрд▓рдд рдФрд░ CHttpException рдХреЗ рд▓рд┐рдП рднреА , рддреЛ рдЗрд╕реЗ "рддреНрд░реБрдЯрд┐" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдПрдХред рдпрджрд┐ рдПрд░рд░рдПрд╢рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╕реНрдЯрдо рдПрд░рд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЦред рдпрджрд┐ рдПрд░рд░рдПрдХреНрд╢рди рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрд░рд░ рд╡реНрдпреВ рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕.рдкреАрдкреА рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ http рдЕрдкрд╡рд╛рдж рдХреЛрдб рд╣реИ (рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ 500)
рдореЗрдВред рдпрджрд┐ viewXXX.php рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдпрд╣ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ
рджреГрд╢реНрдп рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ:
1. рд╡рд┐рд╖рдп / рдереАрдордирд╛рдо / рд╡рд┐рдЪрд╛рд░ / рдкреНрд░рдгрд╛рд▓реА
2. рдЕрд╕реБрд░рдХреНрд╖рд┐рдд / рд╡рд┐рдЪрд╛рд░ / рдкреНрд░рдгрд╛рд▓реА
3. рд░реВрдкрд░реЗрдЦрд╛ / рд╡рд┐рдЪрд╛рд░
6. рдХрд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдкреНрд░рджрд░реНрд╢рди
рдПрд░рд░рдПрд╢рди рд╕реЗрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ "рд╕рд╛рдЗрдЯ / рддреНрд░реБрдЯрд┐") рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡рд┐рдзрд┐, рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдкрд╛рджрди рдореЛрдб рдореЗрдВ рдХрд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЬрд╛рдХреНрд╕ рдФрд░ рдЧреИрд░-рдЕрдЬрд╛рдХреНрд╕ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдБ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ
рд╡реНрдпреВ / рд╕рд╛рдЗрдЯ / рдПрд░рд░.php (
рд╡реНрдпреВрдЬ / рд╕рд┐рд╕реНрдЯрдо / рдПрд░рд░XXX.php рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рд╕рдореЗрдВ рдкреЗрдЬ рдХрд╛ рдкреВрд░рд╛
html- рдХреЛрдб рд╣реЛ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдлреНрдЯрд░рд╡рд░реНрдб: рдлреИрдЯрд▓ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ
рд▓реЗрдХрд┐рди рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? Register_shutdown_function рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдирдХрд╛ рдЕрд╡рд░реЛрдзрди рд╡рд░реНрддрдорд╛рди рдореЗрдВ Yii рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рд╣реИ рдХрд┐ рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдм рдЙрдкрдпреЛрдЧ рд╣реИ:
1. рдЖрд╡реЗрджрди рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рд╢рдЯрдбрд╛рдЙрди рд╣реИрдВрдбрд▓рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ
2. рд╣реИрдВрдбрд▓рд░ рдореЗрдВ,
error_get_last () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдФрд░ рдЙрд╕рдХреЗ рд╕реНрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдкрд╣рд▓реЗ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЧрдИ рд╣реИ, рддреЛ NULL рд╡рд╛рдкрд╕ рдХрд░ рджреА рдЬрд╛рдПрдЧреА
3. рдкреВрд░реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддрдВрддреНрд░ рдХреЛ
рдРрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдЪрд▓рд╛рдПрдВ-> рд╣реИрдВрдбрд▓ () , рдпрд╛рдиреА рд╕рд░реНрдХрд┐рдЯ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рдХрд░реАрдм
Error_get_last () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ
рд╕рдордп, рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди error_reporting рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдСрдкрд░реЗрдЯрд░ рд╕реЗ рдкрд╣рд▓реЗ @ рдкреНрд░рддреАрдХ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЗрд╕рдореЗрдВ E_NOTICE рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╕рддреНрд░ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВ рддреЛ @session_start () рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛)ред
рдЗрд╕рд▓рд┐рдП, рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВрдиреЗ
рдПрд░рд░рдПрд╢рди = null рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ - рдлрд┐рд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрд░реЗрдЦ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпреВ
рдПрд░рд░ред рдПрдлрдкреА рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдПрдХ рдФрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдПрдХреНрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рджреЛрд╣рд░рд╛рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЕрдзрд┐рдХ рд╣реИ:
class WebApplication extends CWebApplication { protected function init() { register_shutdown_function(array($this, 'onShutdownHandler')); parent::init(); } public function onShutdownHandler() {
рдирд┐рд╖реНрдХрд░реНрд╖
рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, Yii рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд▓рдЪреАрд▓рд╛рдкрди рд╣реИред рдореИрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕рд▓рд╛рд╣ рдХреЛ рд╕реБрдирдХрд░ рдкреНрд░рд╕рдиреНрди рд╣реВрдВред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдпреБрдкреАрдбреА:рдореИрдВрдиреЗ рдпреЛрдЬрдирд╛
рдХреЛ рдкреАрдбреАрдПрдл рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ