2013-03-21 3 views
2

Я использую codeigniter 2.1, и я определил функцию следующим образом.Параметры метода контроллера CodeIgniter Выпуск

public function reset($email, $hash) { 

} 

Согласно MVC architecture и OOPS концепции, эта функция не могла выполнить, если я не прошел parameters в url. Но в codeigniter эта функция получает выполнение, так как я могу это преодолеть ?. Пожалуйста, помогите мне найти решения.

+0

как вы звоните, чтобы сбросить метод, я имею в виду, можете ли вы указать URL-адрес? – sandip

+0

Функция контроллера CI также является функцией php, поэтому она ведет себя так же, как и функция php. поэтому функция называется поведением по умолчанию php functoin –

+0

, вам следует показать часть вашего URL-адреса и объяснить, как он выполняется. – MahanGM

ответ

8

Просто вам нужно определить нулевой parametra так:

public function reset($email = null, $hash = null) { 

} 

Если вы вызываете функцию

(controller name)/reset/[email protected]/dsadasda 

чем $email = [email protected] & $hash = dsadasda

, если вы действуете

(controller name)/reset 

чем $email и $hash будет нулевым.

Также вы можете объявить параметр по умолчанию следующим образом.

public function reset($email = [email protected], $hash = dsadasdas) { 

} 

Надеюсь, что я был чист.

1

Если вы хотите выполнить функцию с параметрами или без параметров , вы можете установить для нее значения по умолчанию.

public function reset($email = '', $hash = '') { 

} 

Этот способ, когда функции параметров еще не выполняются. Вы можете использовать условие для кода

public function reset($email = '', $hash = '') { 

    if(!empty($email) AND !empty($hash)){ 
     //your code here 
    } 
} 
Смежные вопросы