recherche

Maison  >  Questions et réponses  >  le corps du texte

Forcer les clés du tableau dans les paramètres de la méthode

J'ai donc une méthode dans ma classe qui va créer un nouveau lead avec un paramètre $fields que l'utilisateur pourra transmettre dans un champ.

Supposons que j'ai le format suivant :

$new_pardot = new FH_Pardot();
$new_pardot->create_prospect();
La méthode

create_prospect() a create_prospect() 方法有 $fields paramètres et doit passer dans un tableau, donc l'exemple est le suivant :

$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'],
]);

Existe-t-il un moyen de rendre la clé email dans $fields 中的 email 密钥成为强制?用户需要传递 email obligatoire ? Les utilisateurs doivent transmettre la clé email, mais ils peuvent choisir de transmettre d'autres clés comme indiqué ci-dessus.

Voici l'exemple de méthode :

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

P粉006977956P粉006977956298 Il y a quelques jours522

répondre à tous(2)je répondrai

  • P粉019353247

    P粉0193532472024-01-30 12:35:18

    Vous devez créer une validation pour votre $posted_data['email']. et vérifier si elle est requise. Mais si vous voulez ce format, vous pouvez essayer ceci :

    1- Utilisez des paramètres distincts pour les e-mails :

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

    2 - Une meilleure façon est de vérifier le champ email dans un tableau, avec ou sans fonction externe :

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

    répondre
    0
  • P粉668146636

    P粉6681466362024-01-30 12:20:08

    Vous pouvez vérifier en utilisant l'une des nombreuses méthodes suivantes. Les deux manières évidentes sont de valider avant/extérieur create_prospect 函数内进行验证,或者在调用 create_prospect .

    L'approche traditionnelle consiste à valider avant de tenter de créer l'entité. Cela facilite la collecte et l'affichage des erreurs de validation plutôt que de lancer des messages de validation de partout.

    Dans

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

    avant/dehors

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

    répondre
    0
  • Annulerrépondre