mirror of
https://github.com/php/doc-fr.git
synced 2026-03-23 22:52:18 +01:00
CI: check-style + nettoyage TRADUCTIONS.txt (#2545)
* CI: add French style checker based on TRADUCTIONS.txt
Checks changed XML files in PRs for:
- Direct address forms (vous/votre/vos) → warnings
- French grammar errors (etc..., comme par exemple, si il) → errors
- Incorrect terminology (librairie, chiffrage, encryption) → warnings
Inspired by doc-ja's textlint+prh approach but simpler:
runs directly on XML sources, no PhD render needed.
Only errors (grammar/spelling) fail the CI.
Style warnings appear as PR annotations without blocking.
* test: introduce style errors to validate CI check
* Revert "test: introduce style errors to validate CI check"
This reverts commit 7c1d523c6bbef116f54fc6dad7b61a45ee4f7ddd.
* Corriger toutes les violations de style TRADUCTIONS.txt
- 174x "Notez que" → "Il est à noter que"
- 50x "depuis PHP X" → "à partir de PHP X"
- 50x "votre" → le/la/du
- 15x "si il" → "s'il"
- 14x "Vous pouvez" → "Il est possible de"
- 14x "encryption" (faux positifs entity refs exclus)
- 12x "assurez-vous" → "il faut s'assurer"
- 12x "Vous devez" → "Il faut"
- 11x "vos" → les/des
- 9x "comme par exemple" → "par exemple"
- 6x "Vous devriez" → "Il est recommandé de"
- 2x "optionel" → "optionnel"
- 2x "reportez-vous" → "se reporter"
Toutes les règles passent désormais en erreur dans la CI.
* Harmoniser les noms de workflows GitHub Actions
- integrate.yaml → build.yml (extension + nom cohérent)
- check-style-fr.yml → check-style.yml ("-fr" redondant)
- Aligner les noms de workflow et job
* Lire les règles dynamiquement depuis TRADUCTIONS.txt
Le script parse TRADUCTIONS.txt au démarrage et génère les règles
de vérification automatiquement. Plus aucune règle en dur.
* Règles dynamiques depuis TRADUCTIONS.txt
Le script CI lit les lignes INTERDIT de TRADUCTIONS.txt pour générer
les règles de vérification. Plus aucune règle en dur dans le script.
Corrige les 27 violations restantes (Depuis PHP → À partir de PHP).
* Corriger les trailing whitespace
This commit is contained in:
245
.github/scripts/check-style-fr.mjs
vendored
Normal file
245
.github/scripts/check-style-fr.mjs
vendored
Normal file
@@ -0,0 +1,245 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Vérifie les règles de style définies dans TRADUCTIONS.txt.
|
||||
*
|
||||
* Toutes les règles sont lues dynamiquement depuis les lignes
|
||||
* INTERDIT : "X" → "Y"
|
||||
* de TRADUCTIONS.txt. Aucune règle n'est codée en dur dans ce script.
|
||||
*
|
||||
* Usage : node check-style-fr.mjs [fichier1.xml fichier2.xml ...]
|
||||
* Sans arguments : vérifie tous les .xml récursivement.
|
||||
*
|
||||
* Sortie : annotations GitHub Actions (::error)
|
||||
* Code retour : 1 si des erreurs sont trouvées, 0 sinon.
|
||||
*/
|
||||
|
||||
import { readFileSync, readdirSync } from 'node:fs';
|
||||
import { join, relative, dirname } from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const rootDir = join(__dirname, '..', '..');
|
||||
|
||||
// ─── Lecture des règles depuis TRADUCTIONS.txt ──────────────────────────────
|
||||
//
|
||||
// Format attendu :
|
||||
// INTERDIT : "texte interdit" → "remplacement suggéré"
|
||||
//
|
||||
// Le texte interdit devient un pattern regex (\b...\b, case-insensitive).
|
||||
// Le remplacement devient le message d'erreur.
|
||||
|
||||
function parseRules() {
|
||||
const txt = readFileSync(join(rootDir, 'TRADUCTIONS.txt'), 'utf-8');
|
||||
const rules = [];
|
||||
const lineRegex = /INTERDIT\s*:\s*"([^"]+)"\s*→\s*"([^"]+)"(.*)/g;
|
||||
let match;
|
||||
|
||||
while ((match = lineRegex.exec(txt)) !== null) {
|
||||
const forbidden = match[1];
|
||||
const replacement = match[2];
|
||||
const extra = match[3].trim();
|
||||
|
||||
// Construire le message
|
||||
let message;
|
||||
if (extra.startsWith('ou "')) {
|
||||
// Ex: INTERDIT : "X" → "Y" ou "Z"
|
||||
message = `« ${forbidden} » → « ${replacement} » ${extra}`;
|
||||
} else {
|
||||
message = `« ${forbidden} » → « ${replacement} »`;
|
||||
}
|
||||
|
||||
// Construire le pattern regex
|
||||
const escaped = escapeRegex(forbidden);
|
||||
// "depuis PHP" → match "depuis PHP" suivi d'un chiffre
|
||||
const patternStr = forbidden.toLowerCase() === 'depuis php'
|
||||
? `\\b${escaped} [0-9]`
|
||||
: `\\b${escaped}\\b`;
|
||||
|
||||
rules.push({
|
||||
id: slugify(forbidden),
|
||||
pattern: new RegExp(patternStr, 'gi'),
|
||||
message,
|
||||
});
|
||||
}
|
||||
|
||||
if (rules.length === 0) {
|
||||
console.error('::error::Aucune règle INTERDIT trouvée dans TRADUCTIONS.txt');
|
||||
process.exit(2);
|
||||
}
|
||||
|
||||
return rules;
|
||||
}
|
||||
|
||||
function escapeRegex(str) {
|
||||
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||
}
|
||||
|
||||
function slugify(str) {
|
||||
return str.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '')
|
||||
.replace(/[^a-z0-9]+/g, '-').replace(/(^-|-$)/g, '');
|
||||
}
|
||||
|
||||
// ─── Extraction du texte documentaire ──────────────────────────────────────
|
||||
// Supprime les blocs CDATA, <screen>...</screen>, <!-- ... -->, et les balises XML
|
||||
// pour ne garder que le texte de documentation.
|
||||
|
||||
function extractDocText(xml) {
|
||||
const lines = xml.split('\n');
|
||||
const result = [];
|
||||
let inCdata = false;
|
||||
let inScreen = false;
|
||||
let inComment = false;
|
||||
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
let line = lines[i];
|
||||
|
||||
// Gestion des commentaires multi-lignes
|
||||
if (inComment) {
|
||||
if (line.includes('-->')) {
|
||||
line = line.substring(line.indexOf('-->') + 3);
|
||||
inComment = false;
|
||||
} else {
|
||||
result.push({ lineNo: i + 1, text: '' });
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Supprime les commentaires inline
|
||||
while (line.includes('<!--')) {
|
||||
const start = line.indexOf('<!--');
|
||||
const end = line.indexOf('-->', start);
|
||||
if (end !== -1) {
|
||||
line = line.substring(0, start) + line.substring(end + 3);
|
||||
} else {
|
||||
line = line.substring(0, start);
|
||||
inComment = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Gestion CDATA
|
||||
if (inCdata) {
|
||||
if (line.includes(']]>')) {
|
||||
line = line.substring(line.indexOf(']]>') + 3);
|
||||
inCdata = false;
|
||||
} else {
|
||||
result.push({ lineNo: i + 1, text: '' });
|
||||
continue;
|
||||
}
|
||||
}
|
||||
while (line.includes('<![CDATA[')) {
|
||||
const start = line.indexOf('<![CDATA[');
|
||||
const end = line.indexOf(']]>', start);
|
||||
if (end !== -1) {
|
||||
line = line.substring(0, start) + line.substring(end + 3);
|
||||
} else {
|
||||
line = line.substring(0, start);
|
||||
inCdata = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Gestion <screen>...</screen>
|
||||
if (inScreen) {
|
||||
if (line.includes('</screen>')) {
|
||||
line = line.substring(line.indexOf('</screen>') + 9);
|
||||
inScreen = false;
|
||||
} else {
|
||||
result.push({ lineNo: i + 1, text: '' });
|
||||
continue;
|
||||
}
|
||||
}
|
||||
while (line.includes('<screen>') || line.includes('<screen ')) {
|
||||
const startTag = line.indexOf('<screen');
|
||||
const endTag = line.indexOf('</screen>', startTag);
|
||||
if (endTag !== -1) {
|
||||
line = line.substring(0, startTag) + line.substring(endTag + 9);
|
||||
} else {
|
||||
line = line.substring(0, startTag);
|
||||
inScreen = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Supprime les entity references XML (&foo.bar;) et les balises
|
||||
const text = line.replace(/&[a-zA-Z0-9._-]+;/g, ' ').replace(/<[^>]+>/g, ' ');
|
||||
result.push({ lineNo: i + 1, text });
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ─── Vérification d'un fichier ─────────────────────────────────────────────
|
||||
|
||||
function checkFile(filePath, rules) {
|
||||
const xml = readFileSync(filePath, 'utf-8');
|
||||
const docLines = extractDocText(xml);
|
||||
const issues = [];
|
||||
|
||||
for (const { lineNo, text } of docLines) {
|
||||
if (!text.trim()) continue;
|
||||
|
||||
for (const rule of rules) {
|
||||
let match;
|
||||
rule.pattern.lastIndex = 0;
|
||||
while ((match = rule.pattern.exec(text)) !== null) {
|
||||
issues.push({
|
||||
file: filePath,
|
||||
line: lineNo,
|
||||
col: match.index + 1,
|
||||
rule: rule.id,
|
||||
message: rule.message,
|
||||
found: match[0],
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return issues;
|
||||
}
|
||||
|
||||
// ─── Collecte des fichiers ─────────────────────────────────────────────────
|
||||
|
||||
function findXmlFiles(dir) {
|
||||
const files = [];
|
||||
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
||||
const fullPath = join(dir, entry.name);
|
||||
if (entry.isDirectory() && !entry.name.startsWith('.')) {
|
||||
files.push(...findXmlFiles(fullPath));
|
||||
} else if (entry.isFile() && entry.name.endsWith('.xml')) {
|
||||
files.push(fullPath);
|
||||
}
|
||||
}
|
||||
return files;
|
||||
}
|
||||
|
||||
// ─── Main ──────────────────────────────────────────────────────────────────
|
||||
|
||||
const rules = parseRules();
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
const files = args.length > 0
|
||||
? args.filter(f => f.endsWith('.xml'))
|
||||
: findXmlFiles('.');
|
||||
|
||||
let totalIssues = 0;
|
||||
|
||||
for (const file of files) {
|
||||
const relPath = relative('.', file);
|
||||
try {
|
||||
const issues = checkFile(file, rules);
|
||||
for (const issue of issues) {
|
||||
const relFile = relative('.', issue.file);
|
||||
console.log(`::error file=${relFile},line=${issue.line},col=${issue.col}::${issue.message} (trouvé : « ${issue.found} »)`);
|
||||
totalIssues++;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(`::error file=${relPath}::Erreur de lecture : ${e.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
if (totalIssues > 0) {
|
||||
console.log(`\n${totalIssues} erreur(s) trouvée(s).`);
|
||||
}
|
||||
|
||||
process.exit(totalIssues > 0 ? 1 : 0);
|
||||
@@ -1,6 +1,6 @@
|
||||
# https://docs.github.com/en/actions
|
||||
|
||||
name: "Integrate"
|
||||
name: "Build"
|
||||
|
||||
on:
|
||||
pull_request: null
|
||||
28
.github/workflows/check-style.yml
vendored
Normal file
28
.github/workflows/check-style.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: "Check style"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
check-style:
|
||||
name: "TRADUCTIONS.txt"
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: "Get changed XML files"
|
||||
id: changed
|
||||
run: |
|
||||
files=$(git diff --name-only --diff-filter=ACMR ${{ github.event.pull_request.base.sha }}...${{ github.event.pull_request.head.sha }} -- '*.xml' | tr '\n' ' ')
|
||||
echo "files=$files" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: "Check style rules"
|
||||
if: steps.changed.outputs.files != ''
|
||||
run: node .github/scripts/check-style-fr.mjs ${{ steps.changed.outputs.files }}
|
||||
2
.github/workflows/track-en-changes.yml
vendored
2
.github/workflows/track-en-changes.yml
vendored
@@ -11,7 +11,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
track:
|
||||
name: "Check for new doc-en merges"
|
||||
name: "Track doc-en changes"
|
||||
runs-on: "ubuntu-latest"
|
||||
|
||||
steps:
|
||||
|
||||
@@ -12,28 +12,36 @@ But :
|
||||
qui achète un maximum de liens pour se garantir des visites.
|
||||
|
||||
Style général :
|
||||
- Évitez de "parler" directement
|
||||
Ex: "Il est possible de [...]" au lieu de "Vous pouvez [...]".
|
||||
- En accord avec la règle précédente "Please note" peut se traduire par "Il est à noter que"
|
||||
au lieu de "Notez".
|
||||
- Utilisez plutôt :
|
||||
- "à partir de" au lieu de "depuis" (même règle qu'en anglais "as of" au lieu de "since").
|
||||
- "antérieur à" au lieu de "avant".
|
||||
- "auparavant" ou "précédemment" pour "formally".
|
||||
- Traduisez "should" par "devrait/devraient" au lieu de "doit/doivent".
|
||||
Évitez de "parler" directement au lecteur. Utilisez des tournures impersonnelles.
|
||||
Traduisez "should" par "devrait/devraient" au lieu de "doit/doivent".
|
||||
Utilisez "antérieur à" au lieu de "avant", "auparavant" ou "précédemment" pour "formally".
|
||||
Les lignes INTERDIT ci-dessous sont vérifiées automatiquement par la CI.
|
||||
INTERDIT : "Vous pouvez" → "Il est possible de"
|
||||
INTERDIT : "Vous devez" → "Il faut"
|
||||
INTERDIT : "Vous devriez" → "Il est recommandé de"
|
||||
INTERDIT : "Notez que" → "Il est à noter que"
|
||||
INTERDIT : "votre" → "le/la/du/de la"
|
||||
INTERDIT : "vos" → "les/des"
|
||||
INTERDIT : "assurez-vous" → "il faut s'assurer"
|
||||
INTERDIT : "reportez-vous" → "se reporter"
|
||||
INTERDIT : "référez-vous" → "se référer"
|
||||
INTERDIT : "depuis PHP" → "à partir de PHP"
|
||||
|
||||
Quelques points de français :
|
||||
- On n'écrit pas "etc..." mais "etc." (etc. et ... sont la même chose, d'où pléonasme).
|
||||
- On n'écrit pas "comme par exemple" mais "comme" ou "par exemple".
|
||||
- On n'écrit pas "si il", mais plutôt "s'il".
|
||||
- On écrit "optioNNel" et non pas "optioNel".
|
||||
- On écrit "abréger" et non pas "abrévier"
|
||||
- Dans un domaine de cryptographie, on utilise le mot chiffrement et pas chiffrage,
|
||||
pour plus d'informations voir : https://chiffrer.info/
|
||||
référez-vous aussi aux traductions ci-dessous pour d'autres termes techniques.
|
||||
- Les mots formés avec les préfixes "anti", "auto" ou "multi" s'écrivent
|
||||
*généralement* sans trait d'union.
|
||||
Pour plus de détails: http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4336
|
||||
Les lignes INTERDIT ci-dessous sont vérifiées automatiquement par la CI.
|
||||
Les mots formés avec les préfixes "anti", "auto" ou "multi" s'écrivent
|
||||
*généralement* sans trait d'union.
|
||||
Pour plus de détails: http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4336
|
||||
INTERDIT : "etc..." → "etc."
|
||||
INTERDIT : "comme par exemple" → "comme" ou "par exemple"
|
||||
INTERDIT : "si il" → "s'il"
|
||||
INTERDIT : "optionel" → "optionnel"
|
||||
INTERDIT : "abrévier" → "abréger"
|
||||
INTERDIT : "chiffrage" → "chiffrement"
|
||||
INTERDIT : "librairie" → "bibliothèque"
|
||||
INTERDIT : "encryption" → "cryptographie" ou "chiffrement"
|
||||
INTERDIT : "decrypter" → "déchiffrer"
|
||||
Voir aussi : https://chiffrer.info/
|
||||
|
||||
Il existe des entités qui permettent de traduire rapidement les types primitifs de PHP:
|
||||
- &array;
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<para>
|
||||
Cette directive permet de désactiver certaines fonctions.
|
||||
Elle prend une liste de noms de fonctions délimitée par des virgules.
|
||||
Depuis PHP 8.0.0, la désactivation d'une fonction supprime sa définition,
|
||||
À partir de PHP 8.0.0, la désactivation d'une fonction supprime sa définition,
|
||||
permettant à l'espace utilisateur de la redéfinir.
|
||||
Avant PHP 8.0.0, désactiver une fonction empêchait simplement la fonction d'être invoquée.
|
||||
</para>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Unix: L'argument de configuration <literal>--enable-gd-native-ttf</literal> a été supprimé. Il n'a pas été utilisé depuis PHP 5.5.0.
|
||||
Unix: L'argument de configuration <literal>--enable-gd-native-ttf</literal> a été supprimé. Il n'a pas été utilisé à partir de PHP 5.5.0.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
|
||||
<para>
|
||||
La directive ini <literal>opcache.inherited_hack</literal> a été supprimée.
|
||||
La valeur était ignorée depuis PHP 5.3.0.
|
||||
La valeur était ignorée à partir de PHP 5.3.0.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
||||
@@ -369,7 +369,7 @@ ArgumentCountError - makeyogurt(): Argument #1 ($container) not passed
|
||||
<function>debug_zval_dump</function> affiche désormais le refcount des références
|
||||
avec leur refcount, au lieu de simplement préfixer
|
||||
<literal>&</literal> à la valeur.
|
||||
Cela modélise plus précisément la représentation de référence depuis PHP 7.0.
|
||||
Cela modélise plus précisément la représentation de référence à partir de PHP 7.0.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
<para>
|
||||
La directive INI <link linkend="ini.log-errors-max-len">log_errors_max_len</link>
|
||||
a été supprimée.
|
||||
Il n'avait plus d'effet depuis PHP 8.0.0.
|
||||
Il n'avait plus d'effet à partir de PHP 8.0.0.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
La directive INI <link linkend="ini.opcache.consistency-checks">opcache.consistency_checks</link>
|
||||
a été supprimée. Cette fonctionnalité était cassée avec le tracing JIT,
|
||||
ainsi qu'avec le cache d'héritage, et a été désactivée sans moyen de
|
||||
l'activer depuis PHP 8.1.18 et PHP 8.2.5.
|
||||
l'activer à partir de PHP 8.1.18 et PHP 8.2.5.
|
||||
Le tracing JIT et le cache d'héritage peuvent modifier la shm après que le script
|
||||
ait été persisté en invalidant sa somme de contrôle. La tentative de correction a sauté
|
||||
les pointeurs modifiables mais a été rejetée en raison de la complexité. Pour cette
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
<para>
|
||||
La signature de <function>imagerotate</function> a changé.
|
||||
Le paramètre <parameter>$ignore_transparent</parameter> a été supprimé,
|
||||
car il était ignoré depuis PHP 5.5.0.
|
||||
car il était ignoré à partir de PHP 5.5.0.
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</para>
|
||||
|
||||
<section xml:id="tutorial.firstpage">
|
||||
<info><title>Votre première page PHP</title></info>
|
||||
<info><title>La première page PHP</title></info>
|
||||
<simpara>
|
||||
Ce tutoriel suppose que PHP est déjà installé.
|
||||
Les instructions d'installation sont disponibles sur la
|
||||
@@ -164,7 +164,7 @@ php -S localhost:8000
|
||||
Maintenant que le script PHP précédent fonctionne, c'est le moment
|
||||
de créer le meilleur script PHP ! Un appel à la fonction
|
||||
<function>phpinfo</function> affichera beaucoup d'informations
|
||||
intéressantes sur votre système et sa configuration comme les
|
||||
intéressantes sur le système et sa configuration comme les
|
||||
<link
|
||||
linkend="language.variables.predefined">variables pré-définies disponibles</link>,
|
||||
les modules PHP chargés ainsi que la <link linkend="configuration">configuration</link>.
|
||||
@@ -426,7 +426,7 @@ Tu as 29 ans.
|
||||
Un peu plus tôt dans ce tutoriel, nous avons utilisé la variable
|
||||
<varname>$_SERVER</varname>, une superglobale. Maintenant, nous avons
|
||||
introduit une autre superglobale <varname>$_POST</varname>
|
||||
qui contient toutes les données envoyées par la méthode POST. Notez que
|
||||
qui contient toutes les données envoyées par la méthode POST. Il est à noter que
|
||||
dans notre formulaire, nous avons choisi la <emphasis>méthode</emphasis> POST.
|
||||
Si nous avions utilisé la méthode <emphasis>GET</emphasis> alors notre formulaire
|
||||
aurait placé ces informations dans la variable <varname>$_GET</varname>,
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
Une recherche de base consiste en le mot ou la phrase à trouver. Il est possible
|
||||
d'utiliser des expressions génériques, des expressions imbriquées, des opérateurs booléens,
|
||||
des correspondances de mots similaires, une liste de résultats précédents, ou des titres de sujets pour
|
||||
définir davantage votre recherche.
|
||||
définir davantage la recherche.
|
||||
</para>
|
||||
<para>
|
||||
Les règles de base pour formuler des requêtes sont les suivantes :
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
les onglets Contenu, Index, Recherche et Favoris. Sur le côté droit
|
||||
de la fenêtre se trouve le volet de sujet. Il affiche le
|
||||
sujet d'aide sélectionné, ou le sujet d'aide par défaut au démarrage.
|
||||
Les pages d'aide sont toutes des fichiers HTML séparés, votre Internet
|
||||
Les pages d'aide sont toutes des fichiers HTML séparés, Internet
|
||||
Explorer affiche les pages dans le volet de sujet. Le troisième volet
|
||||
est la barre d'outils, qui se trouve en dessous de la barre de titre
|
||||
de la fenêtre d'aide. Il est possible d'ajuster la disposition horizontale
|
||||
|
||||
102
faq/build.xml
102
faq/build.xml
@@ -22,16 +22,16 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous devez avoir le logiciel GNU autoconf d'installé pour générer le
|
||||
script configure à partir de <filename>configure.in</filename>. Lancez
|
||||
juste <command>./buildconf</command> à la racine du répertoire des sources
|
||||
Il faut avoir le logiciel GNU autoconf d'installé pour générer le
|
||||
script configure à partir de <filename>configure.in</filename>. Il suffit de lancer
|
||||
<command>./buildconf</command> à la racine du répertoire des sources
|
||||
après avoir récupéré celles-ci à partir du serveur Git. (De plus, à
|
||||
moins que vous ne lanciez <command>configure</command> avec l'option
|
||||
moins de lancer <command>configure</command> avec l'option
|
||||
<literal>--enable-maintainer-mode</literal>, le script configure ne sera
|
||||
pas automatiquement reconstruit si <filename>configure.in</filename>
|
||||
est mis à jour, vous obligeant à le faire à la main quand vous remarquez
|
||||
que <filename>configure.in</filename> est mis à jour. Une conséquence de
|
||||
ceci est que l'on trouve des choses telles que @VARIABLE@ dans votre
|
||||
est mis à jour, obligeant à le faire à la main lorsque
|
||||
<filename>configure.in</filename> est mis à jour. Une conséquence de
|
||||
ceci est que l'on trouve des choses telles que @VARIABLE@ dans le
|
||||
Makefile après que configure ou <filename>config.status</filename> soit
|
||||
lancé.)
|
||||
</para>
|
||||
@@ -48,9 +48,9 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous devez spécifier au script de configuration (configure)
|
||||
Il faut spécifier au script de configuration (configure)
|
||||
l'emplacement du répertoire où sont les sources de Apache. Cela signifie
|
||||
que vous devez spécifier
|
||||
qu'il faut spécifier
|
||||
<option role="configure">--with-apache=/chemin/vers/apache</option> et
|
||||
<emphasis>pas</emphasis>
|
||||
<option role="configure">--with-apache=/chemin/vers/apache/src</option>.
|
||||
@@ -73,10 +73,10 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Assurez-vous de bien avoir lu les <link
|
||||
Il faut s'assurer de bien avoir lu les <link
|
||||
linkend="install.unix">instructions</link> d'installation et d'avoir
|
||||
flex et bison d'installés pour compiler PHP. Selon votre système, vous
|
||||
devrez installer bison et flex à partir de sources ou bien de paquets,
|
||||
flex et bison d'installés pour compiler PHP. Selon le système, il
|
||||
faudra installer bison et flex à partir de sources ou bien de paquets,
|
||||
tel qu'un RPM.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -98,7 +98,7 @@
|
||||
<para>
|
||||
Cette erreur survient généralement quand quelqu'un compile le cœur
|
||||
Apache comme bibliothèque partagée DSO. Essayez de reconfigurer Apache, en
|
||||
vous assurant d'utiliser les options suivantes :
|
||||
s'assurant d'utiliser les options suivantes :
|
||||
</para>
|
||||
<para>
|
||||
<screen>
|
||||
@@ -107,7 +107,7 @@
|
||||
</para>
|
||||
<para>
|
||||
Pour davantage d'informations, lisez le fichier
|
||||
<filename>INSTALL</filename> à la racine de votre répertoire source
|
||||
<filename>INSTALL</filename> à la racine du répertoire source
|
||||
Apache ou bien <link xlink:href="&url.apachedso;">le manuel des bibliothèques
|
||||
DSO</link>.
|
||||
</para>
|
||||
@@ -123,7 +123,7 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous pouvez forcer le script configure à chercher les fichiers d'en-tête
|
||||
Il est possible de forcer le script configure à chercher les fichiers d'en-tête
|
||||
à des endroits non-standard en passant des options supplémentaires au
|
||||
préprocesseur C et à l'éditeur de liens, par exemple :
|
||||
<programlisting>
|
||||
@@ -131,7 +131,7 @@
|
||||
CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
|
||||
]]>
|
||||
</programlisting>
|
||||
Si vous utilisez une variante de csh, utilisez plutôt :
|
||||
Lors de l'utilisation d'une variante de csh, utiliser plutôt :
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
|
||||
@@ -150,8 +150,8 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous devez mettre à jour votre version de bison. Vous pourrez trouver la
|
||||
dernière version sur <link xlink:href="&url.bison;">&url.bison;</link>.
|
||||
Il faut mettre à jour la version de bison. La dernière version se trouve
|
||||
sur <link xlink:href="&url.bison;">&url.bison;</link>.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -170,7 +170,7 @@
|
||||
les versions compilées des fichiers dans le répertoire functions.
|
||||
Essayez de lancer <command>cp *.o functions</command> et de relancer
|
||||
<command>make</command> pour voir si le problème est résolu. Si tel est
|
||||
le cas, vous devriez vraiment mettre à jour votre version de GNU make.
|
||||
le cas, il est recommandé de mettre à jour la version de GNU make.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -183,7 +183,7 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Jetez un oeil à la ligne de lien et assurez-vous que toutes les bibliothèques
|
||||
Jetez un oeil à la ligne de lien et il faut s'assurer que toutes les bibliothèques
|
||||
nécessaires ont été incluses à la fin. Celles qui manquent probablement
|
||||
sont '-ldl' et les bibliothèques relatives aux bases de données dont vous
|
||||
voulez le support.
|
||||
@@ -212,36 +212,36 @@
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Assurez-vous que le binaire httpd que vous exécutez est bien le
|
||||
nouveau binaire que vous avez compilé. Pour cela, essayez de lancer :
|
||||
Il faut s'assurer que le binaire httpd exécuté est bien le
|
||||
nouveau binaire compilé. Pour cela, essayer de lancer :
|
||||
<literal>/chemin/vers/le/binaire/httpd -l</literal>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Si vous ne voyez pas <filename>mod_php4.c</filename> dans la liste,
|
||||
c'est que vous n'utilisez pas le bon binaire. Trouvez et installez
|
||||
Si <filename>mod_php4.c</filename> n'apparaît pas dans la liste,
|
||||
c'est que le bon binaire n'est pas utilisé. Il faut trouver et installer
|
||||
correctement le bon binaire.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Assurez-vous que vous avez bien ajouté le bon type Mime à un de vos
|
||||
Il faut s'assurer d'avoir bien ajouté le bon type Mime à un des
|
||||
fichiers <literal>Apache .conf</literal>. Ce devrait être :
|
||||
<literal>AddType application/x-httpd-php .php</literal>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Assurez-vous aussi que cette ligne Addtype n'est pas dissimulée dans
|
||||
Il faut aussi s'assurer que cette ligne Addtype n'est pas dissimulée dans
|
||||
un contexte de <Virtualhost> ou <Directory> qui
|
||||
l'empêcherait de s'appliquer à l'emplacement de vos scripts.
|
||||
l'empêcherait de s'appliquer à l'emplacement des scripts.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Enfin, l'emplacement par défaut des fichiers de configuration Apache
|
||||
a changé entre Apache 1.2 et Apache 1.3. Vous devriez vérifier que
|
||||
les fichiers de configuration auxquels vous ajoutez la ligne Addtype
|
||||
sont bien ceux qui sont pris en compte. Vous pouvez introduire une
|
||||
erreur de syntaxe dans votre &httpd.conf; (ou bien tout autre
|
||||
changement incorrect) pour vous assurer que c'est bien ce fichier qui
|
||||
a changé entre Apache 1.2 et Apache 1.3. Il est recommandé de vérifier que
|
||||
les fichiers de configuration auxquels la ligne Addtype est ajoutée
|
||||
sont bien ceux qui sont pris en compte. Il est possible d'introduire une
|
||||
erreur de syntaxe dans le &httpd.conf; (ou bien tout autre
|
||||
changement incorrect) pour s'assurer que c'est bien ce fichier qui
|
||||
est pris en compte.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -261,7 +261,7 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Notez que le fichier <filename>libphp4.a</filename> n'est pas supposé
|
||||
Il est à noter que le fichier <filename>libphp4.a</filename> n'est pas supposé
|
||||
exister. Le processus apache le créera !
|
||||
</para>
|
||||
</answer>
|
||||
@@ -295,7 +295,7 @@
|
||||
Il y a trois choses à vérifier ici. Tout d'abord, quand Apache crée le
|
||||
script Perl apxs, il s'interrompt parfois en étant compilé sans le bon
|
||||
compilateur ou les bonnes options.
|
||||
Trouvez votre script apxs (lancez la commande <command>which
|
||||
Trouvez le script apxs (lancez la commande <command>which
|
||||
apxs</command>), qui se trouve souvent à
|
||||
<filename>/usr/local/apache/bin/apxs</filename> ou bien
|
||||
<filename>/usr/sbin/apxs</filename>.
|
||||
@@ -307,7 +307,7 @@ my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl
|
||||
my $CFG_LDFLAGS_SHLIB = ' '; # substituted via Makefile.tmpl
|
||||
]]>
|
||||
</programlisting>
|
||||
Si c'est ce que vous voyez, vous avez trouvé votre problème. Elles
|
||||
Si c'est ce qui apparaît, le problème est trouvé. Elles
|
||||
peuvent contenir juste des espaces ou d'autres valeurs incorrectes,
|
||||
comme 'q()'. Changez ces lignes pour obtenir :
|
||||
<programlisting>
|
||||
@@ -325,14 +325,14 @@ my $CFG_LDFLAGS_SHLIB = q(-shared); # substituted via Makefile.tmpl
|
||||
my $CFG_LIBEXECDIR = 'modules'; # substituted via APACI install
|
||||
]]>
|
||||
</programlisting>
|
||||
Si vous la voyez telle quelle, changez-la en :
|
||||
Si elle apparaît telle quelle, la changer en :
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install
|
||||
]]>
|
||||
</programlisting>
|
||||
Enfin, si vous reconfigurez/réinstallez Apache, lancez un <command>make
|
||||
clean</command> entre votre <command>./configure</command> et votre
|
||||
Enfin, lors d'une reconfiguration/réinstallation d'Apache, lancer un <command>make
|
||||
clean</command> entre le <command>./configure</command> et le
|
||||
<command>make</command>.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -347,7 +347,7 @@ my $CFG_LIBEXECDIR = '/usr/lib/apache'; # substituted via APACI install
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Pendant le <command>make</command>, si vous rencontrez des problèmes
|
||||
Pendant le <command>make</command>, si des problèmes sont rencontrés
|
||||
identiques à celui-ci :
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
@@ -368,10 +368,10 @@ make: *** [all-recursive] Error 1
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
Votre système est défectueux. Vous devez corriger vos fichiers
|
||||
Le système est défectueux. Il faut corriger les fichiers
|
||||
<filename>/usr/include</filename> en installant un paquet glibc-devel qui
|
||||
correspond à votre version de la glibc. Cela n'a rien à voir avec PHP.
|
||||
Pour vous en convaincre, essayez ceci :
|
||||
correspond à la version de la glibc. Cela n'a rien à voir avec PHP.
|
||||
Pour s'en convaincre, essayer ceci :
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
$ cat >test.c <<X
|
||||
@@ -380,7 +380,7 @@ X
|
||||
$ gcc -E test.c >/dev/null
|
||||
]]>
|
||||
</programlisting>
|
||||
Si vous obtenez des erreurs, c'est que vos fichiers d'en-tête sont
|
||||
Si des erreurs apparaissent, c'est que les fichiers d'en-tête sont
|
||||
mauvais.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -403,13 +403,13 @@ $ gcc -E test.c >/dev/null
|
||||
Tout d'abord, il est important de savoir que ce n'est qu'un <literal>
|
||||
Warning</literal> et pas une erreur fatale. Comme c'est souvent la
|
||||
dernière erreur vue lors du <literal>make</literal>, ça a l'air d'une
|
||||
erreur fatale, mais ça n'en est pas une. Bien sûr, si vous demandez à
|
||||
votre compilateur de stopper à chaque Warning, ça en deviendra une.
|
||||
erreur fatale, mais ça n'en est pas une. Bien sûr, si le
|
||||
compilateur est configuré pour stopper à chaque Warning, ça en deviendra une.
|
||||
Notez aussi que le support de MySQL est activé par défaut.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
Depuis PHP 4.3.2, vous verrez le texte suivant après la compilation
|
||||
À partir de PHP 4.3.2, le texte suivant apparaît après la compilation
|
||||
(make) :
|
||||
</para>
|
||||
<para>
|
||||
@@ -432,7 +432,7 @@ $ gcc -E test.c >/dev/null
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous pouvez jetez un oeil au fichier config.nice dans votre répertoire
|
||||
Il est possible de jeter un oeil au fichier config.nice dans le répertoire
|
||||
source ou sinon simplement exécuter un script
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
@@ -441,7 +441,7 @@ $ gcc -E test.c >/dev/null
|
||||
</programlisting>
|
||||
Au début du résultat affiché figure la ligne
|
||||
<command>./configure</command> qui fût utilisée lors de la configuration
|
||||
de votre PHP actuel.
|
||||
du PHP actuel.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -455,7 +455,7 @@ $ gcc -E test.c >/dev/null
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Assurez-vous que votre bibliothèque GD et PHP sont liés aux mêmes
|
||||
Il faut s'assurer que la bibliothèque GD et PHP sont liés aux mêmes
|
||||
bibliothèques (libpng, par exemple).
|
||||
</para>
|
||||
</answer>
|
||||
@@ -471,8 +471,8 @@ $ gcc -E test.c >/dev/null
|
||||
<answer>
|
||||
<para>
|
||||
L'utilisation d'utilitaires non-GNU pour compiler PHP peut poser
|
||||
problème. Assurez-vous de bien utiliser des outils GNU pour être certain
|
||||
que votre compilation arrive à terme. Par exemple, sous Solaris,
|
||||
problème. Il faut s'assurer de bien utiliser des outils GNU pour être certain
|
||||
que la compilation arrive à terme. Par exemple, sous Solaris,
|
||||
utiliser les versions SunOS BSD-compatible ou Solaris de
|
||||
<literal>sed</literal> ne fonctionnera pas, mais utiliser les versions
|
||||
GNU ou Sun POSIX (xpg4) de <literal>sed</literal> fonctionnera. Liens :
|
||||
|
||||
10
faq/com.xml
10
faq/com.xml
@@ -151,13 +151,13 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Exactement de la même manière qu'avec des objets locaux. Vous devez
|
||||
Exactement de la même manière qu'avec des objets locaux. Il faut
|
||||
juste passer l'adresse IP de la machine distante en deuxième paramètre
|
||||
du constructeur COM.
|
||||
</para>
|
||||
<para>
|
||||
Il faut s'assurer d'avoir spécifié
|
||||
<link linkend="ini.com.allow-dcom">com.allow_dcom</link><literal>=</literal>&true; dans votre
|
||||
<link linkend="ini.com.allow-dcom">com.allow_dcom</link><literal>=</literal>&true; dans le
|
||||
&php.ini;.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -172,7 +172,7 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Éditez votre &php.ini; et mettez
|
||||
Éditez le &php.ini; et mettez
|
||||
<link linkend="ini.com.allow-dcom">com.allow_dcom</link><literal>=</literal>&true;.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -230,8 +230,8 @@ $word = new COM("C:\docs\word.doc");
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous pouvez définir un moniteur d'événement (sink) et le lier en
|
||||
utilisant <function>com_event_sink</function>. Vous pouvez utiliser
|
||||
Il est possible de définir un moniteur d'événement (sink) et le lier en
|
||||
utilisant <function>com_event_sink</function>. Il est possible d'utiliser
|
||||
<function>com_print_typeinfo</function> pour que PHP génère un
|
||||
squelette pour la classe du moniteur d'événement.
|
||||
</para>
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Installez MySQL sur votre plate-forme conformément aux instructions
|
||||
Installez MySQL sur la plate-forme conformément aux instructions
|
||||
de MySQL. Il est disponible sur <link
|
||||
xlink:href="&url.mysql;">&url.mysql;</link>. Aucune
|
||||
configuration particulière n'est nécessaire, mis à part que lorsque
|
||||
@@ -96,9 +96,9 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Créez un utilisateur ou une source de données système dans votre
|
||||
administration ODBC, dans le panneau de configuration. Donnez un nom
|
||||
de source de données dsn, entrez votre nom d'hôte, identifiant, mot
|
||||
Créez un utilisateur ou une source de données système dans
|
||||
l'administration ODBC, dans le panneau de configuration. Donnez un nom
|
||||
de source de données dsn, entrez le nom d'hôte, identifiant, mot
|
||||
de passe, port, etc. pour la base de données configurée à l'étape 1.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -116,7 +116,7 @@
|
||||
Tables, ou, dans le menu Fichier, sélectionnez Obtenir des données
|
||||
externes et alors Lier les Tables.
|
||||
Quand la fenêtre de gestion de fichiers apparaît, sélectionnez les
|
||||
fichiers de type : ODBC. Sélectionnez dsn Système et le nom de votre
|
||||
fichiers de type : ODBC. Sélectionnez dsn Système et le nom de la
|
||||
dsn créée à l'étape 3. Sélectionnez la table à lier, cliquez sur OK,
|
||||
et voilà ! Il est maintenant possible d'ouvrir la table et
|
||||
ajouter/supprimer/éditer des données sur le serveur MySQL. Il est
|
||||
@@ -131,25 +131,25 @@
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Vous pouvez construire vos tables dans Access et les exporter dans
|
||||
MySQL, puis les lier de nouveau. Cela rend la création de table très
|
||||
Il est possible de construire les tables dans Access et de les exporter dans
|
||||
MySQL, puis de les lier de nouveau. Cela rend la création de table très
|
||||
rapide.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Lorsque vous créez des tables dans Access, vous devez avoir une clé
|
||||
primaire définie pour avoir accès en écriture à la table. Assurez-vous
|
||||
que vous avez bien créé une clé primaire dans MySQL avant de
|
||||
Lors de la création de tables dans Access, il faut avoir une clé
|
||||
primaire définie pour avoir accès en écriture à la table. Il faut s'assurer
|
||||
d'avoir bien créé une clé primaire dans MySQL avant de
|
||||
lier le tout à Access.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Si vous changez une table dans MySQL, vous devez la lier de nouveau à
|
||||
Lors d'une modification de table dans MySQL, il faut la lier de nouveau à
|
||||
Access. Allez dans Outils>suppléments>gestionnaire de tables
|
||||
liées, cherchez votre DSN ODBC, et sélectionnez la table à lier de
|
||||
nouveau. Vous pouvez aussi changer votre source dsn à partir de là,
|
||||
liées, cherchez la DSN ODBC, et sélectionnez la table à lier de
|
||||
nouveau. Il est aussi possible de changer la source dsn à partir de là,
|
||||
en cliquant sur l'option toujours demander pour un nouvel emplacement
|
||||
avant de presser OK.
|
||||
</simpara>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
Il n'est pas correct d'utiliser la fonction <function>urlencode</function>
|
||||
pour les données <varname>$data</varname>, car il en est de la responsabilité du
|
||||
navigateur de les encoder. Tous les navigateurs populaires le font correctement.
|
||||
Notez que cela s'effectue sans considération de la méthode utilisée
|
||||
Il est à noter que cela s'effectue sans considération de la méthode utilisée
|
||||
(c'est-à-dire
|
||||
<literal>GET</literal> ou <literal>POST</literal>).
|
||||
Il faut uniquement noter ce cas pour les requêtes <literal>GET</literal>,
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
entrante, de nouvelles faiblesses sont introduites dans le système PHP.
|
||||
</para>
|
||||
<para>
|
||||
Si vous voulez utiliser un MPM threadé, regardez du côté
|
||||
Pour utiliser un MPM threadé, il est possible de regarder du côté
|
||||
d'une configuration FastCGI dans laquelle PHP s'exécute dans son propre espace
|
||||
mémoire.
|
||||
</para>
|
||||
@@ -59,23 +59,23 @@
|
||||
La plupart des personnes voudront changer ceci lors de la compilation
|
||||
avec l'option <link
|
||||
linkend="configure.with-config-file-path">--with-config-file-path</link>.
|
||||
Vous pouvez par exemple le régler de cette façon :
|
||||
Il est possible par exemple de le régler de cette façon :
|
||||
<programlisting role="shell">
|
||||
--with-config-file-path=/etc
|
||||
</programlisting>
|
||||
Et alors vous copierez le fichier <filename>php.ini-development</filename> livré
|
||||
avec les sources vers <filename>/etc/php.ini</filename> et l'éditerez pour
|
||||
l'adapter à vos besoins.
|
||||
Il faut alors copier le fichier <filename>php.ini-development</filename> livré
|
||||
avec les sources vers <filename>/etc/php.ini</filename> et l'éditer pour
|
||||
l'adapter aux besoins.
|
||||
</para>
|
||||
<programlisting role="shell">
|
||||
--with-config-file-scan-dir=PATH
|
||||
</programlisting>
|
||||
<para>
|
||||
Sous Windows, le chemin par défaut de &php.ini; est le répertoire de
|
||||
Windows. Si vous utilisez le serveur web Apache, &php.ini; est tout
|
||||
Windows. Lors de l'utilisation du serveur web Apache, &php.ini; est tout
|
||||
d'abord cherché dans le répertoire d'installation de Apache, c'est-à-dire
|
||||
<filename>c:\program files\apache group\apache</filename>. De cette
|
||||
façon, vous pouvez avoir un &php.ini; différent pour chaque version de
|
||||
façon, il est possible d'avoir un &php.ini; différent pour chaque version de
|
||||
Apache installée.
|
||||
</para>
|
||||
<para>
|
||||
@@ -96,16 +96,16 @@
|
||||
<answer>
|
||||
<para>
|
||||
Cela signifie probablement que PHP rencontre un problème et génère un
|
||||
fichier de vidage. Consultez vos fichiers de logs de votre serveur pour voir
|
||||
fichier de vidage. Consultez les fichiers de logs du serveur pour voir
|
||||
si c'est le cas, et tentez de reproduire le problème avec un test
|
||||
simple. Si vous savez utiliser 'gdb', il serait très utile de fournir un
|
||||
backtrace avec votre rapport de bogue, afin d'aider les développeurs à
|
||||
cerner le problème. Si vous utilisez PHP en module Apache, essayez
|
||||
simple. En cas de maîtrise de 'gdb', il serait très utile de fournir un
|
||||
backtrace avec le rapport de bogue, afin d'aider les développeurs à
|
||||
cerner le problème. Lors de l'utilisation de PHP en module Apache, essayer
|
||||
ceci :
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Stoppez vos processus httpd
|
||||
Stoppez les processus httpd
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -115,7 +115,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Stoppez vos processus httpd
|
||||
Stoppez les processus httpd
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -125,7 +125,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Pointez alors avec votre navigateur vers l'URL posant problème.
|
||||
Pointez alors avec le navigateur vers l'URL posant problème.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -135,7 +135,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Si vous obtenez un fichier de vidage, gdb doit alors vous en informer.
|
||||
En cas de fichier de vidage, gdb en informera.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -145,7 +145,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Vous devriez inclure votre backtrace dans votre rapport de bogue.
|
||||
Il est recommandé d'inclure le backtrace dans le rapport de bogue.
|
||||
Celui-ci doit être posté sur
|
||||
<link xlink:href="&url.php.bugs;">&url.php.bugs;</link>.
|
||||
</para>
|
||||
@@ -153,8 +153,8 @@
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
Si votre script utilise les expressions régulières
|
||||
(<function>preg_match</function> et consorts), assurez-vous que PHP et
|
||||
Si le script utilise les expressions régulières
|
||||
(<function>preg_match</function> et consorts), il faut s'assurer que PHP et
|
||||
Apache ont été compilés avec les mêmes outils d'expressions régulières.
|
||||
Cela devrait être automatiquement le cas avec PHP et Apache 1.3.x.
|
||||
</para>
|
||||
@@ -170,9 +170,9 @@
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
En supposant que vous avez installé à la fois Apache et PHP à partir
|
||||
de fichiers RPM, vous devrez commenter ou ajouter au moins quelques-unes
|
||||
des lignes suivantes dans votre fichier &httpd.conf; :
|
||||
En supposant qu'Apache et PHP ont été installés à partir
|
||||
de fichiers RPM, il faudra commenter ou ajouter au moins quelques-unes
|
||||
des lignes suivantes dans le fichier &httpd.conf; :
|
||||
<programlisting role="apache-conf">
|
||||
<![CDATA[
|
||||
# Extra Modules
|
||||
@@ -225,8 +225,8 @@ AddType application/x-httpd-php .php
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Affichez le code source du document dans votre navigateur et vous
|
||||
devriez probablement trouver le code source de votre script PHP.
|
||||
L'affichage du code source du document dans le navigateur devrait
|
||||
probablement révéler le code source du script PHP.
|
||||
Cela signifie que le serveur web n'a pas envoyé le script à PHP pour
|
||||
interprétation. Quelque chose est incorrect dans la configuration
|
||||
du serveur web - revérifiez la configuration du serveur web en vous
|
||||
@@ -247,7 +247,7 @@ AddType application/x-httpd-php .php
|
||||
<para>
|
||||
Quelque chose se passe mal lorsque le serveur tente d'utiliser PHP.
|
||||
Pour tenter de récupérer un message d'erreur, depuis la ligne de commande,
|
||||
placez-vous dans le répertoire contenant l'exécutable PHP
|
||||
se placer dans le répertoire contenant l'exécutable PHP
|
||||
(<filename>php.exe</filename> sous Windows) et exécutez la commande
|
||||
<command>php -i</command>.
|
||||
Si PHP a un problème quelconque l'empêchant de fonctionner, un message
|
||||
@@ -255,7 +255,7 @@ AddType application/x-httpd-php .php
|
||||
écran de code HTML apparaît (la sortie de la fonction
|
||||
<function>phpinfo</function>),
|
||||
cela signifie que PHP fonctionne correctement et que le problème doit
|
||||
certainement venir de la configuration de votre serveur web que vous devriez
|
||||
certainement venir de la configuration du serveur web qu'il est recommandé de
|
||||
re-vérifier.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -350,7 +350,7 @@ cgi error:
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Assurez-vous que chaque utilisateur qui a besoin d'exécuter un script PHP
|
||||
Il faut s'assurer que chaque utilisateur qui a besoin d'exécuter un script PHP
|
||||
possède les droits requis pour exécuter le fichier
|
||||
<filename>php.exe</filename> !
|
||||
IIS utilise un utilisateur anonyme qui est ajouté lors de l'installation de IIS.
|
||||
@@ -375,13 +375,13 @@ cgi error:
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Vous devez définir la directive <link linkend="ini.cgi.force-redirect">
|
||||
Il faut définir la directive <link linkend="ini.cgi.force-redirect">
|
||||
cgi.force_redirect</link> à &zero;. Par défaut, elle vaut &one;, donc,
|
||||
soyez sûrs que cette directive n'est pas commentée (précédée d'un point virgule).
|
||||
Comme toutes les directives, elles sont définies dans le &php.ini;.
|
||||
</para>
|
||||
<para>
|
||||
Comme la valeur par défaut vaut &one;, il est impératif que vous soyez sûrs
|
||||
Comme la valeur par défaut vaut &one;, il est impératif d'être sûr
|
||||
à 100% que le bon fichier &php.ini; a été lu.
|
||||
Lisez cette <link linkend="faq.installation.findphpini">FAQ</link>
|
||||
pour plus de détails.
|
||||
@@ -398,18 +398,18 @@ cgi error:
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Pour être sûr que votre &php.ini; a été lu par PHP, effectuez un appel à la fonction
|
||||
Pour être sûr que le &php.ini; a été lu par PHP, effectuer un appel à la fonction
|
||||
<function>phpinfo</function>. Vers le haut du document résultant, il devrait figurer
|
||||
une liste appelée <literal>Configuration File (php.ini)</literal>.
|
||||
Cela vous indiquera où PHP a cherché le &php.ini; et si oui ou non il l'a lu.
|
||||
Cela indiquera où PHP a cherché le &php.ini; et si oui ou non il l'a lu.
|
||||
Si seul un dossier <envar>PATH</envar> existe, alors le fichier n'est pas lu,
|
||||
et vous devez copier votre &php.ini; dans ce dossier. Si le &php.ini; est présent dans le
|
||||
et il faut copier le &php.ini; dans ce dossier. Si le &php.ini; est présent dans le
|
||||
chemin, cela signifie qu'il a bien été lu.
|
||||
</para>
|
||||
<para>
|
||||
Si le &php.ini; a bien été lu et que vous exécutez PHP comme module,
|
||||
alors assurez-vous de redémarrer le serveur web après avoir effectué les modifications
|
||||
à votre &php.ini;.
|
||||
Si le &php.ini; a bien été lu et que PHP est exécuté comme module,
|
||||
alors il faut s'assurer de redémarrer le serveur web après avoir effectué les modifications
|
||||
au &php.ini;.
|
||||
</para>
|
||||
<para>
|
||||
Voir aussi la fonction <function>php_ini_loaded_file</function>.
|
||||
@@ -441,14 +441,14 @@ cgi error:
|
||||
Regardez dans le panneau "Variables systèmes"
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Trouvez l'entrée <literal>Path</literal> (vous devriez avoir à faire descendre
|
||||
Trouvez l'entrée <literal>Path</literal> (il faudra peut-être faire descendre
|
||||
l'ascenseur pour le trouver)
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Double cliquez sur l'entrée <literal>Path</literal>
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
Entrez votre répertoire PHP à la fin, sans oublier le point virgule (<literal>;</literal>)
|
||||
Entrez le répertoire PHP à la fin, sans oublier le point virgule (<literal>;</literal>)
|
||||
avant (par exemple <literal>;C:\php</literal>)
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
@@ -458,7 +458,7 @@ cgi error:
|
||||
</para>
|
||||
<note>
|
||||
<simpara>
|
||||
Assurez-vous de redémarrer l'ordinateur après avoir suivi cette procédure
|
||||
Il faut s'assurer de redémarrer l'ordinateur après avoir suivi cette procédure
|
||||
afin que les modifications sur la variable <envar>PATH</envar>
|
||||
soient bien prises en compte.
|
||||
</simpara>
|
||||
@@ -474,8 +474,8 @@ cgi error:
|
||||
</question>
|
||||
<answer>
|
||||
<para>
|
||||
Il y a plusieurs façons de faire cela. Si vous utilisez Apache,
|
||||
référez vous à la documentation d'Apache, sinon vous devez définir
|
||||
Il y a plusieurs façons de faire cela. Lors de l'utilisation d'Apache,
|
||||
se référer à la documentation d'Apache, sinon il faut définir
|
||||
la variable d'environnement <varname>PHPRC</varname>.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -519,7 +519,7 @@ cgi error:
|
||||
<para>
|
||||
Si les liens vers les fichiers PHP incluent l'extension, tout fonctionne
|
||||
parfaitement. Cette entrée de la FAQ traite uniquement du cas où les liens
|
||||
vers les fichiers PHP n'incluent pas l'extension et que vous voulez
|
||||
vers les fichiers PHP n'incluent pas l'extension et que l'on souhaite
|
||||
utiliser la négociation sur le contenu fourni par Apache pour choisir les
|
||||
fichiers PHP depuis une URL qui ne contient pas d'extension. Dans ce
|
||||
cas, remplacez la ligne
|
||||
@@ -547,7 +547,7 @@ AddType text/html php
|
||||
Non, il est possible de gérer tout type de méthode, comme CONNECT. Le
|
||||
statut de réponse approprié peut être envoyé avec la fonction
|
||||
<function>header</function>. Si seules les méthodes POST et GET doivent
|
||||
être gérées, vous pouvez configurer Apache comme ce qui suit :
|
||||
être gérées, il est possible de configurer Apache comme ce qui suit :
|
||||
<programlisting role="apache-conf">
|
||||
<![CDATA[
|
||||
<LimitExcept GET POST>
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
informations.
|
||||
</para>
|
||||
<para>
|
||||
Un autre point important à ne pas oublier est de résumer votre problème
|
||||
Un autre point important à ne pas oublier est de résumer le problème
|
||||
dans l'objet du message. Un objet qui ressemble à "Aidez-moi !!!!" ou "Quel est le souci ici ?" sera
|
||||
ignoré par la majorité des lecteurs.
|
||||
</para>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
C:\Windows où C représente le disque d'installation de Windows.
|
||||
</para>
|
||||
<para>
|
||||
Note : Dans ce qui suit, lang représente votre langue et x le format
|
||||
Note : Dans ce qui suit, lang représente la langue et x le format
|
||||
désiré, par exemple : pdf.
|
||||
Pour décompresser php_manual_lang.x.bz2 suivez les instructions
|
||||
suivantes :
|
||||
@@ -57,7 +57,7 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
déplacez-vous dans le dossier où se trouvent les fichiers php_manual_lang.x.bz2
|
||||
se déplacer dans le dossier où se trouvent les fichiers php_manual_lang.x.bz2
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -73,7 +73,7 @@
|
||||
avec beaucoup de fichiers HTML à l'intérieur a été téléchargé, la procédure est la même.
|
||||
La seule différence est que l'on obtient un fichier php_manual_lang.tar.
|
||||
Le format tar est connu pour être pris en charge par la plupart des
|
||||
archiveurs de Windows, comme par exemple
|
||||
archiveurs de Windows, par exemple
|
||||
<link xlink:href="&url.winzip;">WinZip</link>.
|
||||
</para>
|
||||
</answer>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
"<emphasis>haystack, needle</emphasis>".
|
||||
</para>
|
||||
<para>
|
||||
Depuis PHP 8.0, les <link linkend="functions.named-arguments">arguments nommés</link>
|
||||
À partir de PHP 8.0, les <link linkend="functions.named-arguments">arguments nommés</link>
|
||||
permettent de passer les arguments par nom de paramètre, rendant l'ordre des paramètres moins important.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -354,7 +354,7 @@ foreach ($headers as $nom => $contenu) {
|
||||
<literal>1M</literal> équivaut à un mégaoctet ou <literal>1048576</literal>
|
||||
octets. <literal>1K</literal> équivaut à un kilooctet ou
|
||||
<literal>1024</literal> octets. Ces notations abrégées peuvent être utilisées dans le fichier &php.ini; et dans la fonction <function>ini_set</function>.
|
||||
Notez que la valeur numérique est transtypée en &integer; ;
|
||||
Il est à noter que la valeur numérique est transtypée en &integer; ;
|
||||
par exemple, <literal>0.5M</literal> est interprété comme <literal>0</literal>.
|
||||
</para>
|
||||
<note>
|
||||
|
||||
@@ -806,7 +806,7 @@ Total Lines: 37328
|
||||
<para>
|
||||
Cette option utilise le mécanisme interne pour analyser le fichier,
|
||||
et écrire au format HTML une version colorisée du code source.
|
||||
Notez que cette option ne fait que générer un bloc HTML, avec les balises HTML
|
||||
Il est à noter que cette option ne fait que générer un bloc HTML, avec les balises HTML
|
||||
<literal><code> [...] </code></literal>, sans en-têtes HTML.
|
||||
</para>
|
||||
<note>
|
||||
@@ -1143,7 +1143,7 @@ $ some_application | some_filter | php | sort -u > final_output.txt
|
||||
Généralement, cette limite ne sera pas atteinte). Les arguments passés au script seront
|
||||
transmis via la variable tableau <varname>$argv</varname>. Le premier
|
||||
index (zéro) contient toujours le nom du script appelé depuis la ligne
|
||||
de commande. Notez que, si le code est exécuté en ligne en utilisant
|
||||
de commande. Il est à noter que, si le code est exécuté en ligne en utilisant
|
||||
l'option de ligne commande <option>-r</option>, la valeur de <varname>$argv[0]</varname>
|
||||
sera <literal>"Standard input code"</literal>; antérieur à PHP 7.2.0,
|
||||
c'était un tiret (<literal>"-"</literal>) à la place. Cela est aussi vrai si
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
Seules les sondes PHP USDT sont décrites ici. Se référer à la documentation externe
|
||||
générale et spécifique au système d'exploitation pour voir comment
|
||||
DTrace peut être utilisé pour tracer des fonctions arbitraires, et comment il peut être utilisé
|
||||
pour tracer le comportement du système d'exploitation. Notez que toutes les fonctionnalités
|
||||
pour tracer le comportement du système d'exploitation. Il est à noter que toutes les fonctionnalités
|
||||
de DTrace ne sont pas disponibles dans toutes les implémentations de DTrace.
|
||||
</para>
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
<para>
|
||||
La variable globale <varname>$_FILES</varname> va contenir toutes les
|
||||
informations sur le fichier téléchargé. Son contenu est détaillé
|
||||
dans notre exemple ci-dessous. Notez que l'on suppose que le nom
|
||||
dans notre exemple ci-dessous. Il est à noter que l'on suppose que le nom
|
||||
de la variable du fichier téléchargé est <emphasis>userfile</emphasis>, tel que
|
||||
défini dans le formulaire ci-dessus, mais peut être n'importe quel nom.
|
||||
<variablelist>
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
<simplesect xml:id="persistent-connections.drawbacks.conn-limits">
|
||||
<title>Inconvénients potentiels : limites de connexion</title>
|
||||
<simpara>
|
||||
Notez que les connexions persistantes ont quelques inconvénients
|
||||
Il est à noter que les connexions persistantes ont quelques inconvénients
|
||||
lors de l'hébergement d'une base de données dont le nombre maximal de
|
||||
connexion risque d'être atteint par les connexions persistantes.
|
||||
Si la base de données a une limite de 16 connexions simultanées,
|
||||
|
||||
@@ -545,7 +545,7 @@
|
||||
<para>
|
||||
L'URI de ping pour appeler la page de monitoring de FPM. Si aucune valeur n'est précisée,
|
||||
aucune page de ping ne sera disponible. Ceci pourrait être utilisé pour tester depuis l'extérieur
|
||||
si FPM est toujours disponible et prêt à répondre. Notez que la valeur doit commencer par un
|
||||
si FPM est toujours disponible et prêt à répondre. Il est à noter que la valeur doit commencer par un
|
||||
slash (/).
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -1010,7 +1010,7 @@
|
||||
</variablelist>
|
||||
<para>
|
||||
Il est possible de passer des variables d'environnement additionnelles et mettre à jour les paramètres
|
||||
de PHP d'un pool. Pour ce faire, vous devez ajouter les options suivantes au
|
||||
de PHP d'un pool. Pour ce faire, il faut ajouter les options suivantes au
|
||||
fichier de configuration du pool.
|
||||
<example>
|
||||
<title>Passer des variables d'environnement et des paramètres PHP à un pool</title>
|
||||
@@ -1032,7 +1032,7 @@ php_admin_value[memory_limit] = 32M
|
||||
</example>
|
||||
Les paramètres PHP passés avec <literal>php_value</literal> ou
|
||||
<literal>php_flag</literal> écraseront leur valeur précédente.
|
||||
Notez que définir
|
||||
Il est à noter que définir
|
||||
<link linkend="ini.disable-functions">disable_functions</link> ou
|
||||
<link linkend="ini.disable-classes">disable_classes</link> n'écrasera pas
|
||||
les valeurs concernées précédemment définies dans <filename>php.ini</filename>,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<title>Compiler depuis les sources</title>
|
||||
<para>
|
||||
Pour activer FPM dans la construction de PHP, il faut ajouter la ligne <literal>--enable-fpm</literal>
|
||||
à votre ligne de configuration.
|
||||
à la ligne de configuration.
|
||||
</para>
|
||||
<para>
|
||||
Il existe de multiples options de configuration pour FPM (toutes optionnelles):
|
||||
|
||||
@@ -125,7 +125,7 @@ make install
|
||||
Si Apache a été construit depuis les sources, tel que décrit ci-dessus,
|
||||
l'exemple suivant devrait être correct concernant les chemins vers <command>apxs</command>, mais si
|
||||
Apache a été installé d'une autre façon, il faut prendre en compte les
|
||||
spécificités et ajuster les chemins <command>apxs</command> en conséquence. Notez que suivant
|
||||
spécificités et ajuster les chemins <command>apxs</command> en conséquence. Il est à noter que suivant
|
||||
les distributions, il peut être nécessaire de renommer <command>apxs</command> en <command>apxs2</command>.
|
||||
</para>
|
||||
<informalexample>
|
||||
@@ -147,7 +147,7 @@ make install
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Notez que, sauf indications contraires, l'étape "make install" installera
|
||||
Il est à noter que, sauf indications contraires, l'étape "make install" installera
|
||||
également <link xlink:href="&url.php.pear;">PEAR</link>, mais aussi divers outils PHP comme <link linkend="install.pecl.phpize">phpize</link>, PHP CLI et
|
||||
bien plus encore.
|
||||
</para>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
être disponible sous plusieurs versions au choix.
|
||||
Puis, jetez un oeil aux paquets de module, comme <filename>php-mysqli</filename>
|
||||
ou <filename>php-imap</filename>. Il faut utiliser la commande
|
||||
<command>phpxs</command> pour activer et désactiver ces modules dans votre
|
||||
<command>phpxs</command> pour activer et désactiver ces modules dans le
|
||||
&php.ini;.
|
||||
</simpara>
|
||||
<example xml:id="install.unix.openbsd.ports.example">
|
||||
|
||||
@@ -97,8 +97,8 @@ declare(ticks=1);
|
||||
</para>
|
||||
<para>
|
||||
Un événement qui intervient à chaque tick est spécifié avec la fonction
|
||||
<function>register_tick_function</function>. Reportez-vous à l'exemple
|
||||
ci-dessous pour plus de détails. Notez que plus d'un événement peut
|
||||
<function>register_tick_function</function>. Se reporter à l'exemple
|
||||
ci-dessous pour plus de détails. Il est à noter que plus d'un événement peut
|
||||
intervenir par tick.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<function>require</function>, qui émettra <constant>E_ERROR</constant>.
|
||||
</simpara>
|
||||
<simpara>
|
||||
Notez que <literal>include</literal> et <literal>require</literal>
|
||||
Il est à noter que <literal>include</literal> et <literal>require</literal>
|
||||
vont lancer des erreurs de type <constant>E_WARNING</constant>, si le
|
||||
fichier n'est pas accessible, avant de lancer une erreur de type
|
||||
<constant>E_WARNING</constant> ou <constant>E_ERROR</constant>, respectivement.
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<para>
|
||||
<note>
|
||||
<simpara>
|
||||
Notez que puisque <literal>return</literal> est une structure de langage,
|
||||
Il est à noter que puisque <literal>return</literal> est une structure de langage,
|
||||
et non une fonction, les parenthèses entourant les arguments ne sont pas
|
||||
nécessaires et leur utilisation est découragée.
|
||||
</simpara>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</simpara>
|
||||
<note>
|
||||
<simpara>
|
||||
Notez que contrairement à d'autres langages, la structure
|
||||
Il est à noter que contrairement à d'autres langages, la structure
|
||||
<link linkend="control-structures.continue">continue</link> s'applique
|
||||
aux structures <literal>switch</literal> et se comporte de la même manière
|
||||
que <literal>break</literal>.
|
||||
@@ -27,7 +27,7 @@
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
Notez que switch/case provoque une
|
||||
Il est à noter que switch/case provoque une
|
||||
<link linkend="types.comparisions-loose">comparaison large</link>.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
@@ -299,7 +299,7 @@ echo $str; // Affiche : 'Ceci est une chaîne, et un peu plus.'
|
||||
<para>
|
||||
Une fonction peut définir des valeurs par défaut pour les paramètres en utilisant une syntaxe similaire
|
||||
à celle de l'affectation d'une variable. La valeur par défaut est utilisée uniquement lorsque l'argument du paramètre n'est
|
||||
pas passé. Notez que passer &null; ne <emphasis>définit pas</emphasis>
|
||||
pas passé. Il est à noter que passer &null; ne <emphasis>définit pas</emphasis>
|
||||
la valeur par défaut.
|
||||
</para>
|
||||
<para>
|
||||
@@ -399,7 +399,7 @@ Créer un beau café rien que pour vous.
|
||||
ni une variable, ni un membre de classe, ni un appel de fonction.
|
||||
</simpara>
|
||||
<para>
|
||||
Notez que tous les paramètres optionnels doivent être spécifiés après les
|
||||
Il est à noter que tous les paramètres optionnels doivent être spécifiés après les
|
||||
paramètres obligatoires, sinon ils ne peuvent pas être omis dans les appels.
|
||||
Considérons le code suivant :
|
||||
</para>
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
un moyen d'encapsuler des éléments. Cela peut être conçu comme un concept
|
||||
abstrait, pour plusieurs raisons. Par exemple, dans un système de fichiers, les
|
||||
dossiers représentent un groupe de fichiers associés et servent d'espace de noms
|
||||
pour les fichiers qu'ils contiennent. Un exemple concret est que le fichier
|
||||
<literal>foo.txt</literal> peut exister dans les deux dossiers
|
||||
<literal>/home/greg</literal> et <literal>/home/other</literal>, mais que
|
||||
pour les fichiers qu'ils contiennent. Un exemple concret est que le fichier
|
||||
<literal>foo.txt</literal> peut exister dans les deux dossiers
|
||||
<literal>/home/greg</literal> et <literal>/home/other</literal>, mais que
|
||||
les deux copies de <literal>foo.txt</literal> ne peuvent pas co-exister
|
||||
dans le même dossier. De plus, pour accéder au fichier <literal>foo.txt</literal>
|
||||
dans le même dossier. De plus, pour accéder au fichier <literal>foo.txt</literal>
|
||||
depuis l'extérieur du dossier <literal>/home/greg</literal>, il faut préciser
|
||||
le nom du dossier en utilisant un séparateur de dossier, tel que
|
||||
le nom du dossier en utilisant un séparateur de dossier, tel que
|
||||
<literal>/home/greg/foo.txt</literal>. Le même principe s'applique aux
|
||||
espaces de noms dans le monde de la programmation.
|
||||
</simpara>
|
||||
@@ -29,7 +29,7 @@
|
||||
<simpara>
|
||||
Dans le monde PHP, les espaces de noms sont conçus pour résoudre deux problèmes
|
||||
que rencontrent les auteurs de bibliothèques et d'applications lors de la réutilisation
|
||||
d'éléments tels que des classes ou des bibliothèques de fonctions :
|
||||
d'éléments tels que des classes ou des bibliothèques de fonctions :
|
||||
</simpara>
|
||||
<para>
|
||||
<orderedlist>
|
||||
@@ -50,7 +50,7 @@
|
||||
</para>
|
||||
<simpara>
|
||||
Les espaces de noms PHP fournissent un moyen pour regrouper des classes, interfaces,
|
||||
fonctions ou constantes. Voici un exemple de syntaxe des espaces de noms PHP :
|
||||
fonctions ou constantes. Voici un exemple de syntaxe des espaces de noms PHP :
|
||||
</simpara>
|
||||
<example>
|
||||
<title>Exemple de syntaxe des espaces de noms</title>
|
||||
@@ -85,7 +85,7 @@ echo constant($d); // Voyez "Espaces de noms et fonctionnalités dynamiques"
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
Les espaces de noms <literal>PHP</literal>, mais aussi les noms composés
|
||||
Les espaces de noms <literal>PHP</literal>, mais aussi les noms composés
|
||||
commençant par ces noms (comme <literal>PHP\Classes</literal>)
|
||||
sont réservés pour l'utilisation interne du langage, et ne doivent pas être utilisés
|
||||
dans le code de l'espace utilisateur.
|
||||
@@ -98,12 +98,12 @@ echo constant($d); // Voyez "Espaces de noms et fonctionnalités dynamiques"
|
||||
<?phpdoc print-version-for="namespaces"?>
|
||||
<para>
|
||||
Bien que du code PHP valide puisse être contenu dans un espace de noms,
|
||||
seuls les types de code suivants peuvent être affectés par les espaces de noms :
|
||||
seuls les types de code suivants peuvent être affectés par les espaces de noms :
|
||||
les classes (incluant les abstraites, les traits et les enums), les interfaces,
|
||||
les fonctions et les constantes.
|
||||
</para>
|
||||
<para>
|
||||
Les espaces de noms sont déclarés avec le mot-clé <literal>namespace</literal>.
|
||||
Les espaces de noms sont déclarés avec le mot-clé <literal>namespace</literal>.
|
||||
Un fichier contenant un espace de noms doit déclarer l'espace au début
|
||||
du fichier, avant tout autre code, avec une seule exception : le mot
|
||||
clé <xref linkend="control-structures.declare" />.
|
||||
@@ -133,7 +133,7 @@ function connecte() { /* ... */ }
|
||||
Le seul élément autorisé avant la déclaration d'espace de noms est la commande
|
||||
<literal>declare</literal>, pour définir l'encodage du fichier source. De plus,
|
||||
aucun code non-PHP ne peut précéder la déclaration d'espace de noms, y compris
|
||||
des espaces :
|
||||
des espaces :
|
||||
<example>
|
||||
<title>Erreur de déclaration d'un espace de noms</title>
|
||||
<programlisting role="php">
|
||||
@@ -147,7 +147,7 @@ namespace MonProjet; // erreur fatale : le namespace doit être le premier élé
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
De plus, contrairement à d'autres structures PHP, le même espace de noms peut
|
||||
De plus, contrairement à d'autres structures PHP, le même espace de noms peut
|
||||
être défini dans plusieurs fichiers, ce qui permet de scinder le contenu d'un
|
||||
espace de noms sur plusieurs fichiers.
|
||||
</para>
|
||||
@@ -159,7 +159,7 @@ namespace MonProjet; // erreur fatale : le namespace doit être le premier élé
|
||||
<para>
|
||||
Comme pour les fichiers et les dossiers, les espaces de noms sont aussi
|
||||
capables de spécifier une hiérarchie d'espaces de noms. Ainsi, un nom d'espace
|
||||
de noms peut être défini avec ses sous-niveaux :
|
||||
de noms peut être défini avec ses sous-niveaux :
|
||||
<example>
|
||||
<title>Déclaration d'un espace de noms avec hiérarchie</title>
|
||||
<programlisting role="php">
|
||||
@@ -211,8 +211,8 @@ function connecte() { /* ... */ }
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
Cette syntaxe n'est pas recommandée pour combiner des espaces de noms
|
||||
dans un seul fichier. Au lieu de cela, il est recommandé d'utiliser
|
||||
Cette syntaxe n'est pas recommandée pour combiner des espaces de noms
|
||||
dans un seul fichier. Au lieu de cela, il est recommandé d'utiliser
|
||||
la syntaxe à accolades.
|
||||
</para>
|
||||
<para>
|
||||
@@ -247,7 +247,7 @@ function connecte() { /* ... */ }
|
||||
<para>
|
||||
Pour combiner plusieurs codes sans espaces de noms dans du code avec espace de noms,
|
||||
seule la syntaxe à accolades est supportée. Le code global doit être encadré par un
|
||||
espace de noms sans nom, tel que celui-ci :
|
||||
espace de noms sans nom, tel que celui-ci :
|
||||
<example>
|
||||
<title>Déclaration de plusieurs espaces de noms avec un espace sans nom</title>
|
||||
<programlisting role="php">
|
||||
@@ -312,13 +312,13 @@ echo MonProjet\Connexion::start();
|
||||
<simpara>
|
||||
Un nom relatif de fichier, tel que <literal>foo.txt</literal>. Cela est résolu
|
||||
en <literal>dossiercourant/foo.txt</literal> où <literal>dossiercourant</literal> est le
|
||||
dossier de travail. Si le dossier courant est <literal>/home/foo</literal>,
|
||||
dossier de travail. Si le dossier courant est <literal>/home/foo</literal>,
|
||||
ce nom se résout en <literal>/home/foo/foo.txt</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Un chemin relatif, tel que <literal>sous-dossier/foo.txt</literal>. Cela se
|
||||
Un chemin relatif, tel que <literal>sous-dossier/foo.txt</literal>. Cela se
|
||||
résout en <literal>dossiercourant/sous-dossier/foo.txt</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -330,11 +330,11 @@ echo MonProjet\Connexion::start();
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
Le même principe peut être appliqué aux espaces de noms de PHP.
|
||||
Par exemple, on peut faire référence à une classe de trois manières :
|
||||
Par exemple, on peut faire référence à une classe de trois manières :
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Un nom sans qualificatif, ou une classe sans préfixe, telle que
|
||||
Un nom sans qualificatif, ou une classe sans préfixe, telle que
|
||||
<literal>$a = new foo();</literal> ou
|
||||
<literal>foo::methodestatique();</literal>. Si le namespace courant
|
||||
est <literal>espacedenomscourant</literal>, ceci se résout en
|
||||
@@ -352,10 +352,10 @@ echo MonProjet\Connexion::start();
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Un nom qualifié, ou une classe préfixée telle que
|
||||
Un nom qualifié, ou une classe préfixée telle que
|
||||
<literal>$a = new sousespacedenoms\foo();</literal> ou
|
||||
<literal>sousespacedenoms\foo::methodestatique();</literal>. Si le namespace courant
|
||||
est <literal>espacedenomscourant</literal>, cela devient
|
||||
est <literal>espacedenomscourant</literal>, cela devient
|
||||
<literal>espacedenomscourant\sousespacedenoms\foo</literal>. Si
|
||||
le code est global, c'est-à-dire le namespace sans nom,
|
||||
cela devient <literal>sousespacedenoms\foo</literal>.
|
||||
@@ -413,7 +413,7 @@ sousespacedenoms\foo(); // Devient la fonction Foo\Bar\sousespacedenoms\foo
|
||||
sousespacedenoms\foo::methodestatique(); // devient la classe Foo\Bar\sousespacedenoms\foo,
|
||||
// méthode methodestatique
|
||||
echo sousespacedenoms\FOO; // Devient la constante Foo\Bar\sousespacedenoms\FOO
|
||||
|
||||
|
||||
/* nom absolu */
|
||||
\Foo\Bar\foo(); // Devient la fonction Foo\Bar\foo
|
||||
\Foo\Bar\foo::methodestatique(); // Devient la classe Foo\Bar\foo, méthode methodestatique
|
||||
@@ -424,8 +424,8 @@ echo \Foo\Bar\FOO; // Devient la constante Foo\Bar\FOO
|
||||
</informalexample>
|
||||
</para>
|
||||
<para>
|
||||
Notez que pour accéder à n'importe quelle classe, fonction ou constante
|
||||
globale, un nom absolu peut être utilisé, tel que
|
||||
Il est à noter que pour accéder à n'importe quelle classe, fonction ou constante
|
||||
globale, un nom absolu peut être utilisé, tel que
|
||||
<function>\strlen</function> ou <classname>\Exception</classname> ou
|
||||
\<constant>INI_ALL</constant>.
|
||||
<example>
|
||||
@@ -455,7 +455,7 @@ $c = new \Exception('error'); // instantie la classe globale Exception
|
||||
<para>
|
||||
L'implémentation des espaces de noms de PHP est influencée par sa nature dynamique
|
||||
de langage de programmation. Par conséquent, pour convertir du code tel que le code
|
||||
de l'exemple suivant, en un espace de noms :
|
||||
de l'exemple suivant, en un espace de noms :
|
||||
<example>
|
||||
<title>Accès dynamique aux éléments</title>
|
||||
<simpara>example1.php:</simpara>
|
||||
@@ -534,7 +534,7 @@ echo constant('nomdelespacedenoms\constname'), "\n"; // affiche aussi namespaced
|
||||
<?phpdoc print-version-for="namespaces"?>
|
||||
<para>
|
||||
PHP supporte deux moyens pour accéder de manière abstraite aux éléments
|
||||
dans l'espace de noms courant, à savoir la constante magique
|
||||
dans l'espace de noms courant, à savoir la constante magique
|
||||
<constant>__NAMESPACE__</constant> et la commande <literal>namespace</literal>.
|
||||
</para>
|
||||
<para>
|
||||
@@ -584,7 +584,7 @@ function get($classname)
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
La commande <literal>namespace</literal> peut aussi être utilisée pour
|
||||
La commande <literal>namespace</literal> peut aussi être utilisée pour
|
||||
demander explicitement un élément du namespace courant, ou d'un
|
||||
sous-espace. C'est l'équivalent pour les espaces de noms de l'opérateur
|
||||
<literal>self</literal> des classes.
|
||||
@@ -632,7 +632,7 @@ $b = namespace\CONSTANT; // assigne la valeur de la constante CONSTANT à $b
|
||||
<titleabbrev>Importation et alias</titleabbrev>
|
||||
<para>
|
||||
La capacité de faire référence à un nom absolu avec un alias ou en important
|
||||
un espace de noms est stratégique. C'est un avantage similaire aux liens
|
||||
un espace de noms est stratégique. C'est un avantage similaire aux liens
|
||||
symboliques dans un système de fichiers.
|
||||
</para>
|
||||
<para>
|
||||
@@ -676,9 +676,9 @@ echo CONSTANT; // affiche la valeur de My\Full\CONSTANT
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
Notez que pour les noms avec chemin (les noms absolus contenant des
|
||||
Il est à noter que pour les noms avec chemin (les noms absolus contenant des
|
||||
séparateurs d'espaces, tels que <literal>Foo\Bar</literal>, par comparaison avec
|
||||
les noms globaux, tels que <literal>FooBar</literal>, qui n'en contiennent pas),
|
||||
les noms globaux, tels que <literal>FooBar</literal>, qui n'en contiennent pas),
|
||||
l'antislash initial n'est pas nécessaire et n'est pas recommandé, car les noms importés
|
||||
doivent être absolus et ne sont pas résolus relativement à le namespace courant.
|
||||
</para>
|
||||
@@ -717,7 +717,7 @@ $obj = new $a; // instantie un objet de la classe Another
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
De plus, l'importation n'affecte que les noms sans qualification. Les noms
|
||||
De plus, l'importation n'affecte que les noms sans qualification. Les noms
|
||||
absolus restent absolus, et inchangés par un import.
|
||||
<example>
|
||||
<title>Importation et noms d'espaces absolus</title>
|
||||
@@ -801,7 +801,7 @@ use const some\namespace\{ConstA, ConstB, ConstC};
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
</sect2>
|
||||
|
||||
|
||||
</sect1>
|
||||
<sect1 xml:id="language.namespaces.global">
|
||||
<title>Espace de noms global</title>
|
||||
@@ -810,7 +810,7 @@ use const some\namespace\{ConstA, ConstB, ConstC};
|
||||
<para>
|
||||
Sans aucune définition d'espace de noms, toutes les classes et les fonctions
|
||||
sont placées dans le namespace global : comme en PHP avant que les espaces
|
||||
de noms aient été introduits. En préfixant un nom avec un antislash
|
||||
de noms aient été introduits. En préfixant un nom avec un antislash
|
||||
<literal>\</literal>, on peut demander l'utilisation du namespace
|
||||
global, même dans un contexte d'espace de noms spécifique.
|
||||
<example>
|
||||
@@ -821,11 +821,11 @@ use const some\namespace\{ConstA, ConstB, ConstC};
|
||||
namespace A\B\C;
|
||||
|
||||
/* Cette fonction est A\B\C\fopen */
|
||||
function fopen() {
|
||||
function fopen() {
|
||||
/* ... */
|
||||
$f = \fopen(...); // appel à fopen global
|
||||
return $f;
|
||||
}
|
||||
}
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
@@ -840,8 +840,8 @@ function fopen() {
|
||||
Dans un espace de noms, lorsque PHP rencontre un nom sans qualification,
|
||||
que ce soit une classe, une fonction ou une constante, il le résout avec différentes
|
||||
priorités. Les noms de classes sont toujours résolus avec le namespace courant.
|
||||
Pour accéder à des classes internes ou à des classes qui ne sont pas dans
|
||||
un espace de noms, il faut les représenter avec leur nom absolu, tel que :
|
||||
Pour accéder à des classes internes ou à des classes qui ne sont pas dans
|
||||
un espace de noms, il faut les représenter avec leur nom absolu, tel que :
|
||||
<example>
|
||||
<title>Accès aux classes globales depuis un espace de noms</title>
|
||||
<programlisting role="php">
|
||||
@@ -903,7 +903,7 @@ if (is_array('hi')) { // affiche "n'est pas un tableau"
|
||||
<term>nom non qualifié</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Ceci est un identifiant ne contenant pas un séparateur d'espace de noms.
|
||||
Ceci est un identifiant ne contenant pas un séparateur d'espace de noms.
|
||||
Par exemple : <literal>Foo</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -912,7 +912,7 @@ if (is_array('hi')) { // affiche "n'est pas un tableau"
|
||||
<term>nom qualifié</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Ceci est un identifiant contenant un séparateur d'espace de noms.
|
||||
Ceci est un identifiant contenant un séparateur d'espace de noms.
|
||||
Par exemple : <literal>Foo\Bar</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -921,7 +921,7 @@ if (is_array('hi')) { // affiche "n'est pas un tableau"
|
||||
<term>Nom absolu</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Ceci est un identifiant qui commence par un séparateur d'espace de noms.
|
||||
Ceci est un identifiant qui commence par un séparateur d'espace de noms.
|
||||
Par exemple : <literal>\Foo\Bar</literal>. le namespace <literal>Foo</literal>
|
||||
est aussi un nom absolu.
|
||||
</para>
|
||||
@@ -939,7 +939,7 @@ if (is_array('hi')) { // affiche "n'est pas un tableau"
|
||||
</variablelist>
|
||||
</para>
|
||||
<para>
|
||||
Les noms sont résolus en suivant les règles suivantes :
|
||||
Les noms sont résolus en suivant les règles suivantes :
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<simpara>
|
||||
@@ -949,11 +949,11 @@ if (is_array('hi')) { // affiche "n'est pas un tableau"
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
Tous les noms qui ne sont pas absolus sont traduit avec
|
||||
le <literal>namespace</literal> remplacé par le namespace courant.
|
||||
Tous les noms qui ne sont pas absolus sont traduit avec
|
||||
le <literal>namespace</literal> remplacé par le namespace courant.
|
||||
Si le nom apparait dans le namespace global, le préfixe
|
||||
<literal>namespace\</literal> est retiré. Par exemple <literal>namespace\A</literal>
|
||||
dans le namespace <literal>X\Y</literal> se traduit par <literal>X\Y\A</literal>.
|
||||
dans le namespace <literal>X\Y</literal> se traduit par <literal>X\Y\A</literal>.
|
||||
Le même nom dans le namespace global se traduit par <literal>A</literal>.
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -988,7 +988,7 @@ if (is_array('hi')) { // affiche "n'est pas un tableau"
|
||||
<listitem>
|
||||
<simpara>
|
||||
Pour les noms relatifs, si aucune règle ne s'applique, et que le nom
|
||||
fait référence à une classe, le namespace courant sert de préfixe.
|
||||
fait référence à une classe, le namespace courant sert de préfixe.
|
||||
Par exemple <literal>new C()</literal> dans le namespace
|
||||
<literal>A\B</literal> correspond au nom <literal>A\B\C</literal>.
|
||||
</simpara>
|
||||
@@ -1119,7 +1119,7 @@ A\B::foo(); // appelle la méthode "foo" de la classe "B" de l'espace de noms
|
||||
<listitem>
|
||||
<simpara>
|
||||
<link linkend="language.namespaces.faq.full">
|
||||
Comment est-ce qu'un nom comme <literal>\mon\nom</literal> ou
|
||||
Comment est-ce qu'un nom comme <literal>\mon\nom</literal> ou
|
||||
<literal>\nom</literal> est résolu ?
|
||||
</link>
|
||||
</simpara>
|
||||
@@ -1162,19 +1162,19 @@ A\B::foo(); // appelle la méthode "foo" de la classe "B" de l'espace de noms
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<link linkend="language.namespaces.faq.quote">Les noms d'espaces de noms
|
||||
<link linkend="language.namespaces.faq.quote">Les noms d'espaces de noms
|
||||
dynamiques doivent protéger l'antislash</link>
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<link linkend="language.namespaces.faq.constants">Des constantes indéfinies
|
||||
<link linkend="language.namespaces.faq.constants">Des constantes indéfinies
|
||||
référencées avec un antislash produisent une erreur fatale</link>
|
||||
</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<simpara>
|
||||
<link linkend="language.namespaces.faq.builtinconst">Impossible de remplacer
|
||||
<link linkend="language.namespaces.faq.builtinconst">Impossible de remplacer
|
||||
des constantes spéciales comme &null;, &true; ou &false;</link>
|
||||
</simpara>
|
||||
</listitem>
|
||||
@@ -1240,8 +1240,8 @@ class MyException extends \Exception {}
|
||||
</sect2>
|
||||
<sect2 xml:id="language.namespaces.faq.innamespace">
|
||||
<title>
|
||||
Comment utiliser les classes d'espaces de noms, les fonctions ou
|
||||
les constantes dans leur propre espace ?
|
||||
Comment utiliser les classes d'espaces de noms, les fonctions ou
|
||||
les constantes dans leur propre espace ?
|
||||
</title>
|
||||
<para>
|
||||
<example>
|
||||
@@ -1275,13 +1275,13 @@ $b = \INI_ALL;
|
||||
</sect2>
|
||||
<sect2 xml:id="language.namespaces.faq.full">
|
||||
<title>
|
||||
Comment est-ce qu'un nom comme <literal>\mon\nom</literal> ou
|
||||
Comment est-ce qu'un nom comme <literal>\mon\nom</literal> ou
|
||||
<literal>\nom</literal> est résolu ?
|
||||
</title>
|
||||
<para>
|
||||
Les noms qui commencent par <literal>\</literal> sont toujours résolus en ce
|
||||
à quoi ils ressemblent, ce qui fait que <literal>\mon\nom</literal> est en fait
|
||||
<literal>mon\nom</literal>, et <literal>\Exception</literal> est
|
||||
<literal>mon\nom</literal>, et <literal>\Exception</literal> est
|
||||
<literal>Exception</literal>.
|
||||
<example>
|
||||
<title>Noms d'espaces absolus</title>
|
||||
@@ -1306,7 +1306,7 @@ $a = \INI_ALL; // $a reçoit la valeur de la constante "INI_ALL"
|
||||
différentes.
|
||||
</para>
|
||||
<para>
|
||||
S'il y a eu une commande d'importation qui fait un alias de
|
||||
S'il y a eu une commande d'importation qui fait un alias de
|
||||
<literal>mon</literal>, alors l'alias importé est appliqué à la place
|
||||
de <literal>mon</literal>, et l'espace de noms devient <literal>mon\nom</literal>.
|
||||
</para>
|
||||
@@ -1337,11 +1337,11 @@ $a = mon\BAR; // affecte à $a la valeur de la constante "foo\mon\BAR"
|
||||
<title>Comment un nom de classe
|
||||
sans qualification, tel que <literal>nom</literal>, est résolu ?</title>
|
||||
<para>
|
||||
Les noms de classes qui ne contiennent pas d'antislash comme
|
||||
Les noms de classes qui ne contiennent pas d'antislash comme
|
||||
<literal>nom</literal> peuvent être résolus de deux manières différentes.
|
||||
</para>
|
||||
<para>
|
||||
S'il y a une instruction d'importation qui définit un alias pour <literal>nom</literal>,
|
||||
S'il y a une instruction d'importation qui définit un alias pour <literal>nom</literal>,
|
||||
alors l'alias est appliqué.
|
||||
</para>
|
||||
<para>
|
||||
@@ -1367,19 +1367,19 @@ foo::nom(); // appelle la méthode statique "nom" dans la classe "blah\blah"
|
||||
</sect2>
|
||||
<sect2 xml:id="language.namespaces.faq.shortname2">
|
||||
<title>
|
||||
Comment une fonction sans qualification ou une constante
|
||||
Comment une fonction sans qualification ou une constante
|
||||
de nom <literal>nom</literal> est résolue ?
|
||||
</title>
|
||||
<para>
|
||||
Les fonctions et constantes qui n'ont pas d'antislash dans leur nom
|
||||
comme <literal>nom</literal> sont résolues de deux manières différentes :
|
||||
comme <literal>nom</literal> sont résolues de deux manières différentes :
|
||||
</para>
|
||||
<para>
|
||||
D'abord, l'espace de noms courant est préfixé à <literal>nom</literal>.
|
||||
</para>
|
||||
<para>
|
||||
Ensuite, si la constante ou la fonction <literal>nom</literal> n'existe pas
|
||||
dans l'espace de noms courant, la version globale de la constante ou la
|
||||
dans l'espace de noms courant, la version globale de la constante ou la
|
||||
fonction <literal>nom</literal> est utilisée.
|
||||
</para>
|
||||
<para>
|
||||
@@ -1420,7 +1420,7 @@ $b = INI_ALL; // assigne à $b la valeur de la constante "INI_ALL"
|
||||
<title>Les noms importés ne doivent
|
||||
pas entrer en conflit avec les classes définies dans le même fichier</title>
|
||||
<para>
|
||||
La combinaison de scripts suivante est valide :
|
||||
La combinaison de scripts suivante est valide :
|
||||
<informalexample>
|
||||
<simpara>file1.php</simpara>
|
||||
<programlisting role="php">
|
||||
@@ -1457,7 +1457,7 @@ $a = new MaClasse; // instantie la classe "untruc" de l'espace de noms another
|
||||
</para>
|
||||
<para>
|
||||
Il n'y a pas de conflit de noms, même si la classe <literal>MaClasse</literal> existe
|
||||
dans l'espace de noms <literal>mes\trucs</literal>, car la définition de
|
||||
dans l'espace de noms <literal>mes\trucs</literal>, car la définition de
|
||||
<literal>MaClasse</literal> est dans un fichier séparé. Cependant, l'exemple
|
||||
suivant produit une erreur fatale à cause d'un conflit de noms, car
|
||||
<literal>MaClasse</literal> est définie dans le même fichier que l'instruction
|
||||
@@ -1494,7 +1494,7 @@ namespace mes\trucs {
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
Cependant, il est facile de simuler des espaces de noms imbriqués,
|
||||
comme ceci :
|
||||
comme ceci :
|
||||
<informalexample>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
@@ -1513,9 +1513,9 @@ namespace mes\trucs\nested {
|
||||
<title>Les noms d'espaces de noms dynamiques doivent protéger l'antislash</title>
|
||||
<para>
|
||||
Il est très important de réaliser que, comme les antislash sont utilisés comme
|
||||
caractères de protection dans les chaînes, il faut toujours les doubler
|
||||
caractères de protection dans les chaînes, il faut toujours les doubler
|
||||
pour pouvoir les utiliser dans une chaîne. Sinon, il y a un risque d'utilisation
|
||||
inattendue :
|
||||
inattendue :
|
||||
<example>
|
||||
<title>Dangers de l'utilisation des espaces de noms dans une chaîne</title>
|
||||
<programlisting role="php">
|
||||
@@ -1538,10 +1538,10 @@ $obj = new $a;
|
||||
<sect2 xml:id="language.namespaces.faq.constants">
|
||||
<title>Des constantes indéfinies référencées avec un antislash produisent une erreur fatale</title>
|
||||
<para>
|
||||
Toute constante indéfinie qui est sans qualificatif telle que
|
||||
<literal>FOO</literal> va produite une alerte : PHP supposait que
|
||||
Toute constante indéfinie qui est sans qualificatif telle que
|
||||
<literal>FOO</literal> va produite une alerte : PHP supposait que
|
||||
<literal>FOO</literal> était la valeur de la constante. Toute constante,
|
||||
qualifiée partiellement ou totalement, qui contient un antislash,
|
||||
qualifiée partiellement ou totalement, qui contient un antislash,
|
||||
produite une erreur fatale si indéfinie.
|
||||
<example>
|
||||
<title>Constantes indéfinies</title>
|
||||
|
||||
@@ -36,8 +36,8 @@ $util->setLogger(new class {
|
||||
</informalexample>
|
||||
|
||||
<para>
|
||||
On peut leur passer des arguments via le constructeur, elles peuvent étendre
|
||||
d'autres classes, implémenter des interfaces ou utiliser des traits comme
|
||||
On peut leur passer des arguments via le constructeur, elles peuvent étendre
|
||||
d'autres classes, implémenter des interfaces ou utiliser des traits comme
|
||||
avec une classe normale.
|
||||
</para>
|
||||
|
||||
@@ -74,11 +74,11 @@ object(class@anonymous)#1 (1) {
|
||||
</informalexample>
|
||||
|
||||
<para>
|
||||
Imbriquer une classe anonyme à l'intérieur d'une autre classe ne donne pas
|
||||
accès aux méthodes ou propriétés privées ou protégées de la classe contenante.
|
||||
Afin d'utiliser des méthodes ou propriétés protégées de la classe contenante,
|
||||
la classe anonyme doit étendre celle-ci. Pour utiliser les propriétés privées
|
||||
de la classe contenant dans la classe anonyme, celles-ci doivent
|
||||
Imbriquer une classe anonyme à l'intérieur d'une autre classe ne donne pas
|
||||
accès aux méthodes ou propriétés privées ou protégées de la classe contenante.
|
||||
Afin d'utiliser des méthodes ou propriétés protégées de la classe contenante,
|
||||
la classe anonyme doit étendre celle-ci. Pour utiliser les propriétés privées
|
||||
de la classe contenant dans la classe anonyme, celles-ci doivent
|
||||
être passées via le constructeur.
|
||||
</para>
|
||||
|
||||
@@ -127,7 +127,7 @@ echo (new Outer)->func2()->func3();
|
||||
</informalexample>
|
||||
|
||||
<para>
|
||||
Tous les objets créés par la même déclaration de classe anonyme sont des
|
||||
Tous les objets créés par la même déclaration de classe anonyme sont des
|
||||
instances de cette même classe.
|
||||
</para>
|
||||
|
||||
@@ -156,8 +156,8 @@ same class
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Notez que les classes anonymes sont affectées d'un nom par le moteur, comme
|
||||
l'illustre l'exemple suivant. Ce nom doit être considéré comme un détail
|
||||
Il est à noter que les classes anonymes sont affectées d'un nom par le moteur, comme
|
||||
l'illustre l'exemple suivant. Ce nom doit être considéré comme un détail
|
||||
de mise en œuvre, qui ne doit pas être invoqué.
|
||||
</para>
|
||||
<informalexample>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<literal>parent</literal> et <literal>static</literal>).
|
||||
</para>
|
||||
<para>
|
||||
Notez que les constantes de classe sont allouées une fois par classe, et non
|
||||
Il est à noter que les constantes de classe sont allouées une fois par classe, et non
|
||||
pour chaque instance de classe.
|
||||
</para>
|
||||
<para>
|
||||
@@ -83,7 +83,7 @@ namespace foo {
|
||||
?>
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
</example>
|
||||
|
||||
<example>
|
||||
<title>Exemple d'expressions pour une constante de classe</title>
|
||||
@@ -100,7 +100,7 @@ class foo {
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
|
||||
<example>
|
||||
<title>Modificateur de visibilité des constantes de classe, à partir de PHP 7.1</title>
|
||||
<programlisting role="php">
|
||||
|
||||
@@ -124,7 +124,7 @@ $bar->printPHP(); // Affiche : 'PHP est super'
|
||||
À partir de PHP 8.1.0, la plupart des méthodes internes ont commencé à déclarer "provisoirement"
|
||||
leur type de retour, dans ce cas, le type de retour des méthodes doit être compatible avec la classe
|
||||
parent; Dans le cas contraire, une notification de dépréciation est émise.
|
||||
Notez que l'absence d'une déclaration de retour explicite est également considérée comme une
|
||||
Il est à noter que l'absence d'une déclaration de retour explicite est également considérée comme une
|
||||
erreur de signature, et entraîne donc l'avis de dépréciation.
|
||||
</para>
|
||||
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
<para>
|
||||
Afin de pouvoir désérialiser (<function>unserialize</function>) un objet,
|
||||
la classe de l'objet doit être définie, pour permettre sa reconstruction.
|
||||
En d'autres termes, si vous avez un objet de la classe A et le sérialisez,
|
||||
En d'autres termes, pour un objet de la classe A qui est sérialisé,
|
||||
la représentation linéaire obtenue fera référence à la classe A et contiendra toutes
|
||||
ses variables. Si vous voulez pouvoir désérialiser cette représentation linéaire dans un
|
||||
ses variables. Pour pouvoir désérialiser cette représentation linéaire dans un
|
||||
endroit où la classe A n'est pas définie (dans un autre fichier par exemple),
|
||||
alors vous devrez redéclarer la classe A avant de procéder à la désérialisation
|
||||
il faut redéclarer la classe A avant de procéder à la désérialisation
|
||||
de sa représentation linéaire. Cela peut-être fait, par exemple, en incluant le
|
||||
fichier de définition de la classe, ou en utilisant la fonction
|
||||
<function>spl_autoload_register</function>.
|
||||
@@ -80,16 +80,16 @@
|
||||
|
||||
<para>
|
||||
Ainsi, dans l'exemple ci-dessus, si <varname>$a</varname> était enregistré dans la session
|
||||
en ajoutant une clé à la variable super-globale <varname>$_SESSION</varname>, vous devriez inclure le fichier
|
||||
<literal>A.php</literal> dans toutes vos pages, et pas seulement dans
|
||||
en ajoutant une clé à la variable super-globale <varname>$_SESSION</varname>, il est recommandé d'inclure le fichier
|
||||
<literal>A.php</literal> dans toutes les pages, et pas seulement dans
|
||||
<filename>page1.php</filename> et <filename>page2.php</filename>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Notez que vous pouvez également utiliser les événements de sérialisation et de désérialisation
|
||||
Il est à noter qu'il est également possible d'utiliser les événements de sérialisation et de désérialisation
|
||||
sur un objet en utilisant les méthodes <link linkend="object.sleep">__sleep()</link> et
|
||||
<link linkend="object.wakeup">__wakeup()</link>. L'utilisation de
|
||||
<link linkend="object.sleep">__sleep()</link> vous permet également de seulement sérialiser
|
||||
<link linkend="object.sleep">__sleep()</link> permet également de seulement sérialiser
|
||||
une partie des propriétés de l'objet.
|
||||
</para>
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
<link linkend="language.variables.scope.static">définir des variables statiques</link>,
|
||||
<link linkend="functions.anonymous-functions.static">définir des fonctions anonymes statiques</link>
|
||||
et pour <link linkend="language.oop5.late-static-bindings">des Résolutions statiques à la volée</link>.
|
||||
Reportez-vous à ces pages pour plus d'informations sur la signification de
|
||||
Se reporter à ces pages pour plus d'informations sur la signification de
|
||||
<literal>static</literal>.
|
||||
</simpara>
|
||||
</tip>
|
||||
|
||||
<para>
|
||||
Le fait de déclarer des propriétés ou des méthodes comme statiques vous
|
||||
Le fait de déclarer des propriétés ou des méthodes comme statiques
|
||||
permet d'y accéder sans avoir besoin d'instancier la classe.
|
||||
Celles-ci peuvent alors être accédées statiquement depuis une instance d'objet.
|
||||
</para>
|
||||
|
||||
@@ -200,7 +200,7 @@ Hello World!
|
||||
<para>
|
||||
Puisque ce principe ne permet que d'exclure des méthodes,
|
||||
l'opérateur <literal>as</literal> peut être utilisé pour permettre
|
||||
l'inclusion d'une des méthodes conflictuelles sous un autre nom. Notez que
|
||||
l'inclusion d'une des méthodes conflictuelles sous un autre nom. Il est à noter que
|
||||
l'opérateur <literal>as</literal> ne renomme pas la méthode et n'affecte pas
|
||||
d'autres méthodes non plus.
|
||||
</para>
|
||||
@@ -261,7 +261,7 @@ class Aliased_Talker {
|
||||
<sect2 xml:id="language.oop5.traits.visibility">
|
||||
<title>Changer la visibilité des méthodes</title>
|
||||
<para>
|
||||
En utilisant la syntaxe <literal>as</literal>, vous pouvez aussi ajuster
|
||||
En utilisant la syntaxe <literal>as</literal>, il est aussi possible d'ajuster
|
||||
la visibilité de la méthode dans la classe qui l'utilise.
|
||||
</para>
|
||||
<example xml:id="language.oop5.traits.visibility.ex1">
|
||||
|
||||
@@ -411,7 +411,7 @@ if (empty($_POST['action'])) {
|
||||
</para>
|
||||
<note>
|
||||
<simpara>
|
||||
Notez que l'opérateur ternaire est une expression, et il n'est pas
|
||||
Il est à noter que l'opérateur ternaire est une expression, et il n'est pas
|
||||
évalué en tant que variable, mais en tant que résultat de l'expression.
|
||||
Il est important de le savoir pour retourner une variable
|
||||
par référence. L'instruction
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
&reftitle.description;
|
||||
<para>
|
||||
Un tableau associatif des valeurs passées au script courant via
|
||||
les paramètres d'URL (aussi connu sous le nom de "query string"). Notez que ce tableau
|
||||
les paramètres d'URL (aussi connu sous le nom de "query string"). Il est à noter que ce tableau
|
||||
est rempli chaque fois qu'une query string est présente, peu importe la
|
||||
méthode de requête HTTP.
|
||||
</para>
|
||||
|
||||
@@ -546,7 +546,7 @@ array_push(collector(), 'foo');
|
||||
</para>
|
||||
<note>
|
||||
<simpara>
|
||||
Notez que <literal>array_push(&collector(), 'foo');</literal>
|
||||
Il est à noter que <literal>array_push(&collector(), 'foo');</literal>
|
||||
<emphasis>ne fonctionnera pas</emphasis>, et résultera en une erreur
|
||||
fatale.
|
||||
</simpara>
|
||||
|
||||
@@ -550,7 +550,7 @@ var_dump($arr);
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Notez que la clé entière maximale pour cette opération <emphasis>n'a
|
||||
Il est à noter que la clé entière maximale pour cette opération <emphasis>n'a
|
||||
pas besoin d'exister dans le tableau au moment de la manipulation</emphasis>.
|
||||
Elle doit seulement avoir existé dans le tableau à un moment ou un autre
|
||||
depuis la dernière fois où le tableau a été ré-indexé.
|
||||
|
||||
@@ -187,7 +187,7 @@ print implode(' ', $new_numbers);
|
||||
|
||||
<note>
|
||||
<simpara>
|
||||
Depuis PHP 8.2.0, les callables dépendants du contexte
|
||||
À partir de PHP 8.2.0, les callables dépendants du contexte
|
||||
sont dépréciés. Supprimez la dépendance au contexte en remplaçant
|
||||
<literal>'parent::method'</literal> par
|
||||
<literal>parent::class . '::method'</literal> ou utilisez la
|
||||
|
||||
@@ -48,7 +48,7 @@ $bar->do_foo();
|
||||
une nouvelle instance de la classe interne <classname>stdClass</classname>
|
||||
sera créée. Si la valeur est &null;, la nouvelle instance sera vide.
|
||||
Un <type>array</type> se convertit en <type>object</type> avec les propriétés
|
||||
nommées au regard des clés avec leurs valeurs correspondantes. Notez que
|
||||
nommées au regard des clés avec leurs valeurs correspondantes. Il est à noter que
|
||||
dans ce cas, avant PHP 7.2.0 les clés numériques ont été inaccessibles à
|
||||
moins d'être itérées.
|
||||
</para>
|
||||
@@ -70,7 +70,7 @@ var_dump(key($obj)); // affiche 'string(1) "1"'
|
||||
|
||||
<para>
|
||||
Pour n'importe quel autre type, un membre appelé <literal>scalar</literal>
|
||||
contiendra la valeur.
|
||||
contiendra la valeur.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
<para>
|
||||
Les types singleton sont ceux qui n'acceptent qu'une seule valeur.
|
||||
PHP prend en charge deux types singleton :
|
||||
<type>false</type> depuis PHP 8.0.0 et <type>true</type>
|
||||
depuis PHP 8.2.0.
|
||||
<type>false</type> à partir de PHP 8.0.0 et <type>true</type>
|
||||
à partir de PHP 8.2.0.
|
||||
</para>
|
||||
|
||||
<warning>
|
||||
|
||||
@@ -851,7 +851,7 @@ Valeur de l'objet : chaîne.
|
||||
</note>
|
||||
|
||||
<simpara>
|
||||
Depuis PHP 7.1.0, les indices numériques <emphasis>négatifs</emphasis> sont également
|
||||
À partir de PHP 7.1.0, les indices numériques <emphasis>négatifs</emphasis> sont également
|
||||
supportés.
|
||||
</simpara>
|
||||
|
||||
@@ -987,7 +987,7 @@ echo "C:\\directory\\{$great}.txt";
|
||||
|
||||
<note>
|
||||
<simpara>
|
||||
Depuis PHP 7.1.0, les offsets de chaîne négatifs sont également supportés. Ceux-ci spécifient
|
||||
À partir de PHP 7.1.0, les offsets de chaîne négatifs sont également supportés. Ceux-ci spécifient
|
||||
l'offset à partir de la fin de la chaîne.
|
||||
Auparavant, les offsets négatifs émettaient <constant>E_NOTICE</constant> pour la lecture
|
||||
(produisant une chaîne vide) et <constant>E_WARNING</constant> pour l'écriture
|
||||
@@ -999,7 +999,7 @@ echo "C:\\directory\\{$great}.txt";
|
||||
<simpara>
|
||||
Avant PHP 8.0.0, les <type>chaînes</type> pouvaient également être accédées en utilisant des accolades, comme dans
|
||||
<varname>$str{42}</varname>, pour le même objectif.
|
||||
Cette syntaxe des accolades a été dépréciée depuis PHP 7.4.0 et n'est plus prise en charge depuis PHP 8.0.0.
|
||||
Cette syntaxe des accolades a été dépréciée à partir de PHP 7.4.0 et n'est plus prise en charge à partir de PHP 8.0.0.
|
||||
</simpara>
|
||||
</note>
|
||||
|
||||
@@ -1009,7 +1009,7 @@ echo "C:\\directory\\{$great}.txt";
|
||||
Les types non entiers sont convertis en entier.
|
||||
Un type d'offset illégal émet <constant>E_WARNING</constant>.
|
||||
Seul le premier caractère d'une chaîne assignée est utilisé.
|
||||
Depuis PHP 7.1.0, assigner une chaîne vide génère une erreur fatale. Auparavant,
|
||||
À partir de PHP 7.1.0, assigner une chaîne vide génère une erreur fatale. Auparavant,
|
||||
cela assignait un octet NULL.
|
||||
</simpara>
|
||||
</warning>
|
||||
@@ -1024,7 +1024,7 @@ echo "C:\\directory\\{$great}.txt";
|
||||
|
||||
<note>
|
||||
<simpara>
|
||||
Depuis PHP 7.1.0, appliquer l'opérateur d'index vide sur une chaîne vide génère une erreur fatale.
|
||||
À partir de PHP 7.1.0, appliquer l'opérateur d'index vide sur une chaîne vide génère une erreur fatale.
|
||||
Auparavant, la chaîne vide était silencieusement convertie en tableau.
|
||||
</simpara>
|
||||
</note>
|
||||
|
||||
@@ -516,7 +516,7 @@ function test()
|
||||
|
||||
<para>
|
||||
Avant PHP 8.3.0, une variable statique ne pouvait être initialisée qu'en utilisant
|
||||
une expression constante. Depuis PHP 8.3.0, les expressions dynamiques
|
||||
une expression constante. À partir de PHP 8.3.0, les expressions dynamiques
|
||||
(par exemple, les appels de fonction) sont également autorisées :
|
||||
</para>
|
||||
<para>
|
||||
@@ -877,7 +877,7 @@ echo $foo->{$arr}[1] . "\n";
|
||||
|
||||
<warning>
|
||||
<simpara>
|
||||
Notez que les variables dynamiques ne peuvent pas être utilisées
|
||||
Il est à noter que les variables dynamiques ne peuvent pas être utilisées
|
||||
avec les
|
||||
<link linkend="language.variables.superglobals">tableaux Superglobaux</link> dans
|
||||
une fonction ou une classe. La variable <literal>$this</literal> est aussi
|
||||
@@ -1051,7 +1051,7 @@ if ($_POST) {
|
||||
|
||||
<note>
|
||||
<simpara>
|
||||
Depuis PHP 7.2.34, 7.3.23 et 7.4.11, respectivement, les
|
||||
À partir de PHP 7.2.34, 7.3.23 et 7.4.11, respectivement, les
|
||||
<emphasis>noms</emphasis> des cookies entrants ne sont plus
|
||||
url-décodés, et ce, pour des raisons de sécurité.
|
||||
</simpara>
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
privilégié. La raison pour laquelle il y a 2 options est le souhait
|
||||
de pouvoir couvrir la possibilité de supporter les archives avec
|
||||
différents mots de passe pour les en-têtes et les fichiers.
|
||||
Notez que si l'en-tête de l'archive n'est pas chiffré, l'option
|
||||
Il est à noter que si l'en-tête de l'archive n'est pas chiffré, l'option
|
||||
<literal>open_password</literal> sera ignorée et cette option
|
||||
doit être utilisée à la place.
|
||||
</entry>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
est empruntée aux langages C, Java et Perl, et est facile
|
||||
à apprendre. Le but principal de ce langage est de permettre aux
|
||||
développeurs web d'écrire des pages générées dynamiquement
|
||||
rapidement, mais vous pouvez faire beaucoup plus avec PHP.
|
||||
rapidement, mais il est possible de faire beaucoup plus avec PHP.
|
||||
</simpara>
|
||||
</abstract>
|
||||
</info>
|
||||
@@ -39,12 +39,12 @@
|
||||
page "Documentation" du site web PHP</link>.
|
||||
</simpara>
|
||||
<para>
|
||||
Vous pouvez télécharger ce manuel sous divers formats,
|
||||
Il est possible de télécharger ce manuel sous divers formats,
|
||||
sur <link xlink:href="&url.php.doc.downloads;">&url.php.doc.downloads;</link>.
|
||||
Plus d'informations sur le développement de ce manuel sont disponibles dans l'appendice
|
||||
<link linkend="about">À propos du manuel</link>. Si vous vous intéressez à
|
||||
<link linkend="about">À propos du manuel</link>. Pour en savoir plus sur
|
||||
<link linkend="history">l'histoire de PHP</link>,
|
||||
consultez l'appendice correspondant.
|
||||
consulter l'appendice correspondant.
|
||||
</para>
|
||||
&contributors;
|
||||
</preface>
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
Considérer que les entrées de cache sans TTL explicite sont expirées si elles
|
||||
n'ont pas été consultées depuis autant de secondes. En effet, cela permet à ces
|
||||
entrées d'être opportunément supprimées lors d'une insertion dans le cache,
|
||||
ou avant une suppression complète. Notez que parce que la suppression est
|
||||
ou avant une suppression complète. Il est à noter que parce que la suppression est
|
||||
opportuniste, les entrées peuvent toujours être lisibles même si elles sont
|
||||
plus anciennes que <literal>apc.ttl</literal> secondes. Ce paramètre n'a aucun
|
||||
effet sur les entrées de cache pour lesquelles un TTL explicite est spécifié.
|
||||
|
||||
@@ -172,7 +172,7 @@ Array
|
||||
</example>
|
||||
</para>
|
||||
<para>
|
||||
Notez que l'indice <literal>-1</literal> n'est pas présent antérieurement à PHP 8.0.0.
|
||||
Il est à noter que l'indice <literal>-1</literal> n'est pas présent antérieurement à PHP 8.0.0.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<para>
|
||||
<function>array_intersect_uassoc</function> retourne un tableau
|
||||
contenant toutes les valeurs du tableau <parameter>array</parameter>
|
||||
qui sont présentes dans tous les arguments. Notez que les clés sont utilisées
|
||||
qui sont présentes dans tous les arguments. Il est à noter que les clés sont utilisées
|
||||
dans la comparaison par opposition à la fonction <function>array_intersect</function>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<function>array_intersect</function> retourne un tableau
|
||||
contenant toutes les valeurs de <parameter>array</parameter>
|
||||
qui sont présentes dans tous les autres arguments.
|
||||
Notez que les clés sont préservées.
|
||||
Il est à noter que les clés sont préservées.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
compare les données en utilisant une fonction de rappel.
|
||||
</para>
|
||||
<para>
|
||||
Notez que les clés sont utilisées dans la comparaison
|
||||
Il est à noter que les clés sont utilisées dans la comparaison
|
||||
par opposition à la fonction <function>array_uintersect</function>.
|
||||
Les données sont comparées en utilisant une fonction de rappel.
|
||||
</para>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
et supprime tous les doublons.
|
||||
</para>
|
||||
<para>
|
||||
Notez que les clés sont préservées. Si plusieurs éléments comparés
|
||||
Il est à noter que les clés sont préservées. Si plusieurs éléments comparés
|
||||
sont égaux sous le <parameter>flags</parameter> donné, alors la clé
|
||||
et la valeur du premier élément égal seront conservées.
|
||||
</para>
|
||||
@@ -177,7 +177,7 @@ array(2) {
|
||||
&reftitle.notes;
|
||||
<note>
|
||||
<simpara>
|
||||
Notez que <function>array_unique</function> ne fonctionne pas
|
||||
Il est à noter que <function>array_unique</function> ne fonctionne pas
|
||||
avec des tableaux multidimensionnels.
|
||||
</simpara>
|
||||
</note>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<para>
|
||||
<function>array_unshift</function> ajoute les éléments <parameter>value1</parameter>,
|
||||
<parameter>...</parameter>, passés
|
||||
en argument au début du tableau <parameter>array</parameter>. Notez que
|
||||
en argument au début du tableau <parameter>array</parameter>. Il est à noter que
|
||||
les éléments sont ajoutés comme un tout, et qu'ils restent
|
||||
dans le même ordre. Toutes les clés numériques seront modifiées afin
|
||||
de commencer à partir de zéro, tandis que les clés littérales ne seront
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<note>
|
||||
<simpara>
|
||||
Passer explicitement &null; dans <parameter>object</parameter> n'est
|
||||
plus autorisé depuis PHP 7.2.0 et émet une <constant>E_WARNING</constant>.
|
||||
plus autorisé à partir de PHP 7.2.0 et émet une <constant>E_WARNING</constant>.
|
||||
À partir de PHP 8.0.0, une <classname>TypeError</classname> est émise
|
||||
quand &null; est utilisé.
|
||||
</simpara>
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
<formalpara>
|
||||
<title>Contraintes de chemins</title>
|
||||
<para>
|
||||
CQL peut être instruit de créer une boucle pour voyager à un nœud d'un type particulier, à un chemin particulier. Par exemple, <literal>/firstChild(BlockQuote)</literal> voyagera au premier nœud enfant où le type est <literal>BlockQuote</literal>. Notez que comme d'autres boucles pour <literal>children</literal> et <literal>siblings</literal>, ce type de chemin ne peut être suivi que par une sous-requête.
|
||||
CQL peut être instruit de créer une boucle pour voyager à un nœud d'un type particulier, à un chemin particulier. Par exemple, <literal>/firstChild(BlockQuote)</literal> voyagera au premier nœud enfant où le type est <literal>BlockQuote</literal>. Il est à noter que comme d'autres boucles pour <literal>children</literal> et <literal>siblings</literal>, ce type de chemin ne peut être suivi que par une sous-requête.
|
||||
</para>
|
||||
</formalpara>
|
||||
<formalpara>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Effectue un ET sur les bits, selon la table de vérité suivante ;
|
||||
notez que cela est différent du ET normal.
|
||||
il est à noter que cela est différent du ET normal.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Effectue une opération sur les bits de types OR, selon la table de vérité
|
||||
suivante. Notez que ceci est différent de l'expression OR normale.
|
||||
suivante. Il est à noter que ceci est différent de l'expression OR normale.
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<varlistentry>
|
||||
<term><parameter>type</parameter></term>
|
||||
<listitem><simpara>Type du tableau récupéré : CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH.
|
||||
Si il est nécessaire d'utiliser un objet LOB, il est possible d'utiliser CUBRID_LOB.
|
||||
S'il est nécessaire d'utiliser un objet LOB, il est possible d'utiliser CUBRID_LOB.
|
||||
</simpara></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<simpara>
|
||||
La fonction <function>cubrid_lob2_write</function> lit les données
|
||||
depuis le paramètre <parameter>buf</parameter> et les stocke dans l'objet LOB.
|
||||
Notez que cette fonction ne peut ajouter actuellement que des caractères.
|
||||
Il est à noter que cette fonction ne peut ajouter actuellement que des caractères.
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
&return.falseproblem;
|
||||
<note>
|
||||
<para>
|
||||
Notez que les codes de statut d'une réponse qui indiquent des erreurs (tels que
|
||||
Il est à noter que les codes de statut d'une réponse qui indiquent des erreurs (tels que
|
||||
<literal>404 Not found</literal>) ne sont pas considérés comme des échecs.
|
||||
<function>curl_getinfo</function> peut être utilisé pour vérifier ces cas.
|
||||
</para>
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
<row>
|
||||
<entry><literal>u</literal></entry>
|
||||
<entry>
|
||||
Microsecondes. Notez que la fonction
|
||||
Microsecondes. Il est à noter que la fonction
|
||||
<function>date</function> générera toujours
|
||||
<literal>000000</literal> vu qu'elle prend un paramètre de type
|
||||
entier, alors que la méthode <methodname>DateTimeInterface::format</methodname>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<simpara>
|
||||
La clé de l'entrée à insérer. Si cette clé existe déjà dans la base de données,
|
||||
cette fonction échouera. Utilisez la fonction <function>dba_replace</function>
|
||||
si il faut remplacer une clé existante.
|
||||
s'il faut remplacer une clé existante.
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
<row>
|
||||
<entry><literal>lmdb</literal></entry>
|
||||
<entry>
|
||||
Disponible depuis PHP 7.2.0. La bibliothèque Lightning
|
||||
Disponible à partir de PHP 7.2.0. La bibliothèque Lightning
|
||||
Memory-Mapped Database peut être téléchargée depuis
|
||||
<link xlink:href="&url.lmdb;"/>.
|
||||
</entry>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<parameter>dbase_identifier</parameter> (effacement définitif
|
||||
de tous les enregistrements marqués pour l'effacement
|
||||
à l'aide de la fonction <function>dbase_delete_record</function>).
|
||||
Notez que le fichier sera tronquer après une compactation réussie
|
||||
Il est à noter que le fichier sera tronquer après une compactation réussie
|
||||
(contrairement à la commande PACK de dBASE III).
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<para>La valeur de l'attribut.</para>
|
||||
<note>
|
||||
<para>
|
||||
Notez que les entités XML sont étendues lorsqu'une valeur est définie.
|
||||
Il est à noter que les entités XML sont étendues lorsqu'une valeur est définie.
|
||||
Ainsi, le caractère <literal>&</literal> a une signification spéciale.
|
||||
Définir <varname>value</varname> à lui-même échouera lorsque <varname>value</varname> contient un <literal>&</literal>.
|
||||
Pour éviter l'expansion des entités, utilisez plutôt <methodname>DOMElement::setAttribute</methodname>.
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
</para>
|
||||
<para>
|
||||
La valeur est utilisée textuellement à l'exception des références d'entités
|
||||
< et > qui seront échappées. Notez que & doit être échappé manuellement ;
|
||||
< et > qui seront échappées. Il est à noter que & doit être échappé manuellement ;
|
||||
sinon ceci est considéré comme le début d'une référence d'entité. De plus " ne
|
||||
sera pas échappé.
|
||||
</para>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<methodparam><type>string</type><parameter>qualifiedName</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Retourne le nœud d'attribut avec le nom
|
||||
Retourne le nœud d'attribut avec le nom
|
||||
<parameter>qualifiedName</parameter> pour l'élément courant.
|
||||
</para>
|
||||
</refsect1>
|
||||
@@ -36,8 +36,8 @@
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Le nœud d'attribut. Notez que pour la déclaration de namespace XML
|
||||
(les attributs <literal>xmlns</literal> et <literal>xmlns:*</literal>)
|
||||
Le nœud d'attribut. Il est à noter que pour la déclaration de namespace XML
|
||||
(les attributs <literal>xmlns</literal> et <literal>xmlns:*</literal>)
|
||||
une instance de <classname>DOMNameSpaceNode</classname> est retournée au lieu
|
||||
de <classname>DOMAttr</classname>.
|
||||
</para>
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
Le nœud d'attribut. Notez que pour la déclaration de namespace XML
|
||||
(les attributs <literal>xmlns</literal> et <literal>xmlns:*</literal>)
|
||||
Le nœud d'attribut. Il est à noter que pour la déclaration de namespace XML
|
||||
(les attributs <literal>xmlns</literal> et <literal>xmlns:*</literal>)
|
||||
une instance de <classname>DOMNameSpaceNode</classname> est retournée au lieu
|
||||
d'un objet <classname>DOMAttr</classname>.
|
||||
</para>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</para>
|
||||
<tip>
|
||||
<para>
|
||||
Si il est nécessaire de connaître le nombre de nœuds dans la collection, utilisez
|
||||
S'il est nécessaire de connaître le nombre de nœuds dans la collection, utilisez
|
||||
la propriété <literal>length</literal> de l'objet
|
||||
<classname>DOMNodeList</classname>.
|
||||
</para>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
</methodsynopsis>
|
||||
</para>
|
||||
<para>
|
||||
Un <type>callable</type> optionel qui retourne &true; si la valeur doit être incluse, &false; sinon.
|
||||
Un <type>callable</type> optionnel qui retourne &true; si la valeur doit être incluse, &false; sinon.
|
||||
</para>
|
||||
<para>
|
||||
Si aucune fonction de rappel n'est fournie, seules les valeurs qui sont &true;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<term><parameter>glue</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Une chaîne optionel pour séparer chaque valeur.
|
||||
Une chaîne optionnel pour séparer chaque valeur.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<function>eio_get_event_stream</function> récupère un flux représentant
|
||||
une variable utilisée dans les communications internes avec libeio.
|
||||
Peut être utilisé pour lier avec des boucles d'événements fournies
|
||||
par d'autres extensions PECL, comme par exemple
|
||||
par d'autres extensions PECL, par exemple
|
||||
libevent.
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</methodsynopsis>
|
||||
<simpara>
|
||||
Ajoute une orthographe pour <parameter>mis</parameter> en utilisant <parameter>cor</parameter>.
|
||||
Notez que si l'on remplace @mis par @cor, alors il est probable que les futures occurrences
|
||||
Il est à noter que si l'on remplace @mis par @cor, alors il est probable que les futures occurrences
|
||||
den@mis seront remplacées par @cor. Ainsi, @cor sera ajouté à la liste des suggestions.
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
@@ -190,7 +190,7 @@ error_log("Grosse bourde !", 3, "/var/tmp/mes-erreurs.log");
|
||||
<tip>
|
||||
<simpara>
|
||||
Le paramètre <parameter>message</parameter> ne doit pas contenir de caractère
|
||||
nul. Notez que le paramètre <parameter>message</parameter> peut être envoyé
|
||||
nul. Il est à noter que le paramètre <parameter>message</parameter> peut être envoyé
|
||||
vers un fichier, un mail, syslog, etc. Utilisez les fonctions appropriées de
|
||||
conversion/échappement, <function>base64_encode</function>, <function>rawurlencode</function>
|
||||
ou <function>addslashes</function> avant d'appeler la fonction <function>error_log</function>.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<methodname>EvLoop::fork</methodname>). L'invocation est
|
||||
faite avant que la boucle d'événements ne bloque le suivant
|
||||
et avant l'appel des watchers <classname>EvCheck</classname>,
|
||||
et seulement dans le fils après le fork. Notez que si quelqu'un
|
||||
et seulement dans le fils après le fork. Il est à noter que si quelqu'un
|
||||
appelle <methodname>EvLoop::fork</methodname> dans le mauvais
|
||||
processus, le gestionnaire de fork sera appelé également.
|
||||
</simpara>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</constructorsynopsis>
|
||||
<simpara>
|
||||
Construit un objet de watcher EvPrepare.
|
||||
Démarre le watcher automatiquement. Si il est nécessaire
|
||||
Démarre le watcher automatiquement. S'il est nécessaire
|
||||
d'un watcher stoppé, utilisez plutôt la méthode
|
||||
<methodname>EvPrepare::createStopped</methodname>.
|
||||
</simpara>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<simpara>
|
||||
Marque le Watcher comme actif. Notez que seuls les Watchers actifs
|
||||
Marque le Watcher comme actif. Il est à noter que seuls les Watchers actifs
|
||||
recevront les événements.
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<simpara>
|
||||
Marque le Watcher comme étant inactif. Notez que seuls les Watchers actifs
|
||||
Marque le Watcher comme étant inactif. Il est à noter que seuls les Watchers actifs
|
||||
recevront les événements.
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</para>
|
||||
<note xmlns="http://docbook.org/ns/docbook">
|
||||
<para>
|
||||
Notez que le support Windows a été introduit en
|
||||
Il est à noter que le support Windows a été introduit en
|
||||
<literal>event-1.9.0</literal>.
|
||||
</para>
|
||||
</note>
|
||||
@@ -28,7 +28,7 @@
|
||||
</para>
|
||||
<note xmlns="http://docbook.org/ns/docbook">
|
||||
<para>
|
||||
Notez que <literal>event-1.0.0</literal> et supérieur n'est pas compatible
|
||||
Il est à noter que <literal>event-1.0.0</literal> et supérieur n'est pas compatible
|
||||
avec les versions précédentes.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
@@ -56,7 +56,7 @@ $base->loop();
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
Notez que les fonctions de rappel d'un signal sont exécutées dans la
|
||||
Il est à noter que les fonctions de rappel d'un signal sont exécutées dans la
|
||||
boucle d'événement après que le signal ne soit survenu, aussi,
|
||||
il est plus sécurité pour le signal d'appeler des fonctions depuis la boucle
|
||||
que l'on n'étiez pas supposé d'appeler depuis un gestionnaire de signaux
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
</methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Re-configure l'événement. Notez que cette fonction n'appelle pas
|
||||
Re-configure l'événement. Il est à noter que cette fonction n'appelle pas
|
||||
la fonction obsolète event_set de libevent. Elle appelle
|
||||
plutôt la fonction event_assign.
|
||||
</para>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Re-configure un événement timer. Notez que cette méthode
|
||||
Re-configure un événement timer. Il est à noter que cette méthode
|
||||
n'appelle pas la fonction obsolète <literal>event_set</literal>
|
||||
de libevent. Elle appelle plutôt la fonction
|
||||
<literal>event_assign</literal>.
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Construit un objet d'événement signal. C'est une méthode simple pour
|
||||
créer un événement de signal. Notez que la méthode générique
|
||||
créer un événement de signal. Il est à noter que la méthode générique
|
||||
<methodname>Event::__construct</methodname> peut construire aussi un
|
||||
objet d'événement de signal.
|
||||
</para>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
Construit un objet d'événement timer. Il s'agit d'une méthode simple pour
|
||||
créer un événement timer. Notez que la méthode générique
|
||||
créer un événement timer. Il est à noter que la méthode générique
|
||||
<methodname>Event::__construct</methodname> peut aussi construire des objets
|
||||
d'événements signal.
|
||||
</para>
|
||||
|
||||
@@ -54,7 +54,7 @@ IPv4Address
|
||||
unix:path
|
||||
]]>
|
||||
</screen>
|
||||
Notez que le préfixe <literal>'unix:'</literal> n'est actuellement
|
||||
Il est à noter que le préfixe <literal>'unix:'</literal> n'est actuellement
|
||||
pas sensible à la casse.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
si PHP fonctionne en tant que module serveur.
|
||||
</para>
|
||||
<para>
|
||||
Si il faut exécuter une commande et
|
||||
S'il faut exécuter une commande et
|
||||
récupérer tout le résultat sans aucune
|
||||
intervention, utilisez la fonction <function>passthru</function>.
|
||||
</para>
|
||||
|
||||
@@ -294,7 +294,7 @@ THUMBNAIL.Thumbnail.Height: 1
|
||||
</screen>
|
||||
</example>
|
||||
<example>
|
||||
<title><function>exif_read_data</function> avec les flux disponibles depuis PHP 7.2.0</title>
|
||||
<title><function>exif_read_data</function> avec les flux disponibles à partir de PHP 7.2.0</title>
|
||||
<programlisting role="php">
|
||||
<![CDATA[
|
||||
<?php
|
||||
@@ -359,7 +359,7 @@ EXIF Headers:
|
||||
<note>
|
||||
<simpara>
|
||||
Si le paramètre <parameter>file</parameter> est utilisé pour passer un
|
||||
flux à la fonction, alors le flux doit être repositionnable. Notez que la
|
||||
flux à la fonction, alors le flux doit être repositionnable. Il est à noter que la
|
||||
position du pointeur d'un fichier n'est pas modifiée après le retour de
|
||||
cette fonction.
|
||||
</simpara>
|
||||
|
||||
@@ -131,7 +131,7 @@ if ($image!==false) {
|
||||
<note>
|
||||
<simpara>
|
||||
Si le paramètre <parameter>file</parameter> est utilisé pour passer un
|
||||
flux à la fonction, alors le flux doit être repositionnable. Notez que la
|
||||
flux à la fonction, alors le flux doit être repositionnable. Il est à noter que la
|
||||
position du pointeur d'un fichier n'est pas modifiée après le retour de
|
||||
cette fonction.
|
||||
</simpara>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
associées.
|
||||
</para>
|
||||
<para>
|
||||
Notez que cet algorithme est également utilisé pendant
|
||||
Il est à noter que cet algorithme est également utilisé pendant
|
||||
<function>fann_cascadetrain_on_data</function>, bien que seules les
|
||||
constantes <constant>FANN_TRAIN_RPROP</constant> et <constant>FANN_TRAIN_QUICKPROP</constant>
|
||||
sont autorisées pendant l'entrainement en cascade.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<simpara>
|
||||
Il aurez besoin du FDF toolkit SDK, disponible sur le site
|
||||
<link xlink:href="&spec.pdf.fdf;">&spec.pdf.fdf;</link>.
|
||||
Depuis PHP 4.3.0, il faudra besoin du SDK version 5.0.
|
||||
À partir de PHP 4.3.0, il faudra besoin du SDK version 5.0.
|
||||
La bibliothèque FDF toolkit est disponible sous forme de bibliothèque
|
||||
compilée, éditée par Adobe, sur les systèmes d'exploitation Win32,
|
||||
Linux, Solaris et AIX.
|
||||
|
||||
@@ -39,7 +39,7 @@ Hello world!
|
||||
</example>
|
||||
<note>
|
||||
<simpara>
|
||||
Notez que certaines fonctions C nécessitent des conventions d'appel spécifiques, par exemple <literal>__fastcall</literal>,
|
||||
Il est à noter que certaines fonctions C nécessitent des conventions d'appel spécifiques, par exemple <literal>__fastcall</literal>,
|
||||
<literal>__stdcall</literal> ou <literal>,__vectorcall</literal>.
|
||||
</simpara>
|
||||
</note>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
Pour les fichiers locaux, la valeur spécifique <literal>st_mode</literal>
|
||||
de la structure C retournée par la fonction <function>stat</function> est utilisée.
|
||||
Les bits affectés peuvent changer en fonction de la plateforme et il est recommandé de
|
||||
l'on renseigner à son sujet si il faut analyser les bits ne concernant
|
||||
l'on renseigner à son sujet s'il faut analyser les bits ne concernant
|
||||
pas la permission.
|
||||
</para>
|
||||
<para>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user