PHP & Codeigniter – как передать параметры модели?

Я использую следующий код для инициализации модели из моего контроллера:

$this->load->model('model_name'); 

Можно ли каким-либо образом изменить приведенную выше строку так, чтобы конструктор модели получил параметр? Я хочу использовать следующий код в конструкторе модели:

 function __construct($param_var) { parent::Model(); $this->$param_var = $param_var; //I'm not even sure this works in PHP..but different issue } 

Это было бы очень полезно, чтобы я мог повторно использовать классы модели. Благодарю.

ОБНОВЛЕНИЕ: (из одного из ответов мой исходный вопрос решен .. спасибо!) Просто чтобы объяснить, почему я хотел это сделать: идея состоит в том, чтобы иметь возможность повторно использовать класс модели. Поэтому в основном, чтобы дать простой пример, я хотел бы иметь возможность передать переменную «order_by» в класс модели, чтобы я мог повторно использовать логику в классе модели (и динамически изменять значение порядка в sql), не имея для создания отдельного класса или отдельной функции.

Это плохой дизайн? Если бы вы могли бы объяснить, почему бы вам не сделать что-то подобное и как вы это сделаете?

Я вижу ваши аргументы в пользу этого, но могу ли я предложить посмотреть объектно-реляционное сопоставление для ваших потребностей в базе данных. Существует пользовательская библиотека ORM для CodeIgniter, называемая DataMapper, которую я использовал в последнее время. Вы можете использовать таблицы в своих контроллерах как объекты, и это может быть лучше подходит для вашей проблемы.

Вы не можете передавать параметры через функцию load . Вам нужно будет сделать что-то вроде:

 $this->load->model('model_name'); $this->model_name->my_constructor('stuff'); 

В модели:

 function my_constructor($param_var) { ... } 

Ответ на обновление:

Вы можете просто передать значение order_by, когда вы вызываете свою модельную функцию. Я предполагаю, что в вашем контроллере есть что-то вроде $this->model_name->get($my_id); Просто добавьте параметр order_by к этой функции. IMO делает вашу модельную логику более гибкой / многоразовой, потому что, как вы ее делали, я полагаю, что установка order_by в конструкторе будет устанавливать значение order_by для каждой функции.

Вместо использования DataMapper я предложил использовать IgnitedRecord, потому что DataMapper больше не поддерживается больше, чем он был заменен на Ruby