Rumah > Soal Jawab > teks badan
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 $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粉0193532472024-01-30 12:35:18
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粉6681466362024-01-30 12:20:08
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.
Dalampublic function create_prospect(array $fields) { if (!isset($fields['email']) { throw new ValidationException('Please provide an email'); } ... carry on with your work }
$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);