Discussion:
quelques mots cles pour apprendre
(trop ancien pour répondre)
Rakotomandimby (R12y) Mihamina
2007-02-08 20:11:57 UTC
Permalink
Bonjour,
Je dois approfondir mes notions de PHP.
Cependant, il y a des points qui sont plus importants que d'autres à mon
usage.
Pour rapidifier mes recherches, je voudrais vous demander quelques mots
clés correspondant à quelques notions.
Ca m'aiderai à chercher dans l'index/glossaire des ouvrages que je
consulte.
Donc, comment appelle-t-on (quels mots clés utilise-t-on), s'il vous plait:

- pour utiliser des fonctions qu'on a écrit dans un fichier externe, si le
fichier se trouve dans l'arborescence web du serveur, et/ou si le fichier
se trouve quelquepart sur le systeme.

- en supposant qu'on ait fait un ensemble de fonction relativement
nombreuses, qu'on décide de plutot les mettre en dehors de l'arborescence
web, dans quel PATH les mettre, dans quel PATH PHP va les chercher

- Est-ce que la notions de "nombre d'arguments variables" existe en PHP? Je
parle d'une notion comme celle-ci (arguments arbitraires).

- le style functionel est-il plus encouragé que le style itératif? J'ai
plus tendance à utiliser la recursivité, mais si cela n'est pas recommandé,
je ne le ferais pas.

- supposons que j'ai une base de données avec plein de chiffres, je dois
faire des calculs sur ces chiffres, j'ai programmé l'extraction des
chiffres et les calculs avec un autre langage, au niveau du système. A part
utiliser exec(), quels autres moyens existe-t-il de récupérer les résultats
de calculs? (Supposons que j'ai fait les calcul en OCaml, et que le
résultat attendu soit un tableau de floats, comment je transmet ce tableau
de floats à PHP en vue d'un traitement léger puis affichage?)

Je sais bien qu'il faut commencer par le début, je le fais, mais je sais
déjà quels points vont tout simplement particulièrement m'interesser.
J'anticipe un peu. Un tout petit peu, c'est tout.

Merci d'avance.
Olivier Miakinen
2007-02-08 21:54:12 UTC
Permalink
Bonjour,
Post by Rakotomandimby (R12y) Mihamina
[...]
- pour utiliser des fonctions qu'on a écrit dans un fichier externe, si le
fichier se trouve dans l'arborescence web du serveur, et/ou si le fichier
se trouve quelquepart sur le systeme.
Il n'y a pas de nom particulier puisque PHP ne va pas de lui-même
chercher des fonctions ailleurs que là où tu lui dis explicitement
d'aller voir (fonctions include, require, include_once, require_once).
Post by Rakotomandimby (R12y) Mihamina
- en supposant qu'on ait fait un ensemble de fonction relativement
nombreuses, qu'on décide de plutot les mettre en dehors de l'arborescence
web, dans quel PATH les mettre, dans quel PATH PHP va les chercher
Après l'include() (ou équivalent), les fonctions sont accessibles comme
si elles étaient dans ton script principal. En revanche, il existe un
path pour la fonction include() elle-même.
http://fr.php.net/include/
http://fr.php.net/manual/en/ini.core.php#ini.include-path
Post by Rakotomandimby (R12y) Mihamina
- Est-ce que la notions de "nombre d'arguments variables" existe en PHP? Je
parle d'une notion comme celle-ci (arguments arbitraires).
Oui.
http://fr.php.net/manual/fr/functions.arguments.php
http://fr.php.net/manual/fr/functions.arguments.php#functions.variable-arg-list
Post by Rakotomandimby (R12y) Mihamina
- le style functionel est-il plus encouragé que le style itératif? J'ai
plus tendance à utiliser la recursivité, mais si cela n'est pas recommandé,
je ne le ferais pas.
Certains recommanderont plutôt les classes que les fonctions. Je n'ai
pas moi-même de religion à ce sujet.
Post by Rakotomandimby (R12y) Mihamina
- supposons que j'ai une base de données avec plein de chiffres, je dois
faire des calculs sur ces chiffres, j'ai programmé l'extraction des
chiffres et les calculs avec un autre langage, au niveau du système. A part
utiliser exec(), quels autres moyens existe-t-il de récupérer les résultats
de calculs? (Supposons que j'ai fait les calcul en OCaml, et que le
résultat attendu soit un tableau de floats, comment je transmet ce tableau
de floats à PHP en vue d'un traitement léger puis affichage?)
La fonction exec() ne devrait pratiquement jamais être utilisée. Pour ce
qui est de la lecture et de l'écriture dans des fichiers, tu as quelques
zillions de fonction :
http://fr.php.net/manual/fr/ref.filesystem.php

Il y en a probablement autant, voire peut-être plus, pour les bases de
données.
Post by Rakotomandimby (R12y) Mihamina
Je sais bien qu'il faut commencer par le début, je le fais, mais je sais
déjà quels points vont tout simplement particulièrement m'interesser.
J'anticipe un peu. Un tout petit peu, c'est tout.
Si jamais tu as déjà fait du C, nombre de fonctions devraient te sembler
familières (même nom en particulier).

Cela étant dit, voici deux liens à connaître :
http://fr.php.net/manual/fr/ (ou /en/, erreurs de traduction en moins)
http://faqfclphp.free.fr/
P'tit Marcel
2007-02-09 11:19:43 UTC
Permalink
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
- pour utiliser des fonctions qu'on a écrit dans un fichier externe, si le
fichier se trouve dans l'arborescence web du serveur, et/ou si le fichier
se trouve quelquepart sur le systeme.
Il n'y a pas de nom particulier puisque PHP ne va pas de lui-même
chercher des fonctions ailleurs que là où tu lui dis explicitement
d'aller voir
C'est pas vraiment explicite : php recherchera le script dans chacun des
répertoires listés dans le paramètre général include_path. Généralement,
l'un de ces répertoires est ".". Dans ce cas, php cherchera dans le
répertoire de travail puis dans le répertoire où est situé le script
appelant. voir http://fr.php.net/include

Pour répondre à la question de R12y, je ne connais pas de terme
consacré. Personnellement j'appelerai cela une inclusion.

Le fait que le fichier soit dans l'arborescence web ou non n'a pas
d'importance pour le mécanisme d'inclusion.
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
- en supposant qu'on ait fait un ensemble de fonction relativement
nombreuses, qu'on décide de plutot les mettre en dehors de l'arborescence
web, dans quel PATH les mettre, dans quel PATH PHP va les chercher
Après l'include() (ou équivalent), les fonctions sont accessibles comme
si elles étaient dans ton script principal. En revanche, il existe un
path pour la fonction include() elle-même.
Toutafé.
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
- le style functionel est-il plus encouragé que le style itératif?
Je ne suis pas spécialiste de ce dommaine, mais est-ce que les
expressions consacrées ne sont pas plutôt "fonctionnel" et "impératif" ?
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
J'ai plus tendance à utiliser la recursivité, mais si cela n'est pas recommandé,
je ne le ferais pas.
En php, je ne penses pas qu'une méthode soit recommandée par rapport à
l'autre. Sur le fond, je pense qu'une programmation fonctionnelle et
récursive est préférable car elle est plus générique. Par contre, il
faut documenter plus complètement le programme (car il est généralement
moins compréhensible) et s'assurer qu'on a mis des garde-fous contre les
appels à l'infini (surtout quand php est appelé en ligne de commande).
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
- supposons que j'ai une base de données avec plein de chiffres, je dois
faire des calculs sur ces chiffres, j'ai programmé l'extraction des
chiffres et les calculs avec un autre langage, au niveau du système. A part
utiliser exec(), quels autres moyens existe-t-il de récupérer les résultats
de calculs? (Supposons que j'ai fait les calcul en OCaml, et que le
résultat attendu soit un tableau de floats, comment je transmet ce tableau
de floats à PHP en vue d'un traitement léger puis affichage?)
La fonction exec() ne devrait pratiquement jamais être utilisée.
J'opine avec Olivier.

Sur le fond, il me paraît étrange d'interroger la base de données avec
un autre langage car c'est précisément le point fort de php. L alogique
voudrait d'extraire avec php, de transférer les données au second
langage pour les calculs, puis de récupérer les résultats.

La bonne vieille méthode rustique consiste à écrire dans php un fichier
texte intermédiaire qui sera relu par le second programme (batch). Les
méthodes plus évoluées consisterait à linker ton second programme à
l'exécutable php de manière dynamique ou statique :
fr.php.net/manual/fr/ini.core.php#ini.extension
fr.php.net/dl

Il me semble qu'il existe aussi un système de transfert via sémaphores
et espace mémoire commun mais je peux me tromper.

eca
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/
Rakotomandimby (R12y) Mihamina
2007-02-09 14:03:02 UTC
Permalink
Post by P'tit Marcel
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
Donc, comment appelle-t-on (quels mots clés utilise-t-on), s'il vous
plait: - pour utiliser des fonctions qu'on a écrit dans un fichier
externe, si le
fichier se trouve dans l'arborescence web du serveur, et/ou si le
fichier se trouve quelquepart sur le systeme.
Il n'y a pas de nom particulier puisque PHP ne va pas de lui-même
chercher des fonctions ailleurs que là où tu lui dis explicitement
d'aller voir
C'est pas vraiment explicite : php recherchera le script dans chacun des
répertoires listés dans le paramètre général include_path.
Ok, donc "include_path". J'aurais pu le trouver tout seul c'ui là.
Post by P'tit Marcel
Le fait que le fichier soit dans l'arborescence web ou non n'a pas
d'importance pour le mécanisme d'inclusion.
Bon à savoir.
Post by P'tit Marcel
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
- le style functionel est-il plus encouragé que le style itératif?
Je ne suis pas spécialiste de ce dommaine, mais est-ce que les
expressions consacrées ne sont pas plutôt "fonctionnel" et "impératif" ?
Oups. imperatif, itératif... je m'emmele.
Post by P'tit Marcel
Post by Olivier Miakinen
Post by Rakotomandimby (R12y) Mihamina
J'ai plus tendance à utiliser la recursivité, mais si cela n'est pas
recommandé, je ne le ferais pas.
En php, je ne penses pas qu'une méthode soit recommandée par rapport à
l'autre. Sur le fond, je pense qu'une programmation fonctionnelle et
récursive est préférable car elle est plus générique. Par contre, il
faut documenter plus complètement le programme (car il est généralement
moins compréhensible) et s'assurer qu'on a mis des garde-fous contre les
appels à l'infini (surtout quand php est appelé en ligne de commande).
Ca c'est sur.
J'ai trouvé des exemples de propositions recursives:
http://dreamweaver.media-box.net/lofiversion/index.php/t21483.html
Post by P'tit Marcel
Post by Olivier Miakinen
La fonction exec() ne devrait pratiquement jamais être utilisée.
J'opine avec Olivier.
Ok.
Post by P'tit Marcel
Sur le fond, il me paraît étrange d'interroger la base de données avec
un autre langage car c'est précisément le point fort de php.
Disons que j'ai déjà une petite idée de comment je vais faire dans un autre
langage que je connais legerement mieux.
Post by P'tit Marcel
L alogique
voudrait d'extraire avec php, de transférer les données au second
langage pour les calculs, puis de récupérer les résultats.
Bon. Si c'est le point fort de PHP d'interroger une BDD.
Post by P'tit Marcel
La bonne vieille méthode rustique consiste à écrire dans php un fichier
texte intermédiaire qui sera relu par le second programme (batch). Les
méthodes plus évoluées consisterait à linker ton second programme à
fr.php.net/manual/fr/ini.core.php#ini.extension
fr.php.net/dl
Merci.

Continuer la lecture sur narkive:
Loading...