IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

capacité d'un fichier php


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut capacité d'un fichier php
    Salam ; j'utilise une page tab.php qui fait appel a un autre fichier sisam.php.
    ce dernier contiens du code qui évolue a chaque étape (100 lignes , 200 lignes...).
    a un certain moment je me suis arrête et je me suis posé les questions suivantes:
    Qu'elle est la capacité d'un fichier PHP en nombre de lignes ou en Ko?
    Est ce que chaque code est indexé ?
    Comment la lecture de la page sisam.php se fait lorsqu'elle est incluse dans la page tab.php ?

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 130
    Points : 225
    Points
    225
    Par défaut
    Salut, à ma connaissance aucune limite de taille ou presque. Quoi qu'il arrive, il est fortement recommandé de scinder ton fichier si ce dernier contient un très grand nombres de lignes de coder et qu'il devient illisible.

  3. #3
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Les seules limitations sont en terme de taille de fichier (voir le type de partition du disque dur et la gestion de l'OS) et en terme de temps d'exécution (voir la config time_limit dans le php.ini).

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  4. #4
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam (salut),
    Comment la lecture de la page sisam.php se fait lorsqu'elle est incluse dans la page tab.php ?
    normalement l’interpréteur PHP lit le code est exécute dés qu'il trouve les balises PHP.
    dans le cas ou le fichier contiens plusieurs instructions ( exemple 800 lignes) , est ce que il va lire toutes les instructions une par une ou il va directement a l'instruction concernée ( indexation) ?

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    En fait il va compiler ton script PHP dans un optcode qui sera exécuté. Peu importe si ton fichier fait 10 ou 10000 lignes, tout sera interprété mais tout ne sera peut être pas exécuté.

  6. #6
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    si j'ai bien compris l’interpréteur lit tout le fichier Ok ;
    En fait il va compiler ton script PHP dans un optcode qui sera exécuté. Peu importe si ton fichier fait 10 ou 10000 lignes, tout sera interprété mais tout ne sera peut être pas exécuté.
    alors comment il fait la liaison entre l'instruction demander dans le fichier tab.php et celle écrite dans sisam.php?

  7. #7
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    A chaque fois qu'un include ou require est demandée, l'interpreteur parse le fichier en question et crée un optcode également.

  8. #8
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    un exemple :
    tab.php contiens fonction25.
    sisam.php contiens : 500 fonctions (1....500).
    donc l’interpréteur lit les 500 fonctions et mit le fichier en cache, si le fichier est volumineux sa va crée des bugs non!!!
    donc la performance entre en jeux.
    est ce que l’interpréteur lit les 500 fonctions ensuite les index pour sélectionné ensuite directement la fonction25 ?

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par redoran Voir le message
    un exemple :
    tab.php contiens fonction25.
    sisam.php contiens : 500 fonctions.
    donc l’interpréteur lit les 500 fonctions et mit le fichier en cache, si le fichier est volumineux sa va crée des bugs non!!!
    donc la performance entre en jeux.
    installe vld tu verras, si tu veux mettre l'opcode en cache installe APC

  10. #10
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    500 fonctions

    Y'a anguille sous roche, je présume que tu fais fabriquer des morceaux de programme au runtime je me trompe ?

  11. #11
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Vue ma compétence dans le domaine je suis très loin!!!
    l’intérêt de la question :
    afin d'optimisé le fonctionnement d'un site ,sur le plan nombre de fichier:
    limité le nombre de fichier a inclure en augmentant le nombre de lignes risque de tombé sur le mégafichier !!!
    fichier sql , fichier PHP et fichier js....
    alors je voulai comprendre le fonctionnement afin de faire un choix

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    c'est pas la taille du fichier qui est la plus important, mais ce qu'il y'a dedans, si ta page n'utilise que 5 fonctions ça sert a rien de tout charger, si tu charges pleins de fichier sache que l’accès au disque prend aussi du temps,

  13. #13
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La meilleure pratique selon moi est la suivante:
    - Chaque unité logique dans un fichier séparé (fonctions génériques, fonctionnalités applicatives ciblées, vues etc.) le découpage le plus "à la mode" actuellement reste le MVC (séparation Modèle-Vue-Contrôleur).
    - Les comportements JavaScript dans des fichiers .js (il est exclu de les faire générer par PHP).
    - Les styles CSS dans des fichiers .css (il est exclu de les faire générer par PHP)

    Vouloir "optimiser" au niveau de l'organisation des scripts PHP est une fausse bonne idée, tu ne vas pratiquement rien gagner en rapidité. Fais le découpage qui te semble le plus pratique pour développer - inutile de préciser que des fichiers de 1000+ lignes sont une plaie à maintenir.

  14. #14
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Stealth35:
    c'est pas la taille du fichier qui est la plus important
    sa sous entendu y' a du code fonctionnel , le chargement ne se fait que pour le fichier concerné.
    j'arrive pas a comprendre le comportement de l’interpréteur lors de la lecture d'un fichier en include , si je trace le comportement je peux adapter mes fichiers.
    Benjamin1
    Les comportements JavaScript dans des fichiers .js (il est exclu de les faire générer par PHP).
    - Les styles CSS dans des fichiers .css (il est exclu de les faire générer par PHP)
    justement j'ai la même organisation sauf que je voie que mes codes (php , css js) prend de la dimension verticale pas encore testé en réseaux.

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    le include c'est pareil que de copier la source du fichier directement, a part que t'as un appel à une fonction en plus

  16. #16
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    avec je suis arrivé a ça:
    le fichier passe par un lexer (analyseur de syntaxe),
    Convertit le fichier en unités de code compréhensibles pour le processeur,
    Ce flux d'unités est ensuite traité par le parser,
    le parser créé le code intermédiaire qui sera exécuté pour le Zend Engine,
    Ce dernier agit comme une machine virtuelle, qui combine les différentes unités sous forme d'opcodes, et les exécute un à un.
    mais selon cet fonctionnement je voie pas ou les codes sont indexé sinon autre méthode utilisée pour faire le lien ?

  17. #17
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    c'est d'ailleurs marginal en termes d'impact, la véritable optimisation n'est pas à faire là.

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par redoran Voir le message
    mais selon cet fonctionnement je voie pas ou les codes sont indexé sinon autre méthode utilisée pour faire le lien ?
    tout est mémoire, et a chaque lancement de script tout est reparser sauf avec un cache d'opcode, mais franchement le parsage a un impact minime sur la durée du script, si l'opcode est en cache c'est plus le proc qui est soulagé

  19. #19
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    si l’interpréteur refais la même lecture a chaque fois qu'on appel le code (redondance) , normalement il doit garder la première lecture ( comme les requêtes préparés...) .
    cela dit qu'il y'a un schéma d'exécution avec traçabilité du code .
    cas pratique:
    le fichier tab.php appel fichier sisam.php,
    interprétation du code avec envoi de résultat ( application de l'instruction 25 sur les 500 instructions).
    le deuxième appel , l’interpréteur refais la même lecture et envoi le résultat ( application de l'instruction 25 sur les 500 instructions).
    donc y'a perte de temps en ms.
    ce qui j'arrive pas a comprendre comment il sait le chemin le plus court de l'instruction 25 parmi les 500 ( exemple champs indexé dans une table suit un algorithme bien définie).

  20. #20
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par redoran Voir le message
    si l’interpréteur refais la même lecture a chaque fois qu'on appel le code (redondance) , normalement il doit garder la première lecture ( comme les requêtes préparés...) .
    cela dit qu'il y'a un schéma d'exécution avec traçabilité du code .
    cas pratique:
    le fichier tab.php appel fichier sisam.php,
    interprétation du code avec envoi de résultat ( application de l'instruction 25 sur les 500 instructions).
    le deuxième appel , l’interpréteur refais la même lecture et envoi le résultat ( application de l'instruction 25 sur les 500 instructions).
    donc y'a perte de temps en ms.
    ce qui j'arrive pas a comprendre comment il sait le chemin le plus court de l'instruction 25 parmi les 500 ( exemple champs indexé dans une table suit un algorithme bien définie).
    Non, tu repars à zéro a chaque fois, sauf avec un cache d'opcode

Discussions similaires

  1. Conversion d un fichier php en ini
    Par gilles641 dans le forum Langage
    Réponses: 1
    Dernier message: 09/08/2005, 17h54
  2. Ouvrir un fichier.php d'une ihm
    Par Shandler dans le forum MFC
    Réponses: 3
    Dernier message: 02/05/2005, 15h00
  3. Réponses: 2
    Dernier message: 19/08/2004, 18h12
  4. où se trouve le fichier php.ini ?
    Par teko dans le forum Apache
    Réponses: 5
    Dernier message: 28/07/2004, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo