Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Pourquoi s’embêter avec le chargement automatique dans WordPress, partie 2

17

Dans le post précédent, j’ai couvert quelques points expliquant pourquoi je pense que include_once, require_once , et d’autres déclarations similaires entraînent de mauvaises pratiques de développement (au moins en ce qui concerne le travail que nous faisons avec nos projets WordPress ).

Si vous ne l’avez pas lu, ce n’est pas grave. L’essentiel du message est que ces déclarations font:

  1. débogage plus difficile,
  2. code de traçage plus difficile à faire.

En fin de compte, ce sont des choses que nous pouvons éviter. J’ai terminé le post avec ceci :

Cela laisse encore la question de savoir pourquoi le chargement automatique (ou toute inclusion de fichiers tiers) est nécessaire.

Et bien que j’aimerais couvrir tous les détails dans ce post, il faudra prendre ce post et un autre car il est important de comprendre certains sujets fondamentaux sur les langages, les interprètes et les compilateurs avant d’aller trop loin.

Chargement automatique dans WordPress : Types de langues

En ce qui concerne les langages de programmation, ils peuvent être décomposés en deux types de langages distincts :

  1. typé statiquement
  2. typé dynamiquement

Ils sont également faciles à repérer.

Langages à typage statique

Un langage à typage statique signifie que lorsque vous déclarez une variable, comme une chaîne, un entier ou un nombre à virgule flottante, il conserve ce type pendant toute sa durée de vie.

Cela ne signifie pas qu’il ne peut pas être modifié ou analysé dans un autre type, mais l’idée est que vous déclarez son type et c’est ainsi qu’il fonctionne.

Il est généralement spécifié comme un certain type lorsqu’il est déclaré, comme string ou int, et il est le plus souvent vu dans les langages compilés.

Langages à typage dynamique

Les langages typés dynamiquement, en revanche, ont des variables qui sont plus fluides, faute d’un meilleur terme, dans la nature.

C’est-à-dire que vous pouvez d’abord le déclarer comme une chaîne, puis le comparer à un entier et l’utiliser plus tard comme une chaîne à nouveau.

L’interpréteur ou le compilateur (selon le langage que vous utilisez) fera de son mieux pour déduire ce que vous essayez de faire en fonction du contexte de ce que vous faites dans votre code, mais ce n’est pas toujours correct.

Cela peut entraîner des effets secondaires et des bugs étranges.

JavaScript est comme ça. Pour voir un exemple, ouvrez la console de votre navigateur et entrez quelque chose comme ce que vous voyez dans la capture d’écran suivante (et faites attention au résultat) :

Notez que lorsque nous utilisons un signe double égal standard, l’interpréteur contraint la chaîne dans le type booléen même si la vraie chaîne n’est pas vraie.

Le deuxième cas est précis (et c’est pourquoi triple-equals devrait presque toujours être utilisé).

De plus, la façon dont quelque chose peut fonctionner dans une langue n’est pas la façon dont cela peut fonctionner dans une autre langue.

En fin de compte, ne vous attendez pas à ce que vos langages fassent la même chose simplement parce qu’ils peuvent prendre en charge le typage dynamique.

Qu’est-ce que cela a à voir avec le chargement automatique ?

D’accord, nous avons donc un peu parlé des primitives et tout cela est bien, mais cela ne fait pas grand-chose quand on parle de classes, d’objets, d’instanciation, de chargement automatique, etc., n’est-ce pas ?

Le but d’aborder les sujets susmentionnés est de montrer le rôle que jouent les interpréteurs et les compilateurs lorsqu’ils travaillent avec du code dans des langages dynamiques.

Et c’est important car PHP est un langage dynamique.

À ce stade, j’allais à l’origine commencer à regarder des exemples de code PHP, des espaces de noms, le chargement automatique, les instructions d’inclusion, etc., mais j’essaie de garder mes articles à une certaine longueur et cela a commencé à s’étendre un peu plus que je ne le voulais .

Donc, la conclusion ultime de cet article, si je devais le résumer, est la suivante :

Les langages à typage dynamique, comme PHP, n’ont pas le luxe des langages compilés où tout est compilé en un seul binaire. Nous devons dire au programme, d’une certaine manière, où les dépendances existent dans le contexte du programme plus large.

Et c’est ce que j’essaierai de couvrir dans le prochain article.

Source d’enregistrement: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More