рдкреЗрд╢ рд╣реИ рдХреЛрд╣рдирд╛ 3.0 - рднрд╛рдЧ 7, 8, 9

рдХреЛрд╣рд╛рдирд╛ PHP V3 (KO3) рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рддрд╡реЗрдВ, рдЖрдард╡реЗрдВ рдФрд░ рдиреМрд╡реЗрдВ рднрд╛рдЧреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВред рдкрд┐рдЫрд▓реЗ рднрд╛рдЧреЛрдВ рдХреЛ " рдХреЛрд╣рди 3.0 рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд " рд▓реЗрдмрд▓ рдХреЗ рддрд╣рдд рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ 3-рдЗрди -1 рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╕рд╣рд╛рдпрдХ (рд╣реЗрд▓реНрдкрд░реНрд╕), рдореЙрдбреНрдпреВрд▓ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред



рднрд╛рдЧ 7: рдорджрджрдЧрд╛рд░



рдХреЛрд╣рдирд╛ 2.0 рдкреНрд░рд▓реЗрдЦрди рдЙрдирдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

рд╕рд╣рд╛рдпрдХ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВред



рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╣рд╛рдпрдХ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд┐рд░ рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


рдпрд╣реА рд╣реИ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпреЗ рд╕реНрдерд┐рд░ рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рдЪреАрдЬреЛрдВ рдореЗрдВ "рдорджрдж" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ URL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рдХреЛрд╣рдирд╛ рдореЗрдВ рдХрдИ рддреИрдпрд╛рд░ рд╕рд╣рд╛рдпрдХ рд╣реИрдВ , рд▓реЗрдХрд┐рди рд╣рдо рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред рд╕рдВрдкрд╛рджрдХ рдЦреЛрд▓реЗрдВ рдФрд░ рдЖрд░рдВрдн рдХрд░реЗрдВред



рдПрдХ рдирдпрд╛ "рд╕рд╣рд╛рдпрдХ" рдлрд╝реЛрд▓реНрдбрд░ "/ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХрдХреНрд╖рд╛рдУрдВ" рдореЗрдВ рдмрдирд╛рдПрдБред рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд╛рд▓реЗрдВ:



<?php class Helper_MyUrl { public static function SEOIt($str) { $str = preg_replace(array('/\s/', '/[$.+!*\'(),"]/'), array('-', ""), $str); return $str; } }
      
      





рдирд╡ рдирд┐рд░реНрдорд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "/ рдЖрд╡реЗрджрди / рд╡рд░реНрдЧ / рд╕рд╣рд╛рдпрдХ" рдореЗрдВ рдЗрд╕реЗ "myurl.php" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рдЕрдм "/application/views/pages/ko3.php" рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдЕрдВрдд рддрдХ рдЬреЛрдбрд╝реЗрдВ:



 <br /><?php echo Helper_MyUrl::SEOIt('This Is a string!!!');?>
      
      





рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ "http: // localhost / mykohana3 / ko3 /" рдЦреЛрд▓рдХрд░, рдЖрдкрдХреЛ рдиреАрдЪреЗ "ThisIsastring" рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдмрд╣реБрдд рд╕рд░рд▓!



рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫреЛрдЯрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ!



рднрд╛рдЧ 8: рдореЙрдбреНрдпреВрд▓



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



"рдореЙрдбреНрдпреВрд▓" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "рднрд╛рдЧреНрдп" рдирд╛рдордХ рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВред "рдореЙрдбреНрдпреВрд▓ / рднрд╛рдЧреНрдп" рдХреЗ рдЕрдВрджрд░ "рдХрдХреНрд╖рд╛рдПрдВ" рдФрд░ "рд╡рд┐рдЪрд╛рд░" рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВред рдлрд┐рд░ "/ рдореЙрдбреНрдпреВрд▓ / рднрд╛рдЧреНрдп / рдХрдХреНрд╖рд╛рдПрдВ" рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ "рдХреЛрд╣рдирд╛", рдФрд░ "/ рдореЙрдбреНрдпреВрд▓ / рднрд╛рдЧреНрдп / рд╡рд┐рдЪрд╛рд░" рдореЗрдВ рдПрдХ "рднрд╛рдЧреНрдп" рдмрдирд╛рдПрдВред рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЯреНрд░реА рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:



 modules +-- fortune |-- classes | +-- kohana +-- views +-- fortune
      
      





рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "/ рдореЙрдбреНрдпреВрд▓ / рднрд╛рдЧреНрдп / рдХрдХреНрд╖рд╛рдПрдВ /" рдлрд╝рд╛рдЗрд▓ "рдлреЙрд░реНрдЪреНрдпреВрди.рдкреАрдкреА" рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд╛рд▓реЗрдВ:



 <?php defined('SYSPATH') or die('No direct script access.'); class Fortune extends Kohana_Fortune{}
      
      





рдпрд╣рд╛рдБ рд╣рдо рдмрд╕ рдЙрд╕ рд╡рд░реНрдЧ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рджреЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдмрдирд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рдХреЛрдб рдХреЙрдкреА рдХрд░реЗрдВ:



 <?php defined('SYSPATH') or die('No direct script access.'); /** * Fortune Cookie Module */ class Kohana_Fortune { // Merged configuration settings protected $config = array('view' => 'fortune/default'); protected $fortune = ""; /** * Creates a new Fortune object. * * @return Fortune */ public static function factory(array $config = array()) { return new Fortune($config); } public function __construct(array $config = array()) { // Overwrite system defaults with application defaults $this->config = $this->config_group() + $this->config; } /** * Retrieves a fortune config group from the config file. One config group can * refer to another as its parent, which will be recursively loaded. * * @param STRING fortune config group; "default" if none given * @return ARRAY config settings */ public function config_group($group = 'default') { // Load the fortune config file $config_file = Kohana::config('fortune'); // Initialize the $config array $config = array('group' => (string)$group); // Recursively load requested config groups while(isset($config['group']) && isset($config_file->$config['group'])) { // Temporarily store config group name $group = $config['group']; unset($config['group']); // Add config group values, not overwriting existing keys $config += $config_file->$group; } // Get rid of possible stray config group names unset($config['group']); // Return the merged config group settings return $config; } /** * Randomly pick a fortune * * @return STRING fortune text */ public function getFortune() { // Stolen from: http://fortunes.cat-v.org/plan_9/ $fortunes = array('2 is always smaller than 3, even for large values of 2.', 'A penny saved is a political breakthrough.', 'Avoid reality at all costs.', 'Bad taste is timeless.'); $this->fortune = $fortunes[array_rand($fortunes, 1)]; } /** * Renders the fortune. * * @param MIXED string of the view to use, or a View object * @return STRING fortune output (HTML) */ public function render($view = NULL) { if($view === NULL) { // Use the view from config $view = $this->config['view']; } if(!$view instanceof View) { // Load the view file $view = View::factory($view); } $this->getFortune(); // Pass on the whole Fortune object return $view->set(get_object_vars($this))->set('page', $this)->render(); } /** * Renders the fortune. * * @return STRING fortune output (HTML) */ public function __toString() { return $this->render(); } }
      
      





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



рд╡рд░реНрдЧ рдХрд╛ рджрд┐рд▓ getFortune рд╡рд┐рдзрд┐ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдзреЛрдЦрд╛ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдмрд╕ рдПрдХ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡ рдЗрд╕рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ "рднрд╛рдЧреНрдп" рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЕрдЧрд▓рд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ "рд░реЗрдВрдбрд░ ()" рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ "getFortune ()" рд╡рд┐рдзрд┐ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рджреГрд╢реНрдп рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рдпрд╣, рдмрджрд▓реЗ рдореЗрдВ, __toString () рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:



 <div style="width: 250px; height: 52px; vertical-align: middle; display: table-cell; text-align: center; border: 1px solid #CCCCCC; border-right-color: #666666; border-bottom-color: #666666;"> <p><?php echo $fortune;?></p> </div>
      
      





рдЗрд╕реЗ "default.php" "/modules/fortune/views/fortune/default.php" рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдЧреВрдВрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ $ рднрд╛рдЧреНрдп рдЪрд░ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рд░реЗрдВрдбрд░" рдкрджреНрдзрддрд┐ рдореЗрдВ рд╣рдордиреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдпрд╣ рдЖрд╕рд╛рди рд╣реИред



рдпрд╣ рдХреБрдЫ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред "/Application/bootstrap.php" рдЦреЛрд▓реЗрдВ рдФрд░ рдкрд╛рда "рдХреЛрд╣рдирд╛ :: рдореЙрдбреНрдпреВрд▓" рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╛рдЧ рдвреВрдВрдвреЗрдВред рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ:



 Kohana::modules(array(// 'auth' => MODPATH.'auth', // Basic authentication // 'codebench' => MODPATH.'codebench', // Benchmarking tool 'database' => MODPATH.'database', // Database access // 'image' => MODPATH.'image', // Image manipulation // 'orm' => MODPATH.'orm', // Object Relationship Mapping // 'pagination' => MODPATH.'pagination', // Paging of results // 'userguide' => MODPATH.'userguide', // User guide and API documentation 'fortune' => MODPATH.'fortune', ));
      
      





рд╣рдордиреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рд╛ рдФрд░ рдЗрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред рдЕрдм рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ "/application/views/pages/ko3.php" рдФрд░ рдЕрдВрдд рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:



 <?php echo Fortune::factory();?>
      
      





рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ "http: // localhost / mykohana3 / ko3 /" рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдиреАрдЪреЗ рднрд╛рдЧреНрдп рдХрд╛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП!



рднрд╛рдЧ 9: рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ" рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВред "рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ" рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ "Zend" (рд╣рд╛рдБ, рдПрдХ рд░рд╛рдЬрдзрд╛рдиреА "Z" рдХреЗ рд╕рд╛рде)ред рдлрд┐рд░ рдЖрдкрдХреЛ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ (рдорд┐рдирд┐рдорд▓ рдкреИрдХреЗрдЬ) рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рдордп рдпрд╣ 1.11.2 рд╣реИред рд╕рдВрдЧреНрд░рд╣ рдЦреЛрд▓реЗрдВ рдФрд░ "ZendFramework-1.11.2-minimal / рдкреБрд╕реНрддрдХрд╛рд▓рдп / Zend /" рд╕реЗ "рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ / Zend" рддрдХ рд╕рдм рдХреБрдЫ рдирд┐рдХрд╛рд▓реЗрдВред



рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ "рдЖрд╡реЗрджрди / bootstrap.php" рдФрд░ рд▓рд╛рдЗрди рдХреЗ рдКрдкрд░ рдирд┐рдореНрди рдЬреЛрдбрд╝реЗрдВ "рдЧреВрдВрдЬ рдЕрдиреБрд░реЛрдз :: getInstance ()):



 $path = Kohana::find_file('vendors', 'Zend/Loader'); if($path) { ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . dirname(dirname($path))); require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance(); }
      
      





"рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд╡рд┐рдЪрд╛рд░ / рдкреГрд╖реНрда / ko3.php" рдЦреЛрд▓реЗрдВ рдФрд░ рдиреАрдЪреЗ рдбрд╛рд▓реЗрдВ:



 <?php $validator = new Zend_Validate_Isbn();?> <br />978-3-16-148410-0 <?php echo ($validator->isValid('978-3-16-148410-0')) ? 'is' : 'is not';?> valid. <br />9783161484100 <?php echo ($validator->isValid('9783161484100')) ? 'is' : 'is not';?> valid.
      
      





рдЕрдм тАЬhttp: // localhost / mykohana3 / ko3 local рдкрд░ рдЖрдкрдХреЛ рдиреАрдЪреЗ рджреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдЪрд╛рд╣рд┐рдПред



рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪрдХреНрд░ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдмрд╛рдж рдореЗрдВ рд░реВрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬреВрди 2010 рд╕реЗ рдХреЛрдИ рдирдпрд╛ рд▓реЗрдЦ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред рддреЛ рдпрд╣ рдХреЛрд╣рдирд╛ 3.0 рдХреА рдЦреЛрдЬ рдХрд╛ рдЕрдВрдд рд╣реИред



All Articles