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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  1265  1266  1267  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°2198404
ratibus
Posté le 23-07-2013 à 10:25:24  profilanswer
 

Reprise du message précédent :

masklinn a écrit :


C'est un détail d'implémentation ça, dans DBAPI2 t'as une méthode .execute() (et une executemany()) qui a une tête d'appel direct et utilise des prepared statements derrière, et tu te fais pas chier avec des bindparams et 15 statements pour pouvoir faire une requête SQL [:souk]


Avec PDO c'est prepare + execute pour avoir du prepared.
Ca fait qu'une instruction en + :o

mood
Publicité
Posté le 23-07-2013 à 10:25:24  profilanswer
 

n°2198416
Profil sup​primé
Posté le 23-07-2013 à 10:43:17  answer
 

gelatine_velue a écrit :


 
wtfbbq?!
Plutot comme ca non?:
 

Code :
  1. <?php
  2. $con=mysqli_connect("example.com","peter","abc123","my_db" );
  3. // Check connection
  4. if (mysqli_connect_errno())
  5.  {
  6.  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  7.  }
  8.  
  9. mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
  10. VALUES ('Peter', 'Griffin',35)" );
  11.  
  12. mysqli_query($con,"INSERT INTO Persons (FirstName, LastName, Age)
  13. VALUES ('Glenn', 'Quagmire',33)" );
  14.  
  15. mysqli_close($con);
  16. ?>



 


 

ratibus a écrit :

Prepared statement toussa


 

masklinn a écrit :

Tiens d'ailleurs je rêve ou les méthodes PDO de querying direct (sans prepared statement) ne prennent pas de placeholder et il faut escaper à la main si besoin?


 
 
Ok merci donc ma syntaxe est bonne?

n°2198417
Volkhen
Posté le 23-07-2013 à 10:43:20  profilanswer
 

ratibus a écrit :


Avec PDO c'est prepare + execute pour avoir du prepared.
Ca fait qu'une instruction en + :o


Surtout que mieux vaut étendre PDO pour gérer les transactions sans avoir à se poser la question de savoir si tu en as commencé une ou pas. Donc ajouter une petite méthode qui prend une chaine SQL (ou un truc pour récupérer ta chaine si tu les stockes quelque part) et un array, ce n'est pas la mort.


---------------
Main/Alt1/Alt2/Alt3
n°2198427
pop-pan
yay!
Posté le 23-07-2013 à 11:08:22  profilanswer
 

ca se fait encore des queries SQL sans passer par une couche d'abstraction ?
 
ca revient a faire du web en java mais en mettant tout le code dans un JSP, ou a faires des queries sans utiliser hibernate ou assimilé
 
 
sinon nginx ca poutre du cheval mort ! par contre c'est un peu plus long a configurer qu'apache.
une solution simple c'est d'abord de l'utiliser en proxy (un apt-get et 5mn de conf), ca impacte pas trop le fonctionnement d'une appli et ca permet de voir ce qui est prioritaire niveau perfs


---------------
Plop !
n°2198428
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 11:17:54  profilanswer
 

ratibus a écrit :


Avec PDO c'est prepare + execute pour avoir du prepared.
Ca fait qu'une instruction en + :o


Ça double le nombre d'instructions, et execute(array) ça marche que si tous tes paramètres sont des PDO::PARAM_STR, si t'as un autre type impliqué t'as gagné le droit de te taper du bindParam [:spamafote]

Volkhen a écrit :


Surtout que mieux vaut étendre PDO pour gérer les transactions sans avoir à se poser la question de savoir si tu en as commencé une ou pas.


WTF?

pop-pan a écrit :

ca se fait encore des queries SQL sans passer par une couche d'abstraction ?


Oui

pop-pan a écrit :

ca revient a faire du web en java mais en mettant tout le code dans un JSP, ou a faires des queries sans utiliser hibernate ou assimilé


Non (mais alors vraiment pas)

Message cité 2 fois
Message édité par masklinn le 23-07-2013 à 11:20:57

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198429
skylight
Made in France.
Posté le 23-07-2013 à 11:19:08  profilanswer
 

pop-pan a écrit :

ca se fait encore des queries SQL sans passer par une couche d'abstraction ?


 
Quand on sait ce qu'on fait et qu'on veut un truc très light, oui

n°2198432
mechkurt
Posté le 23-07-2013 à 11:22:44  profilanswer
 

Personnellement je serais incapable de faire certaine requêtes SQL en passant par une surcouche, je pourrais sans doute apprendre mais ça me semble quand même plus simple d'écrire directement du SQL que d'apprendre à expliquer à un PDO PHP ce que je veux qu'il demande à MySQL [:airforceone] .


---------------
D3
n°2198434
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 11:28:22  profilanswer
 

mechkurt a écrit :

Personnellement je serais incapable de faire certaine requêtes SQL en passant par une surcouche, je pourrais sans doute apprendre mais ça me semble quand même plus simple d'écrire directement du SQL que d'apprendre à expliquer à un PDO PHP ce que je veux qu'il demande à MySQL [:airforceone] .


Wat?

 

Tu réalises que PDO c'est juste une API générique pour requêter toutes les DBs sans avoir à se taper une API spécifique pour chaque? Et tu gagnes en bonus des bindparams nommés (pas juste numériques)? Pour "expliquer à PDO ce qur tu veux qu'il demande à MySQL", bah tu crées ta connection en lui filant le dsn, puis tu fais tes requêtes normalement. Et c'est pareil avec postgres, mssql, oracle, sqlite, informix ou autres.


Message édité par masklinn le 23-07-2013 à 11:29:47

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198435
skylight
Made in France.
Posté le 23-07-2013 à 11:32:21  profilanswer
 

mechkurt a écrit :

Personnellement je serais incapable de faire certaine requêtes SQL en passant par une surcouche, je pourrais sans doute apprendre mais ça me semble quand même plus simple d'écrire directement du SQL que d'apprendre à expliquer à un PDO PHP ce que je veux qu'il demande à MySQL [:airforceone] .


Un PDO classique tu peux déjà tout faire avec lui, genre select()->from()->join()->where->group() ... etc. ;)

n°2198444
pop-pan
yay!
Posté le 23-07-2013 à 11:48:13  profilanswer
 

masklinn a écrit :


Non (mais alors vraiment pas)


 
quelle partie? la comparaison JSP?
parce que c'est exactement ne pas utiliser un ORM type hibernate (meme si hibernate fait vachement de trucs en plus)
 
apres qu'il puisse y avoir des avantages en terme de perf a faire du SQL direct je le nie pas, mais on oublie les problematiques des SQL differents selon les sgbdr et leur versions (super quand on change de version majeure...), on traite les commit/rollback a la main, on traite le lazy load a la main (certaines db sont plus rapides sans jointures dans la query, d'autres non)
donc ouais si on maitrise tout ca (env, versions) c'est "acceptable" mais je suis pas sur que ce soit vraiment la panacée.
 
quand a apprendre a faire un descripteur de relations ou a faire les bind lors des queryies c'est vraiment pas sorcier, ca prends 20mn a tout peter de savoir monter faire son descripteur des lors qu'on a un MCD/MPD
 
et il y a l'embarras du choix, en hibernate on peut faire du HQL, utiliser les annotations, doctrine, torpedo...
doctrine etant supporté par quasiment tous les frameworks c'est un investimment viable qui pour moi va dans le sens de l'apprentissage du framework.
 
[EDIT]
je parle bien de queries a l'ancienne, pas de PDO.
mais pdo, c'est un query builder comme torpedoquery, pas un full ORM

Message cité 2 fois
Message édité par pop-pan le 23-07-2013 à 11:52:23

---------------
Plop !
mood
Publicité
Posté le 23-07-2013 à 11:48:13  profilanswer
 

n°2198448
Volkhen
Posté le 23-07-2013 à 11:58:53  profilanswer
 


Je suis une feignasse et je n'aime pas les transactions imbriquées.


---------------
Main/Alt1/Alt2/Alt3
n°2198456
Volkhen
Posté le 23-07-2013 à 12:12:24  profilanswer
 

pop-pan a écrit :

 

[EDIT]
je parle bien de queries a l'ancienne, pas de PDO.
mais pdo, c'est un query builder comme torpedoquery, pas un full ORM


http://php.net/manual/fr/book.pdo.php
C'est de la query à l'ancienne hein, pas un "query builder".


Message édité par Volkhen le 23-07-2013 à 12:12:42

---------------
Main/Alt1/Alt2/Alt3
n°2198458
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 12:15:28  profilanswer
 

pop-pan a écrit :


je parle bien de queries a l'ancienne, pas de PDO.
mais pdo, c'est un query builder comme torpedoquery, pas un full ORM


PDO-l'API-PHP c'est pas un querybuilder. C'est rien de plus q'une API de connection et requêtage pluggable et gérant des DBs multiples, comme DBI, DBAPI2 ou JDBC.

Volkhen a écrit :


Je suis une feignasse et je n'aime pas les transactions imbriquées.


Bah ça tombe bien, MySQL non plus (pas plus que Postgres ou que nombres de libs de connection DB genre ODBC ou ADO). Les transactions imbriquées sont faites explicitement via SAVEPOINT.

 

Et franchement dans un process web c'est vraiment le truc le plus con du monde: tu ouvres une transaction avant de commencer ton processing, tu la commit à la fin si pas d'erreur, tu rollback si erreur. Tu peux ajouter des custos configurés (genre pour pas ouvrir de transaction quand t'as pas besoin d'une connection DB), mais c'est vraiment pas sorcier et t'as aucune raison de ne pas savoir si une transaction est en cours ou non (bon après dans DBAPI, sauf si t'es en autocommit une transaction est automatiquement ouverte à la première requête)

Message cité 3 fois
Message édité par masklinn le 23-07-2013 à 12:19:56

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198466
pop-pan
yay!
Posté le 23-07-2013 à 12:35:09  profilanswer
 

ah oui tiens, autant pour moi.
mais effectivemment j'utilise plus ca depuis des lustres.
 
a partir du moment ou une condition est rajoutée en fonction d'un test/argument je voyais plus trop l'interet de builder une string de cette maniere
 
je prefere largement le chaining :
http://torpedoquery.org/
 
[edit]
mais en php je fais plutot du doctrine (symfony) et/ou les formats natifs des frameworks (i.e cake)


Message édité par pop-pan le 23-07-2013 à 12:37:01

---------------
Plop !
n°2198467
skylight
Made in France.
Posté le 23-07-2013 à 12:36:09  profilanswer
 

masklinn a écrit :


Et franchement dans un process web c'est vraiment le truc le plus con du monde: tu ouvres une transaction avant de commencer ton processing, tu la commit à la fin si pas d'erreur, tu rollback si erreur. Tu peux ajouter des custos configurés (genre pour pas ouvrir de transaction quand t'as pas besoin d'une connection DB), mais c'est vraiment pas sorcier et t'as aucune raison de ne pas savoir si une transaction est en cours ou non (bon après dans DBAPI, sauf si t'es en autocommit une transaction est automatiquement ouverte à la première requête)


 [:wiids]

n°2198470
0x90
Posté le 23-07-2013 à 12:42:40  profilanswer
 

masklinn a écrit :


Bah ça tombe bien, MySQL non plus (pas plus que Postgres ou que nombres de libs de connection DB genre ODBC ou ADO). Les transactions imbriquées sont faites explicitement via SAVEPOINT.
 
Et franchement dans un process web c'est vraiment le truc le plus con du monde: tu ouvres une transaction avant de commencer ton processing, tu la commit à la fin si pas d'erreur, tu rollback si erreur. Tu peux ajouter des custos configurés (genre pour pas ouvrir de transaction quand t'as pas besoin d'une connection DB), mais c'est vraiment pas sorcier et t'as aucune raison de ne pas savoir si une transaction est en cours ou non (bon après dans DBAPI, sauf si t'es en autocommit une transaction est automatiquement ouverte à la première requête)


 
En faisant ça tu crée une fonction non composable, contrairement à une logique genre "tu ouvres si la transaction au debut si elle est pas ouverte, tu la fermes à la fin si c'est toi qui l'a ouverte". Après c'est pas forcément un prérequis absolu d'avoir des fonctions composables jusqu'à tout en haut, mais des fois c'est cool.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2198471
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 12:49:46  profilanswer
 

0x90 a écrit :

En faisant ça tu crée une fonction non composable


[:petrus dei]

 

Je vois pas ce qu'avoir besoin d'un contexte d'exécution a de non-composable, bien au contraire même (ça permet d'exécuter la fonction en dehors d'un mode transactionnel classique avec une db mockée par exemple, si la fonction commence à bricoler les transaction de son côté c'est plus possible).

 

L'état transactionnel, c'est du cross-cut, ça n'a rien à foutre dans les fonctions de processing imo.

 

À ma connaissance tous les fw python un peu sérieux fonctionnent de cette manière, avec des hooks pour des sous-transactions si besoin: https://docs.djangoproject.com/en/d [...] p-requests http://docs.sqlalchemy.org/en/rel_ [...] -questions (seconde moitié de la 2e question)

Message cité 1 fois
Message édité par masklinn le 23-07-2013 à 12:57:31

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198491
Volkhen
Posté le 23-07-2013 à 14:04:13  profilanswer
 

masklinn a écrit :


PDO-l'API-PHP c'est pas un querybuilder. C'est rien de plus q'une API de connection et requêtage pluggable et gérant des DBs multiples, comme DBI, DBAPI2 ou JDBC.

 
masklinn a écrit :


Bah ça tombe bien, MySQL non plus (pas plus que Postgres ou que nombres de libs de connection DB genre ODBC ou ADO). Les transactions imbriquées sont faites explicitement via SAVEPOINT.

 

Et franchement dans un process web c'est vraiment le truc le plus con du monde: tu ouvres une transaction avant de commencer ton processing, tu la commit à la fin si pas d'erreur, tu rollback si erreur. Tu peux ajouter des custos configurés (genre pour pas ouvrir de transaction quand t'as pas besoin d'une connection DB), mais c'est vraiment pas sorcier et t'as aucune raison de ne pas savoir si une transaction est en cours ou non (bon après dans DBAPI, sauf si t'es en autocommit une transaction est automatiquement ouverte à la première requête)


Mes objets ne sont pas sensés savoir si la méthode qu'on appelle d'eux se fait dans une transaction ou pas. Donc ils en commencent une et la terminent eux-même si besoin. Et si en fin de compte cette partie était au milieu d'une plus large transaction, le wrapping de pdo s'est démerdé pour ne faire qu'un begintransaction au départ.

 
Code :
  1. <?php
  2. $test = new PDO('mysql:dbname=test;host=127.0.0.1', '', '');
  3. $test->beginTransaction();
  4. $test->beginTransaction();


Donne :

Citation :

Fatal error: Uncaught exception 'PDOException' with message 'There is already an active transaction'

Message cité 1 fois
Message édité par Volkhen le 23-07-2013 à 14:05:36

---------------
Main/Alt1/Alt2/Alt3
n°2198493
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 14:12:59  profilanswer
 

Volkhen a écrit :

Mes objets ne sont pas sensés savoir si la méthode qu'on appelle d'eux se fait dans une transaction ou pas.


Ce que je trouve très bien.

Volkhen a écrit :

Donc ils en commencent une et la terminent eux-même si besoin.


Ce que je trouve pas très bien (pour les raisons indiquées au dessus: c'est pas leur boulot de s'occuper de ça, ce me semble être une flagrante violation de SRP et plus si affinité)

Volkhen a écrit :


Code :
  1. <?php
  2. $test = new PDO('mysql:dbname=test;host=127.0.0.1', '', '');
  3. $test->beginTransaction();
  4. $test->beginTransaction();


Donne :

Citation :

Fatal error: Uncaught exception 'PDOException' with message 'There is already an active transaction'



Bah oui comme je l'ai dit mysql aime pas les transactions nestées.

Message cité 2 fois
Message édité par masklinn le 23-07-2013 à 14:15:40

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198494
Volkhen
Posté le 23-07-2013 à 14:17:08  profilanswer
 

masklinn a écrit :


Ce que je trouve pas très bien (pour les raisons indiquées au dessus: c'est pas leur boulot de s'occuper de ça)


C'est un choix. Je considère que mon objet sait mieux que quiconque si les appels qu'il fait dans ses méthodes risquent de mettre la merde en base ou pas si une erreur survient.
 

masklinn a écrit :


Bah oui comme je l'ai dit mysql aime pas les transactions nestées.


Une des faiblesses de PDO à mon avis, ce genre de truc devrait être abstrait pour avoir le même comportement autant que possible entre les drivers.


---------------
Main/Alt1/Alt2/Alt3
n°2198495
Schimz
Bouge pas, meurs, ressuscite !
Posté le 23-07-2013 à 14:25:11  profilanswer
 

J'ai modernisé mon bac à sable. Passage HTML5 et giclage de la compatibilité IE. Ça change la vie [:pingouino]
 
Pour la grille, j'ai pris ça. Any comments ?


---------------
çà s'est HFR | Music for the Galaxy
n°2198496
0x90
Posté le 23-07-2013 à 14:32:01  profilanswer
 

masklinn a écrit :


[:petrus dei]
 
Je vois pas ce qu'avoir besoin d'un contexte d'exécution a de non-composable, bien au contraire même (ça permet d'exécuter la fonction en dehors d'un mode transactionnel classique avec une db mockée par exemple, si la fonction commence à bricoler les transaction de son côté c'est plus possible).
 
L'état transactionnel, c'est du cross-cut, ça n'a rien à foutre dans les fonctions de processing imo.
 
À ma connaissance tous les fw python un peu sérieux fonctionnent de cette manière, avec des hooks pour des sous-transactions si besoin: https://docs.djangoproject.com/en/d [...] p-requests http://docs.sqlalchemy.org/en/rel_ [...] -questions (seconde moitié de la 2e question)


 
Un bout de code qui inconditionnellement démarre une session n'est plus appelable librement par un autre bout de code qui voudrait jouer avec des sessions, c'est dans ce sens là qu'avoir un point où on dit "bon là c'est une opération entière, j'enrobe le contenu avec un begin/commit/rollback et c'est ok" me dérange. C'est précisément aussi ce qu'on voit dans la doc de SQLAlchemy, ça parle de requêtes, d'opérations, d'unit-of-work, que l'on enrobe chacune d'une transaction, je trouve ça un peu dommage si ensuite je peux pas combiner ces opérations pour faire des opérations plus grandes (D'autres trouveront que de toute façon si l'opération est plus grande, il faudra forcément l'implémenter différemment au niveau SQL pour avoir de bonnes perfs, donc que c'est une bonne chose, par exemple, de ne pas laisser les gens facilement boucler sur une opération simple pour implémenter une grosse opération).
 
Ceci dit la logique conditionnelle dont je parlais, j'imaginais pas la foutre directement dans le corps de chaque fonction, d'autant plus que c'est tout le temps la même. Et le fait d'avoir du noop quand t'es dans une db mockée, c'est le même comportement attendu quand tu exécutes une opération au sein d'une autre opération plus grande.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2198506
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 15:42:31  profilanswer
 

Votre RTE préféré, en inline & contenteditable (pas d'iframe)?

Message cité 1 fois
Message édité par masklinn le 23-07-2013 à 16:02:06

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198507
skylight
Made in France.
Posté le 23-07-2013 à 15:44:36  profilanswer
 

Sceditor, tout simple, personnalisable, standard.

Message cité 1 fois
Message édité par skylight le 23-07-2013 à 15:44:49
n°2198510
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 16:00:48  profilanswer
 

skylight a écrit :

Sceditor, tout simple, personnalisable, standard.


C'est une iframe, et c'est pas inline.


Message édité par masklinn le 23-07-2013 à 16:02:13

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198512
mechkurt
Posté le 23-07-2013 à 16:18:18  profilanswer
 

Code :
  1. SELECT SUM(entree), SUM(sortie)
  2. FROM (
  3.        (SELECT 1 AS id, SUM(e.quantite) AS entree, 0 AS sortie
  4.          FROM prod_mvt e
  5.          WHERE e.type = 'entree'
  6.          AND e.id_prod = X
  7.          GROUP BY e.id_prod)
  8.      UNION
  9.        (SELECT 1 AS id, 0 AS entree, (s.quantite) AS sortie
  10.          FROM prod_mvt s
  11.          WHERE s.type = 'sortie'
  12.          AND s.id_prod = X
  13.          GROUP BY s.id_prod)
  14.      ) AS temp GROUP BY id


En quoi c'est mal de faire un DB::Query() avec ma requête direct au lieu de passer par select()->from()->join()->where->group() ?
Dans un environnement php / MySQL, je ne vois vraiment pas ce que j'ai à gagner à passer par un objet de 300 lignes...


---------------
D3
n°2198515
0x90
Posté le 23-07-2013 à 16:25:06  profilanswer
 

masklinn a écrit :

Votre RTE préféré, en inline & contenteditable (pas d'iframe)?


Redactor, mais je suis pas certain de ce que tu entends exactement par inline.

Message cité 1 fois
Message édité par 0x90 le 23-07-2013 à 16:25:30

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°2198518
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 16:33:21  profilanswer
 

0x90 a écrit :

je suis pas certain de ce que tu entends exactement par inline.


Qui se place directement sur du contenu existant, pas une iframe, textarea ou autre avec un éditeur "formel" séparé.
 
Genre http://ckeditor.com/demo#inline


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198520
ratibus
Posté le 23-07-2013 à 16:38:05  profilanswer
 

masklinn a écrit :


Ce que je trouve pas très bien (pour les raisons indiquées au dessus: c'est pas leur boulot de s'occuper de ça, ce me semble être une flagrante violation de SRP et plus si affinité)


Je suis pas d'accord 'ou j'ai pas compris :D)
Si dans ma fonction j'enchaîne 2 requêtes, faut que dans ma fonction je fasse un begin/commit non ?

n°2198524
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 17:18:12  profilanswer
 

ratibus a écrit :

Je suis pas d'accord 'ou j'ai pas compris :D)
Si dans ma fonction j'enchaîne 2 requêtes, faut que dans ma fonction je fasse un begin/commit non ?


Non. Si dans ta fonction t'enchaînes 2 requêtes, ben t'enchaînes 2 requêtes et c'est tout, la gestion transactionnelle c'est pas ici qu'elle doit se faire. La seule situation où tu begin/commit c'est si ta fonction est suffisamment bas niveau pour avoir et avoir eu besoin de créer une connection, mais normalement ça c'est fait uniquement dans les "points d'entrée" de l'application/du framework.

Message cité 2 fois
Message édité par masklinn le 23-07-2013 à 17:19:20

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198526
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 23-07-2013 à 17:24:48  profilanswer
 


 [:sirguda]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2198529
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 17:59:26  profilanswer
 


Cupra


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198531
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 23-07-2013 à 18:05:22  profilanswer
 


Ou cupra pas, mais avec une hache c'est plutôt cupra en effet [:dawao]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2198532
koskoz
They see me trollin they hatin
Posté le 23-07-2013 à 18:06:42  profilanswer
 

Impossible de valider un choice field rempli en AJAX avec Symfony2 :fou: :fou: :fou:
 
C'est pas la première fois que je me heurte à ce problème et je ne trouve rien de concret sur le net...
Des experts dans le coin ?


---------------
Twitter
n°2198534
ratibus
Posté le 23-07-2013 à 18:08:22  profilanswer
 

masklinn a écrit :


Non. Si dans ta fonction t'enchaînes 2 requêtes, ben t'enchaînes 2 requêtes et c'est tout, la gestion transactionnelle c'est pas ici qu'elle doit se faire. La seule situation où tu begin/commit c'est si ta fonction est suffisamment bas niveau pour avoir et avoir eu besoin de créer une connection, mais normalement ça c'est fait uniquement dans les "points d'entrée" de l'application/du framework.


Le fait d'encapsuler au sein de la fonction te garantit que c'est géré à son niveau. T'as pas à déléguer aux couches appelantes des détails d'implém (qu'est-ce qu'elle en sait la couche appelante qu'elle doit initier une transaction ?)

n°2198536
Shinuza
This is unexecpected
Posté le 23-07-2013 à 18:15:03  profilanswer
 

koskoz a écrit :

Impossible de valider un choice field rempli en AJAX avec Symfony2 :fou: :fou: :fou:
 
C'est pas la première fois que je me heurte à ce problème et je ne trouve rien de concret sur le net...
Des experts dans le coin ?

C'est à dire? Ça fait quoi?


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2198539
koskoz
They see me trollin they hatin
Posté le 23-07-2013 à 18:27:17  profilanswer
 

Shinuza a écrit :

C'est à dire? Ça fait quoi?


 
J'ai un select dépendant d'un autre. Au départ ce select est vide (un array vide lui est passé). En fonction de la valeur sélectionnée par l'user dans le premier select je rempli le second en faisant un appel ajax à une méthode me retournant un JSON.


---------------
Twitter
n°2198541
LeRiton
Posté le 23-07-2013 à 18:38:59  profilanswer
 

Je développe un bout d'appli@home, elle envoi des mails qui sont détectés comme spam par le SMTP de Free.
Quoi comme service gratuit pour envoyer quelques mails par mois ?

n°2198542
masklinn
í dag viðrar vel til loftárása
Posté le 23-07-2013 à 19:26:06  profilanswer
 

ratibus a écrit :

Le fait d'encapsuler au sein de la fonction te garantit que c'est géré à son niveau. T'as pas à déléguer aux couches appelantes des détails d'implém (qu'est-ce qu'elle en sait la couche appelante qu'elle doit initier une transaction ?)


Créer une transaction c'est pas un détail d'implémentation, c'est un problème sémantique. Et c'est bien l'une des couches appelantes (pas nécessairement l'appelant direct) qui doit être en charge de configurer, organiser et synchroniser le système.

 

Ta fonction qui fait le boulot, elle a sûrement pas à décider de committer son bordel, parce que l'appelant peut très bien vouloir un grain plus épais, ou autre.


Message édité par masklinn le 23-07-2013 à 19:30:26

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2198544
skylight
Made in France.
Posté le 23-07-2013 à 20:01:01  profilanswer
 

LeRiton a écrit :

Je développe un bout d'appli@home, elle envoi des mails qui sont détectés comme spam par le SMTP de Free.
Quoi comme service gratuit pour envoyer quelques mails par mois ?


mailjet
(avec possibilité d'enregistrer son domaine pour éviter le spam)

n°2198545
Youmoussa
Ecrou-vis
Posté le 23-07-2013 à 20:53:36  profilanswer
 

LeRiton a écrit :

Je développe un bout d'appli@home, elle envoi des mails qui sont détectés comme spam par le SMTP de Free.
Quoi comme service gratuit pour envoyer quelques mails par mois ?

 

mailchimp/sendgrid?

Message cité 1 fois
Message édité par Youmoussa le 23-07-2013 à 20:54:11

---------------
L'humain est celui « qui agit puis qui pense : ce n’est pas parce qu’il soutient telle position qu’il agit de telle manière, mais parce qu’il a agi (comme il a été amené à le faire) qu’il va adopter telle position
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  1265  1266  1267  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)