Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 2740

Enregistré le: 14 Aoû 2002

Message le Ven Nov 10, 2017 10:28

Bonjour

J'ai PHP 7+ sur mon site.

Je vais résoudre les duplicate content nombreux , tout en modularisant le code php de mes pages de stats.

Je compte mettre tout en require, mais il y a parfois des conditions.

Dans le cas d'un require sous condition, le code php est-il parsé et inclus comme s'il figurait dans la condition, ou non ?

Même question pour un include.

Merci beaucoup de vos réponses.

Amicalment.
Haut
6 Réponses
Messages: 3288

Enregistré le: 3 Mai 2004

Message le Ven Nov 10, 2017 10:36

Bonjour,

require et include sont des instructions qui sont exécutées comme les autres.

Avez-vous regardé du côté de require_once et include_once qui évitent d'inclure deux fois le fichier ?

Jean-Luc
Haut
Messages: 8613

Enregistré le: 14 Mai 2003

Message le Ven Nov 10, 2017 10:47

NB: Si le fichier inclus n'existe pas :
- include provoque une notice.
- require provoque une exception.
Haut
Messages: 2740

Enregistré le: 14 Aoû 2002

Message le Ven Nov 10, 2017 11:23

Excusez-moi

Celà veut-il dire que le code PHP inclus, est parsé en même temps que le code incluant, sans s'occuper de la condition ?

Donc le code inclus est inclus et parsé ipso facto à son emplacement, et évidemment est exécuté d'après la condition ?

Merci beaucoup.
Haut
Messages: 3288

Enregistré le: 3 Mai 2004

Message le Ven Nov 10, 2017 11:45

ortolojf a écrit:Donc le code inclus est inclus et parsé ipso facto à son emplacement, et évidemment est exécuté d'après la condition ?

Vous pouvez très bien avoir une ligne comme celle-ci:
Code: Tout sélectionner
require_once $file_to_include ;

Je pense que cet exemple répond à la question.

Jean-Luc
Haut
Messages: 2740

Enregistré le: 14 Aoû 2002

Message le Ven Nov 10, 2017 16:28

Bonjour Jean Luc

Il ne s'agit pas d'un require_once, mais d'un require simple.

Un require simple dans une condition, incluant un fichier avec du code PHP, le parseur/compilateur just in time PHP, va-t-il parser tout d'un bloc, le script appelant et le code du script inclus, sans interprétation en amont de la condition ?

Sur le plan de la production du code objet ( après parsage et compil j.i.t. ), cette construction est-elle équivalente, au code PHP incluant/inclus ?

Merci.
Haut
Messages: 529

Enregistré le: 23 Fév 2013

Message le Sam Nov 11, 2017 15:08

Ce n'est pas en remplaçant des morceaux de code dupliqués dans un script par un require (ou include) que ça va changer quelque chose côté optimisation, c'est même pire puisqu'il doit faire des accès disques supplémentaires.

Un bout de code dupliqué doit se trouver dans une fonction ou méthode de classe que l'on appelle autant de fois que l'on veut, c'est en cas la bonne pratique. On est sûr que ça ne va pas copier le code et le compiler plusieurs fois en mémoire.

Alors que l'include, c'est possible qu'il y ait eu des innovations qui font qu'il détecte que c'est le même fichier appelé et donc ne va pas à nouveau le charger/compiler, mais j'en doute fortement, pour tester faudrait faire une boucle et un autre programme qui modifie le fichier inclu en même temps pour voir si les modifs sont prises en compte, mais galère à tester, ou si un spécialiste peut répondre...
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.