Durante la creazione di percorsi per l'applicazione Web MVC ho visto due modi possibili per passare variabili a un metodo di controller:
Con il primo approccio la variabile viene passata a un parametro del metodo controller e utilizzata come tale:
1a. http://domain.com/controller1/method1/variable1
1b. class controller1 extends main_controller(){
function method1($var1){
echo $var1; //prints "variable1"
}
}
Il prossimo approccio utilizza i parametri URI e consente di visualizzare il nome delle variabili passate nell'URL:
2a. http://domain.com/controller1/method1/variable1/34/variable2/56
2b. class controller1 extends main_controller(){
function method1(){
//split the uri into an array using framework function
$uri = $this->uri_to_assoc()
//call the uri variables as array indexes
echo $uri['variable1']; //prints "34"
echo $uri['variable2']; //prints "56"
}
}
La mia domanda riguarda quando utilizzare un caso rispetto all'altro? La mia ipotesi sarebbe che l'approccio n. 2 sarebbe più per i servizi web RESTful mentre l'approccio n. 1 sarebbe per un'applicazione web che servirà html e scansionata dai motori di ricerca?