
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрдИ рд╡реЗрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж
рдХреЛрдбрдЗрдЧреНрдирд┐рдЯрд░ рдЬреИрд╕реЗ рдЕрджреНрднреБрдд рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реА рдкрд╕рдВрдж рдЙрд╕ рдкрд░ рдЧрд┐рд░ рдЧрдИ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдХрдо рдкреНрд░рд╡реЗрд╢ рд╕реАрдорд╛ рд╣реИ, рд╡рд╣ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ, рдЕрдЪреНрдЫрд╛ рдкреНрд░рд▓реЗрдЦрди, рддреЗрдЬ, рдЖрджрд┐ред рдЖрджрд┐ рд╕рд░рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ "рдпрд╣" рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреЗ рд╣рд╛рде рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╣реИред рдмреЗрд╢рдХ, рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдФрд░ рдкрд░рд┐рд╖реНрдХреГрдд рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдЖрдЧреЗ рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ "рдЙрдиреНрдирдд"
рдХреЛрдбрдЗрдЧреНрдирд╛рдЗрдЯ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЗрд╕рдХреА рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рдЙрджрд╛рд╣рд░рдг, рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рдврдВрдЧ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдореЗрдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рддреЛ, рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ
CodeIgniter рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдЦ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрдо рд╕реЗ рдХрдо рдореБрдЦреНрдп рд╡рд┐рд╖рдпреЛрдВ рдФрд░ "
рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд╛рд░реНрд╕рд░ рдХреНрд▓рд╛рд╕ " рд╡рд┐рд╖рдп рдХреЛ рдкрдврд╝рд╛ рд╣реИ рдФрд░ рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рд╣реИред
рдореВрд▓ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкрд╣рд▓реА рдЪреАрдЬ рдирд┐рдпрдВрддреНрд░рдХ, рдореЙрдбрд▓ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдореИрдкрд┐рдВрдЧ рдХреЛ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИред рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "
рд╕рдорд╛рдЪрд╛рд░ " рдореЙрдбреНрдпреВрд▓ рдЬреЛ рд╕рдорд╛рдЪрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХрд╛ рдореЙрдбреНрдпреВрд▓ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рд░реЗрдВрдЧрдирд╛ рд╣реЛрдЧрд╛:
рдирд┐рдпрдВрддреНрд░рдХ, рдореЙрдбрд▓, рд╡рд┐рдЪрд╛рд░ ред рдФрд░ рдпрд╣ рдЬрд▓реНрдж рд╣реА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХрд┐рд╕ рдореЙрдбрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рдХрд┐рд╕ "рджреГрд╢реНрдп" рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдРрд╕рд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИред рдФрд░ рдЕрдЧрд░ 10 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рдВ, рдЖрдк рдлрд╝реЛрд▓реНрдбрд░ (рдирд┐рдпрдВрддреНрд░рдХ, рдореЙрдбрд▓, рд╡рд┐рдЪрд╛рд░) (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рд╕рдорд╛рдЪрд╛рд░, рдореЗрдиреВ, рдЯрд┐рдкреНрдкрдгреА ) рдХреЗ рдЕрдВрджрд░ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ, рдореЙрдбрд▓ рдФрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕
рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдерд╛, рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдордиреЗ рдЕрдкрдирд╛
рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдпрд╛, рдЕрд░реНрдерд╛рддред рдлрд╝реЛрд▓реНрдбрд░, рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 3 рдлрд╝реЛрд▓реНрдбрд░ рд╣реИрдВ (рдХрд╛рдЙрдВрдЯрд░-рдПрд╕, рдореЙрдбрд▓, рд╡рд┐рдЪрд╛рд░)ред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ
рдПрдЪрдПрдорд╡реАрд╕реА рджреНрд╡рд╛рд░рд╛
рдХреЛрдбрд┐рдирдЧрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕
рд▓рд┐рдВрдХ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдкрдврд╝реЗрдВред
рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рднреАрддрд░ рдЕрдкрдиреЗ рдореЙрдбрд▓, рдирд┐рдпрдВрддреНрд░рдХреЛрдВ, рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЖрдк рдореЙрдбрд▓, рдХрд╛рдЙрдВрдЯрд░ рдпрд╛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдЗрди рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрдбрд╝реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдХрдИ рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рдореЙрдбрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ (рдпрд╛ рдПрдХ рдореЙрдбрд▓ рд╕реЗ рджреВрд╕рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рдЖрджрд┐)ред
рдмреЗрд╢рдХ, рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
рдЖрдзрд╛рд░ CI рдореЗрдВ, URL рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
example.com/
рдХреНрд▓рд╛рд╕ / рдлрдВрдХреНрд╢рди / рдЖрдИрдбреАрдпрд╛рдиреА рдкрд╣рд▓реЗ рдЦрдВрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ (рд╡рд░реНрдЧ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдЗрд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рддреАрд╕рд░рд╛ рдлрд╝рдВрдХреНрд╢рди (рд╢рд╛рдпрдж рдЪреМрдереЗ рдФрд░ рдкрд╛рдВрдЪрд╡реЗрдВ) рдХреЛ рджрд┐рдП рдЧрдП рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдпреВрдЖрд░рдПрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рддрд░реНрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдкреВрд░реА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдорд┐рд▓рддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХреЙрдиреНрдлрд┐рдЧ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдорд╛рд░реНрдЧреЛрдВ.php рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЗрд╕рдореЗрдВ рд▓рд┐рдЦреЗрдВ:
$route['default_controller'] = "main"; $route[':any'] = "main";
рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐, рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░
рд╕реВрдЪрдХрд╛рдВрдХ () рдлрд╝рдВрдХреНрд╢рди рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж,
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХрдВрдЯреНрд░реЛрд▓рд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ "
main.php "
рдХрд╣реЗрдВ ред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╣рдордиреЗ HMVC рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдЕрдм
CI_Controller рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐
MX_Controller рд╕реЗ рд╡рд╛рд░рд┐рд╕ рд╣реЛрдВрдЧреЗред рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдореБрдЦреНрдп рд╣реЛрдЧрд╛, рдФрд░ рд╕рдм рдХреБрдЫ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧреБрдЬрд░ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛрдЧрд╛ рдФрд░ рдмрд╕ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣
рд╕реВрдЪрдХрд╛рдВрдХ () рдлрд╝рдВрдХреНрд╢рди рдореЗрд░реЗ рд▓рд┐рдП рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
function index() { session_start();
Tp рд╡рд░реНрдЧ рд╕реЗ рдЕрдВрддрд┐рдо рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЕрднреА рддрдХ рдирд╣реАрдВ рдЫреБрдЖ рдЬрд╛рдПрдЧрд╛ред рдмреЗрд╕рд┐рдХ CI PHP рд╕рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдХреАрдЬрд╝ рдореЗрдВ рдбреЗрдЯрд╛ рдмрдЪрд╛рддрд╛ рд╣реИ (рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рднреНрд░рдо рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рдлрд┐рд░ рднреА, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореВрд▓ PHP рд╕рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рд╕реАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛ (рдореИрдВ рдЗрд╕ рдФрд░ рдЙрд╕ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ)ред
рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рднрд╛рд╖рд╛ рдХреА рдЬрд╛рдВрдЪ рд╣реИ (рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдХреНрд╕рд░ рдмрд╣реБрднрд╛рд╖реА рд╣реЛрддреА рд╣реИрдВ)ред
function check_lang() { if ($s=$this->uri->segment(1)) { switch ($s) { case 'ru': define('LANG','ru'); break; case 'en': define('LANG','en'); $this->config->set_item('language', 'english'); break; default: show_404('page'); } } else { define('LANG','ru'); } }
рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ URL рдХрд╛ рдкрд╣рд▓рд╛ рдЦрдВрдб рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛ред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
рдЖрд╡реЗрджрди / config / config.php рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
$config['language'] = 'russian';
рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рднрд╛рд╖рд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
$this->config->set_item('language', 'english');
рдпрджрд┐ рдЖрдк рдмрд╣реБрднрд╛рд╖рд╛рд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЗрд╕реЗ рдЫреЛрдбрд╝реЗрдВред
Check_module () рдлрд╝рдВрдХреНрд╢рди рдХреЛ URL рдХреЗ рджреВрд╕рд░реЗ рдЦрдВрдб (рдпрд╛ рдкрд╣рд▓реЗ, рдпрджрд┐ рдЖрдк рдмрд╣реБрднрд╛рд╖рд┐рдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╡реИрдз рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЕрд░реНрдерд╛рддред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рд╕реЗ, рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдореЗрдВ рдЕрдиреБрдордд рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:
function __construct() { $this->modules=array('auth','cabinet','ads','root');
рдлрд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:
function check_module() { if ($m=$this->uri->segment(2)) { if (in_array($m,$this->modules)) { $this->common->load_module($m); $this->tp->tpl=$this->$m->tpl; } else { show_404('page'); } } else { $this->load_main_page();
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рджреВрд╕рд░рд╛ рдЦрдВрдб рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдореБрдЦреНрдп рдкреГрд╖реНрда рд▓реЛрдб рд╣реИред рдпрджрд┐ URL рдореЗрдВ рдПрдХ рд╡реИрдз рдореЙрдбреНрдпреВрд▓ рд╣реИ, рддреЛ рдпрд╣ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ 404 рдкрд░ рдлреЗрдВрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдореЙрдбрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ 2
tp.php рдФрд░
common.php рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реВрдВ, рдЬреЛ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ (рдореИрдВ рдЙрдиреНрд╣реЗрдВ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХреЙрдиреНрдлрд┐рдЧрд░ рдСрдЯреЛрд▓реИрдбрд░ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ)
/autoload.php ):
$autoload['model'] = array('tp','common');
"
рдЯреАрдкреА " рдореЗрдВ рдореЗрд░реЗ рд╕рд░рд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдмрд╣реБрдд рд╣реА рдХрдордЬреЛрд░ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ред "
рд╕рд╛рдорд╛рдиреНрдп " рдореЗрдВ рдореИрдВ рдЙрди рд╕рднреА рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рддреЛ рдпрд╣
$-> рд╕рд╛рдорд╛рдиреНрдп-> load_module ($ m) $ m рдореЙрдбреНрдпреВрд▓ (URL рд╕реЗ рджреВрд╕рд░рд╛ рдЦрдВрдб) рдФрд░
рд╕реВрдЪрдХрд╛рдВрдХ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ:
function load_module($module) { if (is_dir('application/modules/'.$module))
URL рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{page_title}</title> <link rel="stylesheet" type="text/css" href="{SITEURL}/css/main.css"> </head> <body> <div class="page"> {HEADER} <div class="content"> <div class="page_title"> {title_of_page} </div> <div class="needwidth"> <div class="rightside"> {LOOKED_ADS} </div> <div class="sam_kontent"> {MSG} {CONTENT} </div> <div class="clear"></div> </div> </div> {FOOTER} </div> </body> </html>
рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЯреЗрдореНрдкреНрд▓реЗрдЯ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд╡реНрдпреВ / рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ (
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд╡рд┐рднрд┐рдиреНрди рдореЙрдбреНрдпреВрд▓ рдПрдХ рд╣реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореЙрдбреНрдпреВрд▓ рдирд┐рдпрдВрддреНрд░рдХ рдврд╛рдВрдЪрд╛ рдЦреБрдж рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
class News extends MX_Controller { private $mname; public $tpl; function __construct() { $this->tpl='p_default.tpl';
рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓
рд╕рдорд╛рдЪрд╛рд░ рдореЗрдВ рд╣рдо 3 рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддреЗ рд╣реИрдВ -
рдирд┐рдпрдВрддреНрд░рдХ, рдореЙрдбрд▓, рд╡рд┐рдЪрд╛рд░ ред
рдХрдВрдЯреНрд░реЛрд▓рд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ,
news.php рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдФрд░ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЛрдб рд▓рд┐рдЦреЗрдВред
рд╕реВрдЪрдХрд╛рдВрдХ () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рддрд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдореЙрдбрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд news_model.php рдореЙрдбрд▓ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЙрдбрд▓ рдореЗрдВ рдореИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рдЕрдиреНрдп рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВред
рдЕрдВрдд рдореЗрдВ, рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рдВрдкреВрд░реНрдг рдкрд░рд┐рдгрд╛рдо
рдХрдВрдЯреЗрдВрдЯ рд▓реЗрдмрд▓ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ "рдЯреЗрдореНрдкрд▓реЗрдЯ" рдХреЗ рддрд░реНрдХ рдХреЛ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ред
рдореИрдВрдиреЗ рдмрд╕ рдмреЗрд╕ рдкрд╛рд░реНрд╕рд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ "рдорд╛рдирд╡ рд░реВрдк" рдореЗрдВ рд▓рд╛рдпрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореВрд▓ рдХрд╛рдо рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реЗ рдЙрд╕рд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдкрдЯреЗрдВред
рддреЛ,
рдЯреАрдкреА рдореЙрдбрд▓ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдпрд╣рд╛рдБ 2
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЪрд░ рд╣реИрдВ -
$ D ,
$ tpl ред
$ D рд╣рдорд╛рд░реА рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд░рдгреА рд╣реИ рдЬреЛ рдЕрдВрддрддрдГ
$ {
- D [> LABEL тАЩ] рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЦрд╛рдХреЗ рдореЗрдВ {LABEL} рдлреЙрд░реНрдо рдХреЗ рд╕рднреА рд▓реЗрдмрд▓ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред $ tpl рдкреВрд░реЗ рдкреГрд╖реНрда рдХрд╛ рдореБрдЦреНрдп рдореБрдЦреНрдп рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИ, рдЬреЛ URL рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИ рдФрд░ рдлрд┐рд░ рдореБрдЦреНрдп рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ
$ рдпрд╣-> tp-> load_tpl рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ($ this-> tp-> tpl) ред
рд╣рдордиреЗ рдКрдкрд░
рдкрд╛рд░реНрд╕ () рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП 2 рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдкрд╣рд▓рд╛ рд▓реЗрдмрд▓ рд╣реИ рдЬрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ (html рдЯреБрдХрдбрд╝рд╛), рджреВрд╕рд░рд╛ HTML рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ
рджреГрд╢реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рд▓реЗрдХрд┐рди
рдкрд╛рд░реНрд╕ () рдЗрд╕ html рдХреА рдЬрд╛рдБрдЪ рдЗрд╕рдореЗрдВ рдореМрдЬреВрдж рд▓реЗрдмрд▓реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдо рдореЗрдВ рд▓реЗрдЧрд╛:
function parse($label, $tpl) { $TPL=$this->load->view($tpl, FALSE, TRUE); $pattern = '/{[A-Za-z0-9_]+}/';
рдЗрд╕ рд╕рдм рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдЖрдк рд╕рдорд╛рдЪрд╛рд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдорд╛рдЪрд╛рд░ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕рдорд╛рдЪрд╛рд░
.pl рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╣рд╛рдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ HTML рд▓рд┐рдЦрддреЗ рд╣реИрдВ
<h1> !</h1>
рдлрд┐рд░
example.com/ru/news рдЪрд▓рд╛рдПрдВ, рдлрд┐рд░
main.php рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЬреЛ
рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛,
p_default.tpl рдЯреЗрдореНрдкрд▓реЗрдЯ
рд╡рд╣рд╛рдВ (рдКрдкрд░ рдХреЛрдб рд╕реЗ)
рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдлрд┐рд░,
рд╕рдорд╛рдЪрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдирд┐рдпрдВрддреНрд░рдХ,
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдореЙрдбреНрдпреВрд▓ / рд╕рдорд╛рдЪрд╛рд░ / рд╡рд┐рдЪрд╛рд░ / рд╕рдорд╛рдЪрд╛рд░.рдкреНрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде {CONTENT} рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░
p_default.tpl рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
рд▓реЗрдХрд┐рди ... рдпрд╣ рдЕрднреА рднреА рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдЗрд╕
$ $ рдирд╣реАрдВ рдХрд┐рдпрд╛
рд╣реИ-> tp-> load_tpl ($ this-> tp-> tpl) рдФрд░
$ this-> tp-> print_page () ред
Load_tpl () рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ, рдЬреЛ рдореБрдЦреНрдп рдПрдХ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдкреВрд░реЗ рдкреГрд╖реНрда рдХрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ (
рд╡рд┐рдЪрд╛рд░реЛрдВ / рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ)ред рдлрд┐рд░ рдЗрд╕ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдЕрдиреНрдп рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдпрд╛ рддреЛ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рдХреЗрд╡рд▓ рдЪрд░ (рдЬреИрд╕реЗ рд╢реАрд░реНрд╖рдХ рдпрд╛ рдХреЙрдкреАрд░рд╛рдЗрдЯ) рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдКрдкрд░реА рдорд╛рдорд▓реЗ рдореЗрдВ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд▓реЗрдмрд▓ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд░рд▓ рдЪрд░ рд╣реИрдВред рдпрджрд┐ рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рд╡реЗ рдмрд╕ рдУрд╡рд░рд░рд╛рдЗрдЯ (рд╣рдЯрд╛рдП рдЧрдП) рд╣реИрдВред рдпрд╣рд╛рдБ рдХреЛрдб рд╣реА рд╣реИ:
function load_tpl($tpl_name) { $TPL=$this->load->view('templates/'.$tpl_name, FALSE, TRUE); $pattern = '/{[A-Z0-9_]+}/'; $pattern2 = '/{[a-z_]+}/'; preg_match_all($pattern, $TPL, $MODULES);
рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдЕрдВрдд рдореЗрдВ,
рдореБрдЦреНрдп ,
print_page () рдлрд╝рдВрдХреНрд╢рди
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
function print_page() { $this->parser->parse('templates/'.$this->D['TPL'], $this->D); }
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА, рдореИрдВрдиреЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореЗрд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕реЗ рдЕрдВрдд рддрдХ рдирд╣реАрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред "
Tp " рдореЙрдбрд▓ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
function clear($label) { $this->D[$label]=''; } function kill($label) { unset($this->D[$label]); } function assign($label, $value='') { if (is_array($label)) { foreach ($label as $l=>$v) { $this->D[$l]=$v; } } else $this->D[$label]=$value; }
рдЙрдирдХреЗ рддрд░реНрдХ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред
$ рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ
рд╣реБрдП-> tp-> рдЕрд╕рд╛рдЗрди ('page_title', 'Home рдкреЗрдЬ') , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ "page_title" рдХреЛ "рд╣реЛрдо рдкреЗрдЬ" рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░, рдРрд╕реЗ рдореЙрдбреНрдпреВрд▓ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╡реАрдирддрдо рд╕рдорд╛рдЪрд╛рд░ рдпрд╛ рдореЗрдиреВред рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреЗ рдЕрдВрджрд░ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, {MENU} рдпрд╛ {HEADER}ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд▓реЗрдмрд▓ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдкрд░, рдкрд╛рд░реНрд╕ () рдлрд╝рдВрдХреНрд╢рди, рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд▓реЗрдмрд▓ рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрджрд▓реЗрдВ рдЬреЛ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдореЙрдбреНрдпреВрд▓ рднреА рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рдЕрдкрдирд╛ MVC рд╣реЛрддрд╛ рд╣реИред
рд╣реЗрдбрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
class Header extends MX_Controller { public $mname, $tag; function __construct() { $this->mname=strtolower(get_class());
рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп
$ рдпрд╣-> tp-> рдкрд╛рд░реНрд╕ ($ рдпрд╣-> рдЯреИрдЧ, $ рдпрд╣- mnameред '/' $ $ рдпрд╣-> mname 'ред Tpl') рдореЙрдбреНрдпреВрд▓ / рд╣реЗрдбрд░ / рд╡реНрдпреВ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде {HEADER} рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛
ред /header.tplрдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореЙрдбреНрдпреВрд▓ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ URL рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореБрдЦреНрдп рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкрд╛рд░реНрд╕ () рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдЖрджрд┐рдо рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ, рдореИрдВ рдЕрднреА рднреА рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рдбрд┐рдЬрд╛рдЗрдирд░ рдирд╣реАрдВред
рдпрджрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ, рддреЛ рдЖрдк рдореЗрд░реЗ рдЫреЛрдЯреЗ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдбрдЗрдЧреНрдирд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ (рдиреАрдЪреЗ рд▓рд┐рдВрдХ) рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд▓рдЧрднрдЧ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ, рдореЙрдбреНрдпреВрд▓, рдореЙрдбрд▓ рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдХрд╛рдЯ рджрд┐рдпрд╛, рдХреЗрд╡рд▓ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЙрди рд▓реЛрдЧреЛрдВ рддрдХ рд╣реА рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛, рддрд╛рдХрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдмрд╛рдХреА рдЪреАрдЬреЛрдВ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рди рд╣реЛрдВред
рдмреЗрд╢рдХ, рдЕрднреА рднреА рдмрд╣реБрдд рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдерд╛ред
рдореБрдЭреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреА рдЖрд▓реЛрдЪрдирд╛ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдореЗрд░рд╛ рд╕рдВрд╢реЛрдзрд┐рдд CodeIgniter
рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
UPDATE 10/15/2011Github.com рдкрд░ рдкрдВрдЬреАрдХреГрдд рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рд▓рд┐рдВрдХ
https://github.com/IbrahimKZ/codeigniter рд╣реИ