Paksa kekunci tatasusunan dalam parameter kaedah
P粉006977956
P粉006977956 2024-01-29 14:55:32
0
2
524

Jadi saya mempunyai kaedah dalam kelas saya yang akan mencipta petunjuk baharu dengan parameter $fields yang boleh dilalui oleh pengguna dalam medan.

Andaikan saya mempunyai format berikut:

$new_pardot = new FH_Pardot();
$new_pardot->create_prospect();
Kaedah

create_prospect() mempunyai create_prospect() 方法有 $fields parameter dan perlu lulus dalam tatasusunan, jadi contohnya adalah seperti berikut:

$new_pardot->create_prospect([
    'email' => $posted_data['email'], // Make key mandatory or throw error on method.
    'firstName' => $posted_data['first-name'],
    'lastName' => $posted_data['last-name'],
]);

Adakah terdapat cara untuk menjadikan kunci e-mel masuk $fields 中的 email 密钥成为强制?用户需要传递 email wajib? Pengguna perlu menghantar kekunci e-mel, tetapi mereka boleh memilih untuk menghantar kekunci lain seperti yang ditunjukkan di atas.

Berikut adalah contoh kaedah:

public function create_prospect(array $fields)
{
    // Other logic in here.
}

P粉006977956
P粉006977956

membalas semua(2)
P粉019353247

Anda harus membuat pengesahan untuk $posted_data['email']. anda dan semak sama ada ia diperlukan. Tapi kalau nak format ni, boleh cuba ni:

1- Gunakan parameter berasingan untuk e-mel:

public function create_prospect($email,array $fields)
{
    // Other logic in here.
}

2 - Cara yang lebih baik ialah menyemak medan e-mel dalam tatasusunan, dengan atau tanpa fungsi luaran:

public function create_prospect(array $fields)
{
    if(!array_key_exists("email", $fields)){
        // printing error! => echo 'error' or throw an exception
        return;
     }
}
P粉668146636

Anda boleh mengesahkan menggunakan salah satu daripada beberapa kaedah. Dua cara yang jelas adalah untuk mengesahkan sebelum/luar create_prospect 函数内进行验证,或者在调用 create_prospect .

Pendekatan tradisional adalah untuk mengesahkan sebelum cuba mencipta entiti. Ia menjadikan pengumpulan dan memaparkan ralat pengesahan lebih mudah daripada membuang mesej pengesahan dari mana-mana sahaja.

Dalam

public function create_prospect(array $fields)
{
    if (!isset($fields['email']) {
        throw new ValidationException('Please provide an email');     
    }

    ... carry on with your work
}

sebelum/luar

$fields = [
    'email' => $posted_data['email'],
    'firstName' => $posted_data['first-name'],
    'lastName' => $posted_data['last-name'],
];

if (!isset($fields['email']) {
    throw new ValidationException('Please provide an email');     
}

$new_pardot = new FH_Pardot();
$new_pardot->create_prospect($fields);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan