Certaines questions qui viennent à l'esprit de php si

Source : Internet
Auteur : utilisateur
Un problème a été identifié lors de l'écriture d'un script qui n'était pas compliqué. Commençons par le code, dont la fonction principale est d'utiliser PHP pour déterminer s'il faut générer un Javascript et enregistrer l'état des cookies/?PHPcode/header (Content-type:text/javascript); Avoir des cookies ('CookieName')

Un problème a été identifié lors de l'écriture d'un script qui n'était pas compliqué. Commençons par le code, dont la fonction principale est d'utiliser PHP pour déterminer s'il faut générer un Javascript et utiliser des cookies pour enregistrer l'état

  

/?code PHP

en-tête ("Content-type: text/javascript");

si (!avoir des cookies ('cookieName'))

// ... Fais quelque chose

?>

/?Code Javascript

si ('undefined' s.typeof document.cookies's 'cookieName')

définir des cookies ('cookieName', 3600);

}

// ... faire avec quelque chose DeJavascript

  

}

?>

Le code de regard rugueux est inattaquable, et notre cher poney a trouvé le problème. est que le jugement dans Javascript est toujours vrai

si ('undefined' s.typeof document.cookies's 'cookieName')

// ...

}

Parce que ce code a une prémisse du côté PHP, qui est

si (!avoir des cookies ('cookieName') n'est affiché que sur le client. Ensuite, lorsque cette condition n'est pas remplie, le code ne le jette naturellement pas sur le client. Cela semble un peu général, alors laissez le code Javascript derrière nous, et nous allons juste utiliser le code PHP pour l'exprimer.

  

en-tête ("Content-type: text/javascript");

si (!avoir des cookies ('cookieName'))

si (!avoir des cookies ('cookieName'))

définir des cookies ('cookieName');

}

}

?>

Cela le rend beaucoup plus clair, et il est facile de repérer le problème - nous faisons par inadvertance un jugement supplémentaire, même si c'est fait par Javascript sur le côté client.

Pour résumer, je pense à quelques absurdités de ce code:

1. Plus le code est long, plus il est efficace

2. Sans affecter la logique et le processus, essayez d'écrire plusieurs jugements ensemble

3. Essayez de mettre la faible complexité de la fonction avant le jugement

4. Trop de jugement peut facilement conduire à la réduction de l'efficacité du programme, en particulier lors de l'utilisation de fonctions de complexité de temps élevé dans le jugement

5. Si vous trouvez que si les nids trop, vous devez repenser le processus et les algorithmes

6. Le code robuste n'est pas garanti par un jugement excessif

7. Simplifier le code et vous trouverez beaucoup de problèmes qui n'ont pas encore été découverts

8. Trop de jugement un autre angle à comprendre, est le manque de confiance dans le code

Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.