Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dev:omega:php:router [2015/01/19 20:24] Roman Sališ [coolName] |
dev:omega:php:router [2015/01/19 20:41] (aktuálne) Roman Sališ [Definovanie ciest] |
||
|---|---|---|---|
| Riadok 45: | Riadok 45: | ||
| function myRouteCallback($settings = array(), $argumentsVersion = NULL) | function myRouteCallback($settings = array(), $argumentsVersion = NULL) | ||
| { | { | ||
| - | echo "Callback, argumentsVersion=$argumentsVersion<br>\n"; | + | echo "<pre>Callback, argumentsVersion=$argumentsVersion\n"; |
| var_export($settings); | var_export($settings); | ||
| } | } | ||
| Riadok 72: | Riadok 72: | ||
| </code> | </code> | ||
| + | Po zavolaní tejto URL adresy dostaneme v prehliadači výsledok: | ||
| + | |||
| + | <code> | ||
| + | Callback, argumentsVersion=1 | ||
| + | array ( | ||
| + | 'meno' => 'Jozef', | ||
| + | 'vek' => '24', | ||
| + | ) | ||
| + | </code> | ||
| ----- | ----- | ||
| ==== coolName ==== | ==== coolName ==== | ||
| Riadok 152: | Riadok 161: | ||
| Musí byť ''array'', ktorý bude obsahovať ďalší ''array''. | Musí byť ''array'', ktorý bude obsahovať ďalší ''array''. | ||
| Prvý ''array'' musí obsahovať číselný kľúč, ktorý určuje verziu parametrov. | Prvý ''array'' musí obsahovať číselný kľúč, ktorý určuje verziu parametrov. | ||
| - | Verzia parametrov je nástroj, pomocou ktorého by sa mala zaručiť spätná kompatibilita volania FIXME. | + | Verzia parametrov je nástroj, pomocou ktorého zaručujeme spätnú kompatibilita. |
| + | Ak dnes používame verziu parametrov **1**, ktorá obsahuje 2 parametre a o pol roka zavedieme verziu **2** s 3 parametrami, musíme zaručiť, aby odkazy vygenerované vo verzii **1** boli stále platné a funkčné. | ||
| - | <code php space=2> | + | <code php bMyRouter.php space=2> |
| $routes["my_route1"] = array( | $routes["my_route1"] = array( | ||
| "arguments" => array( | "arguments" => array( | ||
| Riadok 175: | Riadok 185: | ||
| Výsledok: | Výsledok: | ||
| <code> | <code> | ||
| - | http://studio2.local/r/my-path1/1/Jozef/24 | + | http://studio2.local/r/cesta1/2/Jozef/24 |
| </code> | </code> | ||
| + | |||
| + | |||
| + | ----- | ||
| + | Funkcia ''getRoute'' použije najvyššiu verziu parametrov. | ||
| + | |||
| + | <code php bMyRouter.php space=2> | ||
| + | $routes["my_route1"] = array( | ||
| + | "arguments" => array( | ||
| + | "1" => array( | ||
| + | "meno", | ||
| + | "vek", | ||
| + | ), | ||
| + | "2" => array( | ||
| + | "meno", | ||
| + | "vek", | ||
| + | "vyska", | ||
| + | ), | ||
| + | ), | ||
| + | # ... | ||
| + | </code> | ||
| + | |||
| + | <code php test.php space=2> | ||
| + | $router = $this->app->initCoreModule("router"); | ||
| + | echo $router->getRoute("my_route1", array( | ||
| + | "meno" => "Jozef", | ||
| + | "vek" => 24, | ||
| + | "vyska" => 180, | ||
| + | )); | ||
| + | </code> | ||
| + | |||
| + | Výsledok: | ||
| + | <code> | ||
| + | http://studio2.local/r/cesta1/2/Jozef/24/180 | ||
| + | </code> | ||
| + | |||
| + | ----- | ||
| + | |||
| + | Ak by sme nezadali parameter ''vyska'', aj tak by sa vygenerovala verzia **2** (násl. príklad). | ||
| + | |||
| + | <code php test.php space=2> | ||
| + | $router = $this->app->initCoreModule("router"); | ||
| + | echo $router->getRoute("my_route1", array( | ||
| + | "meno" => "Jozef", | ||
| + | "vek" => 24, | ||
| + | )); | ||
| + | </code> | ||
| + | |||
| + | Výsledok: | ||
| + | <code> | ||
| + | http://studio2.local/r/cesta1/2/Jozef/24/ | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| ----- | ----- | ||