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 :

[Système] require_once à partir d'une variable ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut [Système] require_once à partir d'une variable ?
    Bonjour à tous,

    Oui j'aime faire des trucs compliqués !

    Petit problème du jour :

    J'ai une variable $str qui contient du code php et plus particulièrement, la définition d'une classe, fonction etc... Pour simplifier, c'est comme si j'avais ouvert un fichier php dans la variable $str.

    Est-il possible d'effectuer un require_once non pas à partir d'un fichier php mais à partir de cette variable $str ?


    Pouquoi ?

    J'ai une class contenue dans un fichier php dédié qui est chargée à chaque requête. Je possède un système de cache mémoire (voir ici) et j'aimerais utiliser la cache pour y mettre cette class. Cela résultera par un accèes fichier en moins pour chaque requête ce qui n'est pas négligeable.

    Es-ce possible ou suis-je entrain de rêver à php7 ?

    Merci,

  2. #2
    Membre émérite Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Par défaut
    Si $str est une chaine de caractères qui contient enfait du code php, tu peux utiliser la fonction eval() mais elle est plutot gourmande.

    Pourquoi ne pas plutot stocker un résultat html ou bien enregistrer ton php dans un fichier à inclure ? Ce serait surement moins gourmand en ressources et tout aussi efficace.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    Merci,

    En fait là je pensais utiliser cela pour des classes et fonctions de validation de requête de l'utilisateur.

    Pour chaque requête j'ai un id module-action-etape et pour chaque id j'ai une fonction de validation qui vérifie la présence des champs obligatoires et le type et/ou valeurs de tous les champs qui peuvent passer en get ou en post ainsi que des contrôles plus précis et en rapport avec le contexte. J'ai séparer ces fonctions de validations du reste de mon code pour pouvoir de manière automatique et systématique appeler la fonction de validation en fonction de l'action demandée. Cela fait donc un accès fichier.

    Bon je sais que cela peut être négligeable comme cout vu que j'aurai une class (fichier php) par action qui regroupe tous les formulaires d'une action. (Exemple : création de profil) Donc c'est léger mais tant que je suis à la création de mon nouveau moteur de site, je me dis que tant qu'à faire, autant voir si y a pas moyen d'économiser cela vu que c'est appeler à chaque requêtes.

    Il s'agit donc de fichier contenant des définitions de class, je ne sais pas si eval fonctionne avec ça.

    Je suis dans l'optique de faire un moteur très léger et j'avais donc penser mettre le contenu de ces fichiers contenant une classe de validation en cache.

    Autre piste : Est il possible de mettre des fichiers php dans une dll ou un truc de ce genre qui serait donc lancé au démarrage du serveur. Je suppose que là tout ce trouve en mémoire et donc pas besoin que je gère cela. Mais quel est l'impact de cela sur le code ? Plus besoin de require et accès au class directement ?

    J'ai également des class appelée utils et qui contient différent outils Le système pourrait également y être appliqué.

  4. #4
    Membre émérite Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Par défaut
    Alors pour la validation, tu peux simplement faire des fonctions ou des classes que tu integrera par défaut dans tes pages (include, require) et tu les appelera avec la methode call_user_func()

    Il n'y a pas de dll en php ^^ les pages que tu inclu, elles le sont dynamiquement pas moyen de le faire "automatiquement sur le serveur" tu dois l'inscrire dans tes fichiers php.

    A la limite, si ce sont des classes et que tu es en php5, renseigne toi sur la fonction __autoload($className)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    En fait j'ai pas vrai de page mais plustot des fichiers PHP qui contiennent chacun une class. Je suis en full OO genre MVC.

    Quand tu dis qu'il n'y a pas de dll, il n'est pas possible de creer sa propre extension à inclure via php.ini ?

  6. #6
    Membre émérite Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Par défaut
    euh une extension c'est pas un .php lol

    tu fait du full OO ? Tu es en php4 ou 5 ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/08/2006, 15h31
  2. Réponses: 1
    Dernier message: 02/06/2006, 21h18
  3. vérifier un fichier à partir d'une variable
    Par pharaonline dans le forum Langage
    Réponses: 5
    Dernier message: 28/05/2006, 20h51
  4. [Système] D'un textarea à une variable
    Par Peuplarchiste dans le forum Langage
    Réponses: 5
    Dernier message: 14/05/2006, 18h41
  5. Exécuter une requête à partir d'une variable
    Par Poussy-Puce dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/03/2006, 14h15

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