2010-01-06 9 views
6

Ich versuche, eine Funktion in einem CodeIgniter-Controller zu schreiben, der optionale Parameter nehmen kann. Ich erhalte jedoch immer Warnungen zu fehlenden Argumenten. Ich versuche nicht, die Warnungen zu unterdrücken - ich versuche, die Parameter als optional zu deklarieren (vielleicht könnten sie leere Strings sein, wenn sie nicht existieren, oder so).optionale Parameter in CodeIgniter

Was fehlt mir?

Dank
Mala

Antwort

19
public function my_optional_test($not_optional_param, $optional_param = NULL) 
    { $this->stuff(); } 

haben Sie versucht das?

+1

dank paaren :-) – Mala

+4

beachten Sie, dass dies einfach nicht in codeigniter ist, sondern in ganz php falls Sie sich fragen, –

0

Zum Beispiel, sagen wir, Sie haben einen URI wie folgt aus:

  1. example.com/index.php/mycontroller/myfunction/hello/world
  2. example.com/index.php/mycontroller/ myfunction/hallo

Ihre Methode Segmente URI weitergegeben werden 3 und 4 („Hallo“ und „Welt“):

Klasse MyController erweitert CI_Controller {

public function myFunction($notOptional, $optional = NULL) 
{ 
    echo $notOptional; // will return 'hello'. 
    echo $optional; // will return 'world' using the 1st URI and 'NULL' using the 2nd. 
} 

}

Referenz: https://codeigniter.com/user_guide/general/controllers.html