Rumah  >  Soal Jawab  >  teks badan

Paksa kekunci tatasusunan dalam parameter kaedah

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粉006977956P粉006977956287 hari yang lalu507

membalas semua(2)saya akan balas

  • P粉019353247

    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;
         }
    }

    balas
    0
  • P粉668146636

    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.

    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);
    

    balas
    0
  • Batalbalas