#php #constructor
Вопрос:
Я пытаюсь передать эти параметры в конструктор моего класса:
$tableName
: Имя таблицы базы данных.$id
: Имя поля идентификатора моей таблицы базы данных.$tableFields
: Имена полей моей таблицы базы данных.
Параметры 1 и 2 всегда будут равны только 1, но параметр 3 является переменным, может быть, 2, может быть, 4 или, может быть, 15.
Итак, мне нужно сохранить его в массив, но я не уверен, как это сделать.
Ребята, вы можете помочь мне понять это?
<?php
class GenerateCrud {
// Properties.
public $tableName;
public $id;
public $tableFields = array();
// Constructor.
function __construct($tableName, $id, $tableFields){
$this->tableName = $tableName;
$this->id = $id;
$this->tableFields[] = $tableFields;
}
}
$myObject = new GenerateCrud('users_test', 'id', 'field1', 'field2', 'field3', 'field4');
?>
Комментарии:
1.
$myObject = new GenerateCrud('users_test', 'id', ['field1', 'field2', 'field3', 'field4']);
2. И затем
$this->tableFields = $tableFields;
3. Вы также можете сделать
function __construct($tableName, $id, ...$tableFields)
так, чтобы любые параметры, выходящие за рамки второго, помещались в массив.4. Хорошо. Вы понимаете, почему это сработало?
5. Да! Я на работе, и мне интересно учиться и становиться все лучше и лучше с каждым днем! Спасибо, вам тоже счастливого кодирования!
Ответ №1:
Добавить:
$this->tableFields = $tableFields;
И:
$myObject = new GenerateCrud('users_test', 'id', ['field1', 'field2', 'field3', 'field4']);