tôi cần chức năng đó sẽ làm một cái gì đó như thế này:PHP constructor với tham số
$arr = array(); // this is array where im storing data
$f = new MyRecord(); // I have __constructor in class Field() that sets some default values
$f->{'fid'} = 1;
$f->{'fvalue-string'} = $_POST['data'];
$arr[] = $f;
$f = new Field();
$f->{'fid'} = 2;
$f->{'fvalue-int'} = $_POST['data2'];
$arr[] = $f;
Khi tôi viết một cái gì đó như thế này:
$f = new Field(1, 'fvalue-string', $_POST['data-string'], $arr);
$f = new Field(2, 'fvalue-int', $_POST['data-integer'], $arr);
// description of parameters that i want to use:
// 1 - always integer, unique (fid property of MyRecord class)
// 'fvalue-int' - name of field/property in MyRecord class where next parameter will go
// 3. Data for field specified in previous parameter
// 4. Array where should class go
Tôi không biết làm thế nào để xây dựng parametrized trong PHP.
Bây giờ tôi sử dụng constructor như thế này:
class MyRecord
{
function __construct() {
$default = new stdClass();
$default->{'fvalue-string'} = '';
$default->{'fvalue-int'} = 0;
$default->{'fvalue-float'} = 0;
$default->{'fvalue-image'} = ' ';
$default->{'fvalue-datetime'} = 0;
$default->{'fvalue-boolean'} = false;
$this = $default;
}
}
Bạn nói đúng. Nó không hoạt động. Làm thế nào tôi có thể khởi tạo thuộc tính {'fvalue-string'} với giá trị mặc định? – Kamil
Tôi đã cố gắng xây dựng với nhiều thông số ngày hôm qua và họ didnt làm việc, tôi đã làm điều gì đó sai, bởi vì tôi đã nhận lỗi. Tôi đã thấy nhiều ví dụ về mảng __construct (mảng) và "giải nén" bên trong hàm tạo, vì vậy tôi nghĩ rằng tôi không thể tạo hàm tạo với nhiều tham số trong PHP. Tôi đã sai. Cảm ơn bạn. – Kamil