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

Bibliothèques et frameworks PHP Discussion :

[Smarty] Smarty et objet


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut [Smarty] Smarty et objet
    Bonjour, je souhaite utiliser smarty et j'aimerai utiliser mes objets ( ex $access->connecte() ).

    J'ai commencé a faire :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $smarty->assign("ma_class",$ma_class);

    J'ai eu un soucis, les variables sont enregistré en cache. C'est pourquoi j'ai du supprimer la cache :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $smarty->caching = false;

    Cette solution fonctionne mais j'ai vraiment l'impression de passer totalement a coté des avantages de ce template.

    Après avoir recherché , j'ai compris qu'il avait une fonction pour les objet avec la possibilité de limiter les accès à la partie graphique. Soit la fonction
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $smarty->register_object('access',$access,'connect');
    Malheureusement je n'arrive pas a utiliser cette fonction .

    J'obtiens :

    ( ! ) Fatal error: Uncaught exception 'SmartyException' with message 'Call of unknown method 'register_object'.' in C:\wamp\www\Stage\libs\sysplugins\smarty_internal_templatebase.php on line 806
    ( ! ) SmartyException: Call of unknown method 'register_object'. in C:\wamp\www\Stage\libs\sysplugins\smarty_internal_templatebase.php on line 806

    Le code complet:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    ....
    $smarty = new Smarty;
     
    class access{
     
    private $id_client;
     
    function __construct() {
    	if(isset($_SESSION['id_client']))
    		$this->id_client=$_SESSION['id_client'];
    	else 
    		$this->id_client=-1;
     
        }
     
    public function connex(){
    	return rand(1,5); //c'est juste pour le test
    }
     
     
     
    }
    $access =new access();
    $smarty->register_object('access',$access,'connex');
     
    ....
    $smarty->display('index.tpl');

    Code Smarty : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Petit test<b>{$access->connex()}</b>

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut
    Finalement j'ai trouvé tout seul

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $smarty->assign("ma_class",$ma_class,true);

    Le true correspond a no cache =1 , pour ma class

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    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 : 133
    Points : 229
    Points
    229
    Par défaut
    C'est vrai que malgré le fait que la doc de smarty soit traduite en français, certaines notions ou fonctions sont difficiles à maîtriser.

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

Discussions similaires

  1. smarty session et objet
    Par bruno.rotrou dans le forum Langage
    Réponses: 4
    Dernier message: 26/01/2011, 23h50
  2. [Smarty] session objet et smarty
    Par epeichette dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 10/07/2009, 10h48
  3. [Smarty] Afficher propriété d'une liste d'objet
    Par david06600 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/09/2007, 15h53
  4. [MySQL] tableau de données via BDD et Smarty
    Par taly dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/01/2006, 16h00
  5. [Smarty] Inclusion de templates
    Par pendragon509 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/10/2005, 19h58

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