Forcer les clés du tableau dans les paramètres de la méthode
P粉006977956
P粉006977956 2024-01-29 14:55:32
0
2
546

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粉006977956
P粉006977956

répondre à tous(2)
P粉019353247

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;
     }
}
P粉668146636

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);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal