Maison > Questions et réponses > le corps du texte
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粉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; } }
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.
Danspublic 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);