... Que devient le script PHP lancé ?
Il reste sur le serveur.
Le script PHP continuera-t-il a s'exécuter, ou sera-t-il arrêté
automatiquement dans son exécution par le serveur Apache ?
C'est une question de sécurité, pour une mise à jour de BDD à
distance, faut pas que ça coince, quoi...
... Que devient le script PHP lancé ?
Il reste sur le serveur.
Le script PHP continuera-t-il a s'exécuter, ou sera-t-il arrêté
automatiquement dans son exécution par le serveur Apache ?
C'est une question de sécurité, pour une mise à jour de BDD à
distance, faut pas que ça coince, quoi...
... Que devient le script PHP lancé ?
Il reste sur le serveur.
Le script PHP continuera-t-il a s'exécuter, ou sera-t-il arrêté
automatiquement dans son exécution par le serveur Apache ?
C'est une question de sécurité, pour une mise à jour de BDD à
distance, faut pas que ça coince, quoi...
Si tu as un script qui fait N requêtes SQL sans transactions (hérésie,
mais on fait avec ce qu'on a), tu peux te pencher du côté de
ignore_user_abort().
Si tu as un script qui fait N requêtes SQL sans transactions (hérésie,
mais on fait avec ce qu'on a), tu peux te pencher du côté de
ignore_user_abort().
Si tu as un script qui fait N requêtes SQL sans transactions (hérésie,
mais on fait avec ce qu'on a), tu peux te pencher du côté de
ignore_user_abort().
Monsieur
Oh, vous pouvez laisser tomber le "Monsieur", on se connait depuis
Donc, pour que le script ne s'arrête pas suite à une déconnexion de
l'utilisateur, il suffit de lancer la fonction:
@ignore_user_abort(true);
en début de script ?
Le paramètre "true" dans ce but, est-il correct ? Le PHP Manual est
un peu flou à ce sujet.
Merci beaucoup de votre aide, qui m'a toujours été très précieuse,
depuis longtemps déjà.
Monsieur
Oh, vous pouvez laisser tomber le "Monsieur", on se connait depuis
Donc, pour que le script ne s'arrête pas suite à une déconnexion de
l'utilisateur, il suffit de lancer la fonction:
@ignore_user_abort(true);
en début de script ?
Le paramètre "true" dans ce but, est-il correct ? Le PHP Manual est
un peu flou à ce sujet.
Merci beaucoup de votre aide, qui m'a toujours été très précieuse,
depuis longtemps déjà.
Monsieur
Oh, vous pouvez laisser tomber le "Monsieur", on se connait depuis
Donc, pour que le script ne s'arrête pas suite à une déconnexion de
l'utilisateur, il suffit de lancer la fonction:
@ignore_user_abort(true);
en début de script ?
Le paramètre "true" dans ce but, est-il correct ? Le PHP Manual est
un peu flou à ce sujet.
Merci beaucoup de votre aide, qui m'a toujours été très précieuse,
depuis longtemps déjà.
Ca nous rajeunit pas en effet ;-)
Ca nous rajeunit pas en effet ;-)
Ca nous rajeunit pas en effet ;-)
Oui. Histoire de chipoter : je préfère mettre les constantes comme TRUE
en majuscules (mais c'est une convention qui n'engage que moi)
[...]
Ca fait partie des fonctions au nom de logique inverse qui m'agacent :
je dois mettre à VRAI le fait d'ignorer quelque chose. Genre
"notMissingúLSE"... Limpide.
$abort=ignore_user_abort();
if($abort==TRUE) echo "Si l'utilisateur presse stop, j'ignore son action
donc je continue";
else echo "Je n'ignore pas son action donc je m'arrete";
ignore_user_abort(TRUE);
echo "maintenant, il peut s'exciter autant qu'il veut, meme si je
detecte quelque chose, je continue";
Salut,
Oui. Histoire de chipoter : je préfère mettre les constantes comme TRUE
en majuscules (mais c'est une convention qui n'engage que moi)
[...]
Ca fait partie des fonctions au nom de logique inverse qui m'agacent :
je dois mettre à VRAI le fait d'ignorer quelque chose. Genre
"notMissingúLSE"... Limpide.
$abort=ignore_user_abort();
if($abort==TRUE) echo "Si l'utilisateur presse stop, j'ignore son action
donc je continue";
else echo "Je n'ignore pas son action donc je m'arrete";
ignore_user_abort(TRUE);
echo "maintenant, il peut s'exciter autant qu'il veut, meme si je
detecte quelque chose, je continue";
Salut,
Oui. Histoire de chipoter : je préfère mettre les constantes comme TRUE
en majuscules (mais c'est une convention qui n'engage que moi)
[...]
Ca fait partie des fonctions au nom de logique inverse qui m'agacent :
je dois mettre à VRAI le fait d'ignorer quelque chose. Genre
"notMissingúLSE"... Limpide.
$abort=ignore_user_abort();
if($abort==TRUE) echo "Si l'utilisateur presse stop, j'ignore son action
donc je continue";
else echo "Je n'ignore pas son action donc je m'arrete";
ignore_user_abort(TRUE);
echo "maintenant, il peut s'exciter autant qu'il veut, meme si je
detecte quelque chose, je continue";
Salut,
"Oui. Histoire de chipoter" ...
if($A == TRUE). Si on a pris soin "d'inverser" en faisant:
$abort=ignore_user_abort();
ou
$ignore=!ignore_user_abort();
il suffit alors de faire:
Tout ça si j'ai bien compris la fonction ignore_user_abort(), les
opérateurs = et == de PHP et le type bool.
Justement, le problème de PHP c'est qu'il n'est pas typé, tout en
Ce qui n'est pas certain,
pollué que je suis par d'autres langages.
Tu as parfaitement compris, mais je suis moi même pollué par d'autres
"Oui. Histoire de chipoter" ...
if($A == TRUE). Si on a pris soin "d'inverser" en faisant:
$abort=ignore_user_abort();
ou
$ignore=!ignore_user_abort();
il suffit alors de faire:
Tout ça si j'ai bien compris la fonction ignore_user_abort(), les
opérateurs = et == de PHP et le type bool.
Justement, le problème de PHP c'est qu'il n'est pas typé, tout en
Ce qui n'est pas certain,
pollué que je suis par d'autres langages.
Tu as parfaitement compris, mais je suis moi même pollué par d'autres
"Oui. Histoire de chipoter" ...
if($A == TRUE). Si on a pris soin "d'inverser" en faisant:
$abort=ignore_user_abort();
ou
$ignore=!ignore_user_abort();
il suffit alors de faire:
Tout ça si j'ai bien compris la fonction ignore_user_abort(), les
opérateurs = et == de PHP et le type bool.
Justement, le problème de PHP c'est qu'il n'est pas typé, tout en
Ce qui n'est pas certain,
pollué que je suis par d'autres langages.
Tu as parfaitement compris, mais je suis moi même pollué par d'autres
Bonjour,"Oui. Histoire de chipoter" ...
De chipoter sur écrire true ou TRUE.
J'avais compris. Je citais justement cette phrase avant de la reprendre
if($A == TRUE). Si on a pris soin "d'inverser" en faisant:
$abort=ignore_user_abort();
ou
$ignore=!ignore_user_abort();
il suffit alors de faire:
[ce que je considère la source numéro 1 de code imbittable à la
relecture]
J'aurais préféré que vous ne zappiez pas le bout de code que vous allez
C'est comme ça que j'arrive dans un programme à débugguer que quelqu'un
a développé il y a XX mois, qui buggue à donf, où donc, tout est
suspect, et je lis la magnifique chose suivante (exemple imaginaire mais
pas tant que ça):
if(!ignore_user_abort(false))...
avec évidement pas un commentaire à côté.
Apparté: un commentaire ici se justifierai peut-être dans un tuto, mais
Il va me falloir au moins 1
minute ou deux pour vérifier que toto a bien écrit ça correctement. Si
j'ai comme ça 3K ou 4K lignes de code à inspecter, je suis pas rendu
pour le trouver, mon bug.Tout ça si j'ai bien compris la fonction ignore_user_abort(), les
opérateurs = et == de PHP et le type bool.
Justement, le problème de PHP c'est qu'il n'est pas typé, tout en
l'étant, sans l'être réellement (connerie(1) introduite en php4).Ce qui n'est pas certain,
pollué que je suis par d'autres langages.
Tu as parfaitement compris, mais je suis moi même pollué par d'autres
langages aussi. J'ai pour habitude d'éviter de comparer des choux et des
carottes, et assez souvent je préfère comparer par rapport à une valeur
explicite.
Le type de retour de ignore_user_abort() me semble pourtant clair. La
Tout ceci relève des habitudes de codage.
Certes.
Bonjour,
"Oui. Histoire de chipoter" ...
De chipoter sur écrire true ou TRUE.
J'avais compris. Je citais justement cette phrase avant de la reprendre
if($A == TRUE). Si on a pris soin "d'inverser" en faisant:
$abort=ignore_user_abort();
ou
$ignore=!ignore_user_abort();
il suffit alors de faire:
[ce que je considère la source numéro 1 de code imbittable à la
relecture]
J'aurais préféré que vous ne zappiez pas le bout de code que vous allez
C'est comme ça que j'arrive dans un programme à débugguer que quelqu'un
a développé il y a XX mois, qui buggue à donf, où donc, tout est
suspect, et je lis la magnifique chose suivante (exemple imaginaire mais
pas tant que ça):
if(!ignore_user_abort(false))...
avec évidement pas un commentaire à côté.
Apparté: un commentaire ici se justifierai peut-être dans un tuto, mais
Il va me falloir au moins 1
minute ou deux pour vérifier que toto a bien écrit ça correctement. Si
j'ai comme ça 3K ou 4K lignes de code à inspecter, je suis pas rendu
pour le trouver, mon bug.
Tout ça si j'ai bien compris la fonction ignore_user_abort(), les
opérateurs = et == de PHP et le type bool.
Justement, le problème de PHP c'est qu'il n'est pas typé, tout en
l'étant, sans l'être réellement (connerie(1) introduite en php4).
Ce qui n'est pas certain,
pollué que je suis par d'autres langages.
Tu as parfaitement compris, mais je suis moi même pollué par d'autres
langages aussi. J'ai pour habitude d'éviter de comparer des choux et des
carottes, et assez souvent je préfère comparer par rapport à une valeur
explicite.
Le type de retour de ignore_user_abort() me semble pourtant clair. La
Tout ceci relève des habitudes de codage.
Certes.
Bonjour,"Oui. Histoire de chipoter" ...
De chipoter sur écrire true ou TRUE.
J'avais compris. Je citais justement cette phrase avant de la reprendre
if($A == TRUE). Si on a pris soin "d'inverser" en faisant:
$abort=ignore_user_abort();
ou
$ignore=!ignore_user_abort();
il suffit alors de faire:
[ce que je considère la source numéro 1 de code imbittable à la
relecture]
J'aurais préféré que vous ne zappiez pas le bout de code que vous allez
C'est comme ça que j'arrive dans un programme à débugguer que quelqu'un
a développé il y a XX mois, qui buggue à donf, où donc, tout est
suspect, et je lis la magnifique chose suivante (exemple imaginaire mais
pas tant que ça):
if(!ignore_user_abort(false))...
avec évidement pas un commentaire à côté.
Apparté: un commentaire ici se justifierai peut-être dans un tuto, mais
Il va me falloir au moins 1
minute ou deux pour vérifier que toto a bien écrit ça correctement. Si
j'ai comme ça 3K ou 4K lignes de code à inspecter, je suis pas rendu
pour le trouver, mon bug.Tout ça si j'ai bien compris la fonction ignore_user_abort(), les
opérateurs = et == de PHP et le type bool.
Justement, le problème de PHP c'est qu'il n'est pas typé, tout en
l'étant, sans l'être réellement (connerie(1) introduite en php4).Ce qui n'est pas certain,
pollué que je suis par d'autres langages.
Tu as parfaitement compris, mais je suis moi même pollué par d'autres
langages aussi. J'ai pour habitude d'éviter de comparer des choux et des
carottes, et assez souvent je préfère comparer par rapport à une valeur
explicite.
Le type de retour de ignore_user_abort() me semble pourtant clair. La
Tout ceci relève des habitudes de codage.
Certes.
--$compteur;
if($compteur == 0)...
ou
if(--$compteur == 0)...
et
if($porteouverte)...
même si:
--$compteur;
if(!$compteur)...
ou
if(!(--$compteur))... (ça marche, ça ?)
et
if($porteouverte == TRUE)...
Sinon, pourquoi pas:
if((($porteouverte == TRUE) != FALSE) == (1 != 2))...
;-) , bien entendu
if(ctype_digit($id)==TRUE)
Tout ceci relève des habitudes de codage.
Certes.
Assurément.
--$compteur;
if($compteur == 0)...
ou
if(--$compteur == 0)...
et
if($porteouverte)...
même si:
--$compteur;
if(!$compteur)...
ou
if(!(--$compteur))... (ça marche, ça ?)
et
if($porteouverte == TRUE)...
Sinon, pourquoi pas:
if((($porteouverte == TRUE) != FALSE) == (1 != 2))...
;-) , bien entendu
if(ctype_digit($id)==TRUE)
Tout ceci relève des habitudes de codage.
Certes.
Assurément.
--$compteur;
if($compteur == 0)...
ou
if(--$compteur == 0)...
et
if($porteouverte)...
même si:
--$compteur;
if(!$compteur)...
ou
if(!(--$compteur))... (ça marche, ça ?)
et
if($porteouverte == TRUE)...
Sinon, pourquoi pas:
if((($porteouverte == TRUE) != FALSE) == (1 != 2))...
;-) , bien entendu
if(ctype_digit($id)==TRUE)
Tout ceci relève des habitudes de codage.
Certes.
Assurément.
J'aurais préféré que vous ne zappiez pas le bout de code que vous allez
ensuite critiquer, même à juste titre. Mais peu importe.
avec évidement pas un commentaire à côté.
Apparté: un commentaire ici se justifierai peut-être dans un tuto, mais
AMHA pas dans la vraie vie.
(à ce niveau de mon apprentissage, je sais que les enum n'existent pas
en PHP, seulement dans MySQL, et je ne connais pas la bonne façon de
définir des constantes symboliques)
Pour définir une constante, il y a l'instruction define(). Mon grand
(à ce niveau de mon apprentissage, j'ignore s'il est réaliste de
modifier le nom d'une fonction par quelque chose qui ressemblerait à un
define)
Bien entendu, si ce code est utilisé souvent et doit être optimisé, je
l'encapselerais peut-être dans une fonction au nom évocateur, le
contenu pouvant être abscons après tests.
Indeed.
Le type de retour de ignore_user_abort() me semble pourtant clair.
doc parle bien de int, mais précise qu'il s'agit de l'état précédent et
le paramètre est lui défioni comme booléen. En tous cas au niveau
sémantique, c'est un booléen (au sens mal choisi, OK).
Dommage qu'il faille lire 5 lignes de blabla au lieu de mettre bool
if($porteouverte)...
l_enfoncer(TRUE);
J'aurais préféré que vous ne zappiez pas le bout de code que vous allez
ensuite critiquer, même à juste titre. Mais peu importe.
avec évidement pas un commentaire à côté.
Apparté: un commentaire ici se justifierai peut-être dans un tuto, mais
AMHA pas dans la vraie vie.
(à ce niveau de mon apprentissage, je sais que les enum n'existent pas
en PHP, seulement dans MySQL, et je ne connais pas la bonne façon de
définir des constantes symboliques)
Pour définir une constante, il y a l'instruction define(). Mon grand
(à ce niveau de mon apprentissage, j'ignore s'il est réaliste de
modifier le nom d'une fonction par quelque chose qui ressemblerait à un
define)
Bien entendu, si ce code est utilisé souvent et doit être optimisé, je
l'encapselerais peut-être dans une fonction au nom évocateur, le
contenu pouvant être abscons après tests.
Indeed.
Le type de retour de ignore_user_abort() me semble pourtant clair.
doc parle bien de int, mais précise qu'il s'agit de l'état précédent et
le paramètre est lui défioni comme booléen. En tous cas au niveau
sémantique, c'est un booléen (au sens mal choisi, OK).
Dommage qu'il faille lire 5 lignes de blabla au lieu de mettre bool
if($porteouverte)...
l_enfoncer(TRUE);
J'aurais préféré que vous ne zappiez pas le bout de code que vous allez
ensuite critiquer, même à juste titre. Mais peu importe.
avec évidement pas un commentaire à côté.
Apparté: un commentaire ici se justifierai peut-être dans un tuto, mais
AMHA pas dans la vraie vie.
(à ce niveau de mon apprentissage, je sais que les enum n'existent pas
en PHP, seulement dans MySQL, et je ne connais pas la bonne façon de
définir des constantes symboliques)
Pour définir une constante, il y a l'instruction define(). Mon grand
(à ce niveau de mon apprentissage, j'ignore s'il est réaliste de
modifier le nom d'une fonction par quelque chose qui ressemblerait à un
define)
Bien entendu, si ce code est utilisé souvent et doit être optimisé, je
l'encapselerais peut-être dans une fonction au nom évocateur, le
contenu pouvant être abscons après tests.
Indeed.
Le type de retour de ignore_user_abort() me semble pourtant clair.
doc parle bien de int, mais précise qu'il s'agit de l'état précédent et
le paramètre est lui défioni comme booléen. En tous cas au niveau
sémantique, c'est un booléen (au sens mal choisi, OK).
Dommage qu'il faille lire 5 lignes de blabla au lieu de mettre bool
if($porteouverte)...
l_enfoncer(TRUE);
- Acquisition de l'état précédent avec nommage signifiant (pas facile
ici, effectivement):
$WAS_IGNORE = ! ignore_user_abort();
ou
$WAS_ABORT = ignore_user_abort();
- Modification de l'état:
(quelque part, peut être dans un fichier à inclure)
$SET_IGNORE = FALSE;
$SET_ABORT = TRUE;
(à ce niveau de mon apprentissage, je sais que les enum n'existent pas
en PHP, seulement dans MySQL, et je ne connais pas la bonne façon de
définir des constantes symboliques)
ignore_user_abort($SET_IGNORE);
- Acquisition de l'état précédent avec nommage signifiant (pas facile
ici, effectivement):
$WAS_IGNORE = ! ignore_user_abort();
ou
$WAS_ABORT = ignore_user_abort();
- Modification de l'état:
(quelque part, peut être dans un fichier à inclure)
$SET_IGNORE = FALSE;
$SET_ABORT = TRUE;
(à ce niveau de mon apprentissage, je sais que les enum n'existent pas
en PHP, seulement dans MySQL, et je ne connais pas la bonne façon de
définir des constantes symboliques)
ignore_user_abort($SET_IGNORE);
- Acquisition de l'état précédent avec nommage signifiant (pas facile
ici, effectivement):
$WAS_IGNORE = ! ignore_user_abort();
ou
$WAS_ABORT = ignore_user_abort();
- Modification de l'état:
(quelque part, peut être dans un fichier à inclure)
$SET_IGNORE = FALSE;
$SET_ABORT = TRUE;
(à ce niveau de mon apprentissage, je sais que les enum n'existent pas
en PHP, seulement dans MySQL, et je ne connais pas la bonne façon de
définir des constantes symboliques)
ignore_user_abort($SET_IGNORE);