Nástroje používateľa

Nástoje správy stránok


dev:omega:php:router

Rozdiely

Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky.

Odkaz na tento prehľad zmien

Both sides previous revision Previous revision
Next revision
Previous revision
dev:omega:php:router [2015/01/19 20:24]
Roman Sališ [arguments]
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é.
  
  
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>​
 +
 +
 +
  
 ----- -----
dev/omega/php/router.1421695478.txt.gz · Posledná úprava: 2015/01/19 20:24 od Roman Sališ