Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1820 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11  12
Auteur Sujet :

Symfony : questions

n°2002513
gugus
Posté le 17-06-2010 à 14:59:54  profilanswer
 

Reprise du message précédent :
Vous avez une idée comment sont sauvegardés les timestamp en base quand on utilise propel?
 
en gros, ma base sauvegarde des timestamp unix, donc des entiers, et j'aimerais pouvoir faire comprendre ça à propel, histoire de pas se faire chier à bricoler les forms pour la prise en compte auto des dates de création / update
 
pour l'instant j'arrive juste à lui faire afficher les dates correctement, en passant par la modification de propel.dateTimeClass dans propel.ini, puis une surcharge de la classe Datetime
 
Le soucis c'est que ça marche que pour l'affichage, j'aimerais donc lui faire enregistrer des timestamp unix en base, tout en gardant le type 'timestamp' dans le schema.xml
 

Code :
  1. public function __construct($datetime='now', DateTimeZone $tz = null) {
  2.  
  3.        //if the date is bad account for Mssql datetime format
  4.        if ($datetime != 'now' && strtotime($datetime) === false) {
  5.            $datetime = date('Y-m-d H:i:s', $datetime);
  6.        }
  7.  
  8.        if($tz instanceof DateTimeZone) {
  9.            parent::__construct($datetime,$tz);
  10.        }
  11.        else {
  12.            parent::__construct($datetime);
  13.        }
  14.    }


 
En même temps il y a peut-être d'autre solution moins bourrines que ça, via des behavior ou je ne sais quoi, j'ai pas encore assez de connaissances pour trouver la meilleure soluce :D


---------------
Site photo - FlickR - G+ - Fb
mood
Publicité
Posté le 17-06-2010 à 14:59:54  profilanswer
 

n°2003940
theredled
● REC
Posté le 22-06-2010 à 23:16:56  profilanswer
 

Pour ceux qui cherchent...
 
http://symfonians.net/job/1-develo [...] p5-symfony


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2017496
Sylfurd
UUUURUTORAMAN §§
Posté le 17-08-2010 à 18:56:25  profilanswer
 

Hello :hello:

 

J'ai une question avec les fixtures Doctrine !

 

J'ai 2 classes qui se font références l'une à l'autre. Chacune contient un id vers l'autre.
Mes fixtures sont définies par fichier pour chaque classe.

 

Or, il me semble que les fixtures ne peuvent faire référence qu'à des labels défini "plus haut", du coup j'ai des null partout dans ma BDD !

 

Comment puis-je faire ?


Message édité par Sylfurd le 17-08-2010 à 18:57:59

---------------
NNiD: Sylfurd
n°2017881
theredled
● REC
Posté le 19-08-2010 à 12:46:14  profilanswer
 

Tu n'utilises pas la représentation en arbre par hazard ?
genre

Code :
  1. Truc:
  2.   truc1:
  3.     nom: blabla
  4.     Enfants:
  5.        machin1:
  6.           nom: hep
  7.        machin2:
  8.           nom: nop


 
Ca marche(ait ?) qu'à moitié, perso je me limite à un niveau sauf si c'est simple.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2017885
Sylfurd
UUUURUTORAMAN §§
Posté le 19-08-2010 à 13:02:31  profilanswer
 

Je n'ai qu'un niveau, mais j'ai reussi à réordonner mes données pour ne plus avoir de problème !


---------------
NNiD: Sylfurd
n°2017886
theredled
● REC
Posté le 19-08-2010 à 13:12:23  profilanswer
 

Bah c'est bien :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2017971
Sylfurd
UUUURUTORAMAN §§
Posté le 19-08-2010 à 16:34:24  profilanswer
 

Bon comme je suis débutant en symfony je vais poser une question con [:cupra]

 

Sur mon site je souhaite intégrer un menu avec toutes les catégories sur la gauche (dont celle actuellement visitée avec un style particulier)

 

Dans le layout de mon frontend j'ai donc créé un slot "menu", mais je ne sais pas où définir se slot !

 

Donc la question que je me pose est où est le meilleur endroit pour définir ce slot menu ? (sachant que je vais avoir besoin d'accéder à une variable flash pour connaitre la catégorie actuellement explorée)
Dans le layout du frontend :/ ?
Dans un fragment ? un partial ?


Message édité par Sylfurd le 19-08-2010 à 16:38:41

---------------
NNiD: Sylfurd
n°2017977
flo850
moi je
Posté le 19-08-2010 à 16:41:37  profilanswer
 


tu vas definir un _menu.php dans ton dossier de template globale
 
si je comrpends bien tu vas l'appeler depuis le layout global :

Code :
  1. <?php include_partial('menu', array('currentMenu' => $curentMenu)) ?>

n°2017978
Sylfurd
UUUURUTORAMAN §§
Posté le 19-08-2010 à 16:42:05  profilanswer
 

ok :jap: Ca serait donc un fragment partial ([:prozac]) :)

 

Merci bien ! J'vais plus me documenter sur les partials !

 

Edit: Ok, j'avais pas vu qu'on pouvait intégrer un partial dans le layout global, mais en fait il est considéré comme faisant parti d'un module "global" :jap:


Message édité par Sylfurd le 19-08-2010 à 16:48:07

---------------
NNiD: Sylfurd
n°2017999
Sylfurd
UUUURUTORAMAN §§
Posté le 19-08-2010 à 17:29:46  profilanswer
 

Ok, et je passe par des components pour la partie logique :jap:


Message édité par Sylfurd le 19-08-2010 à 17:29:52

---------------
NNiD: Sylfurd
mood
Publicité
Posté le 19-08-2010 à 17:29:46  profilanswer
 

n°2018000
flo850
moi je
Posté le 19-08-2010 à 17:31:01  profilanswer
 

oui

n°2018003
Sylfurd
UUUURUTORAMAN §§
Posté le 19-08-2010 à 17:42:21  profilanswer
 

Du coup un component slots semble plus adapté à ce que je veux faire !

 

Edit: non en fait un simple component devrait suffire !

 

Edit2: Ca marche et c'est propre [:implosion du tibia] merci :D


Message édité par Sylfurd le 19-08-2010 à 18:07:18

---------------
NNiD: Sylfurd
n°2027205
Alisteroid
Posté le 06-10-2010 à 09:56:41  profilanswer
 

Bonjour,
 
Je cherche à charger un fichier de routing (routing_fr.yml, routing_en.yml) différent en fonction de langue, vous auriez une idée précise de comment faire ça ?
 
J'ai regardé config_handler, mais j'arrive à rien.
 
Merci
 

n°2027206
theredled
● REC
Posté le 06-10-2010 à 09:59:40  profilanswer
 

T'es sûr que faire une/des routes spéciales serait pas mieux ?


Message édité par theredled le 06-10-2010 à 09:59:54

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2027217
Alisteroid
Posté le 06-10-2010 à 10:37:14  profilanswer
 

Non parceque j'ai tous les link_to (@route) à modifier (et dans l'admin generator aussi)
J'y avais pensé en préfixant mes routes par la langue (fr_route1 en_route1 etc ...) mais ça posait ce problème.

 

Mon problème est de traduire complètement les routes , même les prefix_path des sfDoctrineRouteCollection, et je vois pas d'autre moyen de le faire.

 

D'autre part, je dois faire un autre site multilingue ou chaque langue à sa propre base de données (en gros chaque site est indépendant et rien ne doit se mélanger), je me dis que de pouvoir charger un fichier routing en fonction de la langue me permettrai aussi de charger un database.yml different.

 

Message cité 1 fois
Message édité par Alisteroid le 06-10-2010 à 10:37:32
n°2027220
theredled
● REC
Posté le 06-10-2010 à 10:42:02  profilanswer
 

Alisteroid a écrit :

Non parceque j'ai tous les link_to (@route) à modifier (et dans l'admin generator aussi)
J'y avais pensé en préfixant mes routes par la langue (fr_route1 en_route1 etc ...) mais ça posait ce problème.

 

Mon problème est de traduire complètement les routes , même les prefix_path des sfDoctrineRouteCollection, et je vois pas d'autre moyen de le faire.


M'est d'avis qu'il y a mieux :o Surtout si ça se répète.

 

Tu devrais pas avoir à changer les link_to() avec des sfRoutes customs puisque le sf_culture est passé dans tous les cas (donc tu peux générer/détecter les urls en fonction de lui).

 


Alisteroid a écrit :


D'autre part, je dois faire un autre site multilingue ou chaque langue à sa propre base de données (en gros chaque site est indépendant et rien ne doit se mélanger), je me dis que de pouvoir charger un fichier routing en fonction de la langue me permettrai aussi de charger un database.yml different.


Je savais pas que le routing s'occupait de la connexion à la BDD [:klemton]

Message cité 1 fois
Message édité par theredled le 06-10-2010 à 10:42:55

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2027229
Alisteroid
Posté le 06-10-2010 à 11:09:53  profilanswer
 

theredled a écrit :


M'est d'avis qu'il y a mieux :o Surtout si ça se répète.
 
Tu devrais pas avoir à changer les link_to() avec des sfRoutes customs puisque le sf_culture est passé dans tous les cas (donc tu peux générer/détecter les urls en fonction de lui).
 
 


Tu peux détailler vite fait ?
 

theredled a écrit :


Je savais pas que le routing s'occupait de la connexion à la BDD [:klemton]


Non je me disais que je pouvais suivre la même logique. (Charger un fichier différent en fonction de la culture), mais bon je compte utiliser des env differents pour ça , ça sera plus pratique pour faire des confs différentes en fonction des langues.

n°2027232
theredled
● REC
Posté le 06-10-2010 à 11:19:59  profilanswer
 

Alisteroid a écrit :


Tu peux détailler vite fait ?

 



Bah dans ta classe MyRoute tu peux savoir la langue en cours, donc implémenter tes matchesUrl() et generate() en prenant  ça en compte.

Message cité 1 fois
Message édité par theredled le 06-10-2010 à 11:21:04

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2027234
theredled
● REC
Posté le 06-10-2010 à 11:23:06  profilanswer
 

Pour ton autre site multilangue, perso j'ajouterais un filter qui connecte simplement Doctrine à la bonne BDD en fonction de la langue.

 

Et tu déclares toutes tes bases dans le même database.yml (doctrine_fr: {}, doctrine_en: {} etc).

Message cité 1 fois
Message édité par theredled le 06-10-2010 à 11:23:53

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2027247
Alisteroid
Posté le 06-10-2010 à 11:43:21  profilanswer
 

theredled a écrit :


Bah dans ta classe MyRoute tu peux savoir la langue en cours, donc implémenter tes matchesUrl() et generate() en prenant  ça en compte.


Voila la bonne façon de faire, suffit détendre sfRequestRoute et de modifier ces 2 méthodes.
J'ai pas eu le temps d'étudier tout en détail , merci de m'avoir éclairé ;)
 

theredled a écrit :

Pour ton autre site multilangue, perso j'ajouterais un filter qui connecte simplement Doctrine à la bonne BDD en fonction de la langue.
 
Et tu déclares toutes tes bases dans le même database.yml (doctrine_fr: {}, doctrine_en: {} etc).


Merci beaucoup :jap: Je vais voir ça.

n°2027249
ratibus
Posté le 06-10-2010 à 11:48:26  profilanswer
 

Alisteroid a écrit :

Bonjour,
 
Je cherche à charger un fichier de routing (routing_fr.yml, routing_en.yml) différent en fonction de langue, vous auriez une idée précise de comment faire ça ?
 
J'ai regardé config_handler, mais j'arrive à rien.
 
Merci
 


 
 
Genre ça : http://www.symfony-project.org/plu [...] tingPlugin ?


---------------
Mon blog
n°2027252
flo850
moi je
Posté le 06-10-2010 à 11:50:08  profilanswer
 

bookmarked :love:


Message édité par flo850 le 06-10-2010 à 11:50:15
n°2027272
Alisteroid
Posté le 06-10-2010 à 13:30:32  profilanswer
 


Ah ouais en effet  :love:  
J'avais pas cherché dans les plugins  :whistle:

n°2027294
Alisteroid
Posté le 06-10-2010 à 14:24:44  profilanswer
 

Bon j'ai trouvé un pb avec ce plugin, ça marche pas avec des doctrine route collection:

 

ex:

Code :
  1. sf_guard_user_fr:
  2.   class: sfDoctrineRouteCollection
  3.   options:
  4.     model:                sfGuardUser
  5.     module:               sfGuardUser
  6.     prefix_path:          /utilisateurs
  7.     with_wildcard_routes: true
  8.     collection_actions: {filter: 'post', batch: 'post'}


Donne les routes :

 
Code :
  1. sf_guard_user_fr_filter         POST      /utilisateurs/filter.:sf_format
  2. sf_guard_user_fr_batch          POST      /utilisateurs/batch.:sf_format
  3. sf_guard_user_fr                GET       /utilisateurs.:sf_format
  4. sf_guard_user_fr_new            GET       /utilisateurs/new.:sf_format
  5. sf_guard_user_fr_create         POST      /utilisateurs.:sf_format
  6. sf_guard_user_fr_edit           GET       /utilisateurs/:id/edit.:sf_format
  7. sf_guard_user_fr_update         PUT       /utilisateurs/:id.:sf_format
  8. sf_guard_user_fr_delete         DELETE    /utilisateurs/:id.:sf_format
  9. sf_guard_user_fr_show           GET       /utilisateurs/:id.:sf_format
  10. sf_guard_user_fr_object         GET       /utilisateurs/:id/:action.:sf_format
  11. sf_guard_user_fr_collection     POST      /utilisateurs/:action/action.:sf_format
 

On voit le pb : le _fr à besoin d'être en fin de route avec ce plugin, ce qui n'est pas le cas avec ces routes.
Du coup faut soit modifier le plugin, soit décomposer toutes les sfDoctrineRouteCollection

 

EDIT: C'est con, il aurait fait en sorte que la culture se mettre au début du nom de la route, et le pb se poserait pas
Bref je vais faire cette modif.


Message édité par Alisteroid le 06-10-2010 à 14:28:27
n°2027308
Alisteroid
Posté le 06-10-2010 à 15:03:45  profilanswer
 

Finalement suffit de créer un fichier routing.xml ou .po pour traduire les morceaux d'url, le problème est que c'est très lourd.
 
Sans plugin
Factories 122.90ms 63% du temps total
Avec plugin
Factories 22.74ms 18 du temps total
 
 :cry:

n°2027520
Alisteroid
Posté le 07-10-2010 à 12:12:06  profilanswer
 

Bonjour,
 
Je reviens avec mon problème de perf, j'arrive pas à activer le cache dans sfPatternRouting

Code :
  1. all:
  2.   routing:
  3.     class: sfPatternRouting
  4.     param:
  5.       generate_shortest_url:            true
  6.       extra_parameters_as_query_string: true
  7.       cache:
  8.         class: sfFileCache
  9.         param:
  10.           automatic_cleaning_factor: 1000
  11.           cache_dir:                 %SF_CONFIG_CACHE_DIR%/routing
  12.           lifetime:                  31556926
  13.           prefix:                    %SF_APP_DIR%


 
Si je débug $this->cache dans la class sfPatternRouting, j'obtiens toujours null.
 
J'aurais pas manqué un truc pour que ce cache marche ? (Le dossier de cache est bien crée par contre mais reste vide)
 
Merci :jap:

n°2027542
Alisteroid
Posté le 07-10-2010 à 13:25:39  profilanswer
 

J'ai trouvé :  
 
dans sfRoutingConfigHandler : unset($options['cache']);
=>Apparementil a eu beaucoup de problèmes de perf avec le cache des routes, ils ont décidé de le virer.
 
Bref même en le remettant j'ai les mêmes perfs, c'est du à la methode connect de zxPatternI18NRouting qui est ultra lourde et appellée un paquet de fois.
 
Du coup faut que je reparte sur mon idée de charger 1 fichier de route par langue.
 
Sinon vous savez comment obtenir le détail des routes d'une sfDoctrineRouteCollection ? J'aimerai les définir moi même.
 
Merci :jap:

n°2028215
flo850
moi je
Posté le 11-10-2010 à 07:52:13  profilanswer
 

Est ce qu'il y a moyen de bloquer la sauvegarde au niveau du modèle ? Ou est ce que c'est au controleur(s) de vérifier ça

 

je veux interdire tout effacement dans un ensemble de  tables liées à l'indemnisation

Message cité 1 fois
Message édité par flo850 le 11-10-2010 à 07:52:35
n°2028219
ratibus
Posté le 11-10-2010 à 08:01:50  profilanswer
 

flo850 a écrit :

Est ce qu'il y a moyen de bloquer la sauvegarde au niveau du modèle ? Ou est ce que c'est au controleur(s) de vérifier ça

 

je veux interdire tout effacement dans un ensemble de  tables liées à l'indemnisation


Faut faire ça dans le modèle.

n°2028221
flo850
moi je
Posté le 11-10-2010 à 08:06:02  profilanswer
 

J'ai bien les hook pre et post delete, mais ça ne permet pas de bloquer le delete, si ?

n°2028242
ratibus
Posté le 11-10-2010 à 09:25:20  profilanswer
 

Alors soit dans le preHook tu return une valeur != 0 soit tu surcharges le dodelete de la classe Peer associé.


---------------
Mon blog
n°2028272
flo850
moi je
Posté le 11-10-2010 à 10:24:09  profilanswer
 
n°2028282
ratibus
Posté le 11-10-2010 à 10:47:18  profilanswer
 


Sachant que le doDelete c'est le plus "profond" dans les appels dont c'est mieux.


---------------
Mon blog
n°2028283
flo850
moi je
Posté le 11-10-2010 à 10:49:34  profilanswer
 

je n'avais pas pensé a surcharger le doDelete, alors que je surcharge déjà le doSave par endroit

n°2028305
theredled
● REC
Posté le 11-10-2010 à 11:48:06  profilanswer
 

A noter que Ratibus parle de Propel :o
Même si c'est pareil :o

Message cité 1 fois
Message édité par theredled le 11-10-2010 à 11:49:13

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°2028316
ratibus
Posté le 11-10-2010 à 12:22:21  profilanswer
 

theredled a écrit :

A noter que Ratibus parle de Propel :o
Même si c'est pareil :o


Ah ouais bonne remarque :D


---------------
Mon blog
n°2029256
art_dupond
je suis neuneu... oui oui !!
Posté le 14-10-2010 à 12:47:53  profilanswer
 

hello :)

 


petite question sur le routage.

 

j'ai une route classique :

news:
  url: /news
  param: { module: news, action: index }


Dans mon layout, j'ai des liens classiques :

<?php echo link_to('news', '@news') ?>


Mon problème est que le lien créé est différent en dev et en prod :

 


En prod, le lien créé perd la partie "application".

 

J'ai sûrement loupé quelque chose mais je ne sais pas où :(

 

Si quelqu'un peut m'éclairer :jap:

 


Message édité par art_dupond le 14-10-2010 à 12:48:21

---------------
oui oui
n°2029257
gugus
Posté le 14-10-2010 à 12:57:45  profilanswer
 

si je me gourre pas y'a un settings pour ça, sinon fais du rewriting pour avoir des url propres ça serait mieux non ?
 
edit :
Dans settings.yml

Code :
  1. no_script_name:         false


si tu le met à true (par défaut pour l'environnement prod), ça te vireras ton script de l'url


Message édité par gugus le 14-10-2010 à 13:00:37

---------------
Site photo - FlickR - G+ - Fb
n°2029260
art_dupond
je suis neuneu... oui oui !!
Posté le 14-10-2010 à 13:08:50  profilanswer
 

c'est bien ça merci beaucoup :)
 
 
mais c'est marrant parce quand dans les autres applications du site, il est bien à false.


---------------
oui oui
n°2029262
gugus
Posté le 14-10-2010 à 13:15:07  profilanswer
 

probablement parce que c'est la première appli que tu a générée

Citation :

When you created the frontend application, the production front controller was named index.php. As you can only have one index.php file per directory, symfony creates an index.php file for the very first production front controller and names the others after the application name.

amha, il met à true pour la première appli, index.php, et false pour les autres
ce qui est relativement logique, puisque c'est théoriquement ton frontend l'index.php et que donc c'est celui-ci que tu veux masquer


---------------
Site photo - FlickR - G+ - Fb
n°2029292
art_dupond
je suis neuneu... oui oui !!
Posté le 14-10-2010 à 15:23:16  profilanswer
 

vu comme ça c'est logique :)
 
Ca a dû couiller quand j'ai renommé ce index.php :p
 
 
merci encore :jap:


---------------
oui oui
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11  12

Aller à :
Ajouter une réponse
 

Sujets relatifs
Symfony, OVH, et PHP_VERDes questions sur php
[C#] Questions de débutant...servlet : pleins de questions :/
Questions utilesQuelques questions
Probleme/questions Graphe de Scene avec Java3Dfpc télécharger un fichier et questions sur win
Questions sur week planner PHP/SQL[AS3 - newbies] Mes questions pour bien débuter
Plus de sujets relatifs à : Symfony : questions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR