File: variables.xml

package info (click to toggle)
phpdoc 20020310-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 35,272 kB
  • ctags: 354
  • sloc: xml: 799,767; php: 1,395; cpp: 500; makefile: 200; sh: 140; awk: 51
file content (1172 lines) | stat: -rw-r--r-- 39,559 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
<?xml version="1.0" encoding="iso-8859-1"?>
 <chapter id="language.variables">
  <title>Variablen</title>

  <sect1 id="language.variables.basics">
   <title>Grundlegendes</title>
   <simpara>
    Variablen werden in PHP dargestellt durch ein Dollar-Zeichen ($)
    gefolgt vom Namen der Variablen. Bei Variablen-Namen wird
    zwischen Gro- und Kleinschreibung unterschieden (case-sensitive).
   </simpara>

   <para>
    Variablen-Namen werden in PHP nach den gleichen Regeln wie
    andere Bezeichner erstellt. Ein gltiger Variablen-Name beginnt
    mit einem Buchstaben oder einem Unterstrich ("_"), gefolgt von
    einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen.
    Als regulrer Ausdruck (regular expression) wrde das wie folgt
    ausgedrckt: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'.
   </para>

   <note>
    <simpara>
     Unserem Zweck entspricht also ein Buchstabe von a bis z bzw.
     A bis Z oder einem ASCII-Zeichen von 127 bis 255 (0x7f bis 0xff).
    </simpara>
   </note>

   <para>
    <informalexample>
     <programlisting role="php"> 
$var = "Du";
$vaR = "und";
$Var = "ich";
$vAr = "wir lernen PHP"
echo "$var $vaR $Var, $vAr"; // gibt "Du und ich, wir lernen PHP" aus

$4site  = 'nicht jetzt';     // ungltig, da Anfang eine Zahl
$_4site = 'nicht jetzt';     // gltig, da Unterstrich am Anfang
$tbyte = 'irgendwas';       // gltig, da '' dem ASCII-Wert 228 entspricht
     </programlisting>
    </informalexample>
   </para>

   <para>
    Variablen werden in PHP 3 durch ihren Wert bestimmt. Das heisst,
    wenn sie einer Variablen einen Ausdruck zuweisen, wird der gesamte
    Inhalt des Originalausdrucks in die Zielvariable kopiert. Die
    Folge ist, dass eine Variable, die ihren Inhalt von einer anderen
    Variablen erhalten hat, ihren Inhalt behlt, auch wenn sie danach
    den Inhalt der anderen (Quell- / Ursprungs-)Variablen ndern. Die
    Inhalte der Ziel- und Quellvariablen sind also insoweit unabhngig
    voneinander. Fr weitere Informationen lesen sie bitte <link
    linkend="language.expressions">Expressions / Ausdrcke</link>.
   </para>
   <para>
    PHP 4 bietet eine andere Mglichkeit der Wertzuweisung bei
    Variablen: <emphasis>Zuweisung durch Referenzierung</emphasis>.
    Das bedeutet, dass der Wert der neuen Variablen eine Referenz zur
    Ursprungs-Variablen darstellt (mit anderen Worten: Der Wert ist
    ein Alias bzw. Zeiger auf den Inhalt der Ursprungsvariablen). Beide
    Variablen zeigen also auf die selbe(n) Speicherstelle(n).
    nderungen der neuen Variablen ndern auch deren Ursprungs-
    Variable und umgekehrt. Der Wert / Inhalt wird also nicht kopiert. Die
    bertragung geschieht dadurch auch schneller als in PHP 3. Dies wird
    sich aber nur bei umfangreichen Schleifen oder bei der bertragung
    von grossen Arrays oder Objekten bemerkbar machen.
   </para>
   <para>
    Fr die Zuweisung per Referenz mssen sie lediglich ein &amp;
    der (Ausgangs-, Quell-) Variablen voranstellen, die
    sie einer anderen Variablen zuweisen wollen. Der folgende Skript-
    Ausschnitt wird zweimal 'Mein Name ist Bob' ausgeben:
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
$foo = 'Bob';             // 'Bob' der Variablen $foo zuweisen.
$bar = &$foo;             // Zeiger auf $foo in $bar erzeugen.
$bar = "My name is $bar"; // $bar verndern...
echo $foo;                // $foo wurde dadurch ebenfalls verndert.
echo $bar;
?>
]]>
     </programlisting>
    </informalexample>
   </para>
   <para>
    Zu beachten ist, dass nur Variablenbezeichner referenziert
    werden knnen.
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
$foo = 25;
$bar = &$foo;     // Gltige Zuweisung.
$bar = &(24 * 7); // Ungltig, da kein Variablenbezeichner
                  // zugewiesen wird.
function test() {
    return 25;
}

$bar = &();   // Ungltig.
?>
]]>
     </programlisting>
    </informalexample>
   </para>
  </sect1>

  <sect1 id="language.variables.predefined">
   <title>Vordefinierte Variablen</title>
   <simpara>
    PHP bietet jedem ausgefhrtem Skript eine Vielzahl von
    vordefinierten Variablen an. Viele dieser Variablen knnen
    jedoch nicht vollstndig erlutert werden, da sie abhngig
    sind vom Web-Server, der Version und dem Setup des Web-
    Servers sowie weiteren Faktoren. Einige dieser Variablen
    stehen nicht zur Verfgung, wenn PHP-Skripte per Kommando-
    Zeilen-Aufruf ausgefhrt werden.
   </simpara>
   <simpara>
    Ungeachtet dieser Faktoren folgt nun eine Liste von
    vordefinierten Variablen innerhalb einer Basis-PHP 3-
    Installation als Modul und einer Basis-Installation des
    <ulink url="&url.apache;">Apache</ulink>-Web-Servers in der
    Vers. 1.3.6.
   </simpara>
   <simpara>
    Eine Liste aller vordefinierten Variablen (und weitere
    ntzliche Informationen) erhalten sie durch Lesen der Infos
    zu (und den Gebrauch) der <function>phpinfo</function>-Funktion.
   </simpara>
   <note>
    <simpara>
     Diese Liste ist weder vollstndig noch erhebt sie Anspruch
     auf Vollstndigkeit. Sie dient lediglich als Anleitung zu den
     mglicherweise zu erwartenden Arten von vordefinierten
     Variablen und dem Zugriff darauf.
    </simpara>
   </note>

   <sect2 id="language.variables.predefined.apache">
    <title>Apache-Variablen</title>
    <simpara>
     Diese Variablen werden durch den <ulink
     url="&url.apache;">Apache</ulink>-Web-Server erzeugt. Sollten
     sie einen anderen Web-Server nutzen, gibt es keine Garantie,
     dass dieser die selben Variablen untersttzt. Es knnten
     einige sein; es knnten aber auch hier nicht aufgefhrte sein.
     Viele dieser Variablen werden in den <ulink
     url="&url.cgispec;">CGI 1.1 Spezifikationen</ulink> aufgefhrt.
     Darauf sollten sie vorbereitet sein.
    </simpara>
    <simpara>
     Beachten Sie, dass nur wenige, wenn berhaupt, dieser Variablen
     zur Verfgung stehen (oder tatschlich eine beliebige Bedeutung haben),
     wenn Sie PHP per Kommandozeile aufrufen.
    </simpara>
    <para>
     <variablelist>
      <varlistentry>
       <term>$GATEWAY_INTERFACE</term>
       <listitem>
        <simpara>
         Die Revision der CGI-Spezifikation, die der Web-Server
         benutzt, z.B. 'CGI/1.1'.
       </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SERVER_NAME</term>
       <listitem>
        <simpara>
         Der Host-Name des Web-Servers, der das Skript ausfhrt. Das
         kann auch der Name eines virtuellen Servers sein.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SERVER_SOFTWARE</term>
       <listitem>
        <simpara>
         Der Identifikations-String des Web-Servers (aus den Headern),
         sobald er Anforderungen beantwortet.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SERVER_PROTOCOL</term>
       <listitem>
        <simpara>
         Name und Revision des Informations-Protokolls, ber das die
         Seite angefordert wurde, z.B. 'HTTP/1.0'.
       </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$REQUEST_METHOD</term>
       <listitem>
        <simpara>
         Welche Methode zum Zugriff auf die Seite benutzt wurde,
         z.B. 'GET', 'HEAD', 'POST', 'PUT'.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$QUERY_STRING</term>
       <listitem>
        <simpara>
         Der Abfrage-(Query-)String (falls vorhanden), mit dem auf
         die Seite zugegriffen wurde.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$DOCUMENT_ROOT</term>
       <listitem>
        <simpara>
         Das Verzeichnis des gerade ausgefhrten Skripts aus Sicht
         des in der Konfigurations-Datei des Servers definierten
         Dokument-Wurzel-Verzeichnisses.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_ACCEPT</term>
       <listitem>
        <simpara>
         Inhalt des <literal>Accept:</literal>-Headers der aktuellen
         Anforderung (so es einen solche Header gibt).
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_ACCEPT_CHARSET</term>
       <listitem>
        <simpara>
         Inhalt des <literal>Accept-Charset:</literal>-Headers der
         aktuellen Anforderung (sofern es einen gibt).
         Beispiel: 'iso-8859-1,*,utf-8'.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_ENCODING</term>
       <listitem>
        <simpara>
         Inhalt des <literal>Accept-Encoding:</literal>-Headers der
         aktuellen Anforderung (wenn es einen gibt).
         Beispiel: 'gzip'.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_ACCEPT_LANGUAGE</term>
       <listitem>
        <simpara>
         Inhalt des <literal>Accept-Language:</literal>-Headers in
         der aktuellen Anforderung, sofern dieser Header existiert.
         Beispiel: 'en'.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_CONNECTION</term>
       <listitem>
        <simpara>
         Inhalt des <literal>Connection:</literal>-Headers des
         aktuellen Request, so er vorhanden ist.
         Beispiel: 'Keep-Alive'.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_HOST</term>
       <listitem>
       <simpara>
        Inhalt des <literal>Host:</literal>-Headers der aktuellen
        Anforderung, wenn er existiert.
       </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_REFERER</term>
       <listitem>
        <simpara>
         Die Adresse (URL) - sofern vorhanden - der Seite, von
         der aus auf die aktuelle Seite gesprungen wurde. Dieser
         wird vom Browser des Benutzers gesetzt. Nicht alle Browser
         untersttzen dies.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$HTTP_USER_AGENT</term>
       <listitem>
        <simpara>
         Inhalt der <literal>User_Agent:</literal>-Header-Angabe
         der aktuellen Anfrage (wenn eine Angabe existiert). Dabei
         handelt es sich um eine Zeichenkette, welche der Browser
         benennt, mit dem die aktuelle Seite aufgerufen
         wurde, z.B. <computeroutput>Mozilla/4.5 [en] (X11; U;
         Linux 2.2.9 i586)</computeroutput>. Abgesehen von anderen
         Dingen knnen sie diesen Wert zusammen mit der
         <function>get_browser</function> Funktion dazu verwenden,
         ihre Web-Seiten in Abhngigkeit von den Mglichkeiten des
         jeweils benutzten Browsers anzeigen zu lassen.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$REMOTE_ADDR</term>
       <listitem>
        <simpara>
         Die IP-Adresse, von der aus gerade auf die Web-Seite
         zugegriffen wird.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$REMOTE_PORT</term>
       <listitem>
        <simpara>
         Der Port, der zum Zugriff auf ihren Web-Server seitens
         des Anwender-Computers benutzt wird.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SCRIPT_FILENAME</term>
       <listitem>
       <simpara>
         Der absolute Pfadname des gerade ausgefhrten Skripts.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SERVER_ADMIN</term>
       <listitem>
        <simpara>
         Der Inhalt der in der Konfigurations-Datei des Web-Servers
         (Apache) stehenden Angabe zum SERVER_ADMIN. Bei virtuellen
         Hosts der dafr eingetragene Wert.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SERVER_PORT</term>
       <listitem>
        <simpara>
         Der vom Server fr den Web-Server benutzte Kommunikations-
         Port (normalerweise '80'). Verwenden sie z.B. SSL, wird
         dieser Port derjenige sein, den sie fr sicheres HTTP
         definiert haben.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SERVER_SIGNATURE</term>
       <listitem>
        <simpara>
         Sofern eingeschaltet, enthlt diese Zeichenkette die Server-
         Version und den virtuellen Host-Namen. Sie wird den durch
         den Server generierten Seiten hinzu gefgt.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$PATH_TRANSLATED</term>
       <listitem>
        <simpara>
         In Abhngigkeit vom Datei- / File-System der Pfad des
         aktuellen Skripts, nachdem der Server das virtuelle
         Mapping in ein reales Mapping umgesetzt hat (nicht der
         Dokument-Wurzel-Pfad).
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$SCRIPT_NAME</term>
       <listitem>
        <simpara>
         Enthlt den Pfad des aktuellen Skripts. Ntzlich fr
         Seiten, die auf sich selbst verweisen mssen.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term>$REQUEST_URI</term>
       <listitem>
        <simpara>
         Die URI, die durch den Zugriff auf die aktuelle Seite
         gegeben ist, z.B. '/index.html'.
        </simpara>
       </listitem>
      </varlistentry>
     </variablelist>
    </para>
   </sect2>

   <sect2 id="language.variables.predefined.environment">
    <title>Umgebungs- / Environment-Variablen</title>
    <simpara>
     Diese Variablen werden aus der Umgebung, in der PHP luft, in
     den globalen Namensbereich von PHP importiert. Viele werden
     durch die jeweilige Shell, in der PHP luft, untersttzt bzw.
     gebildet. Da es verschiedenste Systemumgebungen mit den 
     unterschiedlichsten Shell`s gibt, ist es nicht mglich, eine
     abschlieende Liste der definierten Umgebungs-Variablen
     aufzustellen. Lesen sie deshalb in der Anleitung zu ihrer
     Shell nach, um eine Liste dieser systembezogenen Variablen
     zu erhalten.
    </simpara>
    <simpara>
     Andere Umgebungs-Variablen beinhalten die CGI-Variablen,
     die ohne Rcksicht darauf, ob PHP als Web-Server-Modul
     oder im CGI-Modus luft, gesetzt werden.
    </simpara>
   </sect2>

   <sect2 id="language.variables.predefined.php">
    <title>PHP-Variablen</title>
    <simpara>
     Diese Variablen werden durch PHP selbst erzeugt.
     <varname>$HTTP_*_VARS</varname> Variablen stehen nur zur Verfgung,
     wenn die Option <link linkend="ini.track-vars">track_vars</link> in der
     php.ini auf "on" gesetzt ist. Wenn dies der Fall ist, werden diese Variablen
     immer gesetzt, selbst wenn es leere Arrays sind. Das verhindert, dass ein
     bswilliger Nutzer diese Variablen manipuliert.
    </simpara>

    <note>
     <para>
      Seit PHP 4.0.3 ist <link
      linkend="ini.track-vars">track_vars</link> immer aktiviert,
      ohne Rcksicht auf die Einstellungen in der Konfigurationsdatei.
     </para>
    </note>

    <note>
     <para>
      Die neuen "Superglobals" stehen seit der PHP Version 4.1.0. zur
      Verfgung. Im  <ulink url="&url.php.release4.1.0;">4.1.0 Release
      Announcement</ulink> knnen Sie mehr Details nachlesen.
      Dieses sind die Arrays
      <varname>$_GET</varname>, <varname>$_POST</varname>,
      <varname>$_ENV</varname>, <varname>$_SERVER</varname>,
      <varname>$_COOKIE</varname>, <varname>$_REQUEST</varname>
      <varname>$_FILES</varname> und <varname>$_SESSION</varname>
      und werden informell als <emphasis>Superglobals</emphasis> bezeichnet,
      weil sie immer zur Verfgung stehen, ohne Bercksichtigung des
      Geltungsbereichs.Damit sind die alten, beziehungsweise die 
      <varname>$HTTP_*_VARS</varname> Arrays veraltet.
     </para>
    </note>

    <para>
     Wenn <link linkend="ini.register-globals">register_globals</link>
     aktiviert ist,stehen auch diese Variablen im globalen Namensbereich
     des Skripts zur Verfgung; z.B. getrennt von den Arrays
     <varname>$HTTP_*_VARS</varname> und <varname>$_*</varname>.
     Verwandte Informationen erhalten Sie im Kapitel ber Sicherheit
     unter dem Abschnitt <link linkend="security.registerglobals">
     Verwendung von Register Globals</link>.
    </para>

    <para>
     <variablelist>
      <varlistentry>
       <term>$argv</term>
       <listitem>
        <simpara>
         Ein Array von Argumenten, die dem Skript bergeben
         werden. Wird das Skript an der Befehlszeile aufgerufen,
         ermglicht dies C-hnlichen Zugriff auf die Kommando-
         Zeilen-Parameter. Beim Aufruf per GET-Methode enthlt
         dieses Array die Abfragewerte.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$argc</term>
       <listitem>
        <simpara>
         Anzahl der per Kommando-Zeile dem Skript bergebenen
         Parameter (wenn von dort aufgerufen).
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$PHP_SELF</term>
       <listitem>
        <simpara>
         Der Dateiname des gerade ausgefhrten Skripts, relativ
         zum Wurzel-Verzeichnis des Dokuments. Bei Kommando-Zeilen-
         Aufrufen ist diese Variable nicht verfgbar.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$HTTP_COOKIE_VARS</term>
       <listitem>
        <simpara>
         Ein assoziatives Array von Variablen, das dem aktuellen Skript
         ber HTTP-Cookies bergeben wurde.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$_COOKIE</term>
       <listitem>
        <simpara>
         Ein assoziatives Array von Variablen, das dem aktuellen Skript
         ber HTTP-Cookies bergeben wurde. Automatisch global in jedem
         Geltungsbereich. Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$HTTP_GET_VARS</term>
       <listitem>
        <simpara>
         Ein assoziatives Array von Variablen, das dem aktuellen
         Skript per HTTP-GET-Methode bergeben wurde.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$_GET</term>
       <listitem>
        <simpara>
         Ein assoziatives Array von Variablen, das dem aktuellen
         Skript per HTTP-GET-Methode bergeben wurde.Automatisch global in
         jedem Geltungsbereich. Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$HTTP_POST_VARS</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Varaiblen, welches dem aktuellen
         Skript per HTTP-POST-Methode bergeben wurde.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$_POST</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, welches dem aktuellen
         Skript per HTTP-POST-Methode bergeben wurde. Automatisch global in
         jedem Geltungsbereich. Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$HTTP_POST_FILES</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, das Informationen ber
         per HTTP POST-Methode hochgeladene Dateien enthlt. Siehe <link
         linkend="features.file-upload.post-method">Dateiuploads mit POST</link>
         fr Informationen ber den Inhalt der
         <varname>$HTTP_POST_FILES</varname>. Eingefhrt in PHP 4.0.0.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$_FILES</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, das Informationen ber
         per HTTP POST-Methode hochgeladene Dateien enthlt. Siehe <link
         linkend="features.file-upload.post-method">Dateiuploads mit POST</link>
         fr Informationen ber den Inhalt der
         <varname>$_FILES</varname>.Automatisch global in jedem
         Geltungsbereich. Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$HTTP_ENV_VARS</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, die dem aktuellen Skript
         ber die Umgebung zur Verfgung stehen.
        </simpara>
       </listitem>
      </varlistentry>

    <varlistentry>
       <term>$_ENV</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, die dem aktuellen Skript
         ber die Umgebung zur Verfgung stehen. Automatisch global in
         jedem Geltungsbereich. Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$HTTP_SERVER_VARS</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, die dem aktuellen Skript
         vom jeweiligen HTTP-Server bermittelt werden. Diese Variablen
         sind analog zu den oben beschriebenen Apache-Variablen.
        </simpara>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>$_SERVER</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Variablen, die dem aktuellen Skript
         vom jeweiligen HTTP-Server bermittelt werden. Diese Variablen
         sind analog zu den oben beschriebenen Apache-Variablen. Automatisch
         global in jedem Geltungsbereich. Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

    <varlistentry>
       <term>$HTTP_SESSION_VARS</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Session-Variablen, die dem aktuellen
         Skript bergeben wurden.
        </simpara>
       </listitem>
      </varlistentry>

    <varlistentry>
       <term>$_SESSION</term>
       <listitem>
        <simpara>
         Ein assoziatives Array aus Session-Variablen, die dem aktuellen
         Skript bergeben wurden. Automatisch global in jedem
         Geltungsbereich. Werden dem Array $_SESSION neue Eintrge
         hinzugefgt, werden diese automatisch als Session-Variablen
         registriert, genau so als ob die Funktion
         <function>session_register</function> aufgerufen worden wre.
         Eingefhrt in PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>

    <varlistentry>
       <term>$_REQUEST</term>
       <listitem>
        <simpara>
         Ein assoziatives Array zusammengesetzt aus den GET, POST und Cookie
         Variablen. Mit anderen Worten - alle Informationen die vom Nutzer
         kommen und denen aus Sichtweise der Sicherheit nicht zu trauen ist.
         Automatisch global in jedem Geltungsbereich. Eingefhrt in
         PHP 4.1.0.
        </simpara>
       </listitem>
      </varlistentry>
     </variablelist>
    </para>
   </sect2>
  </sect1>


  <sect1 id="language.variables.scope">
   <title>Geltungsbereich von Variablen</title>
   <simpara>
    Der Geltungsbereich einer Variablen ergibt sich aus dem
    Zusammenhang, in dem sie definiert wurde. Meistens besteht
    dieser aus einem einzigen Bereich. Dieser beinhaltet auch den
    Bereich fr Dateien, die per "include"- oder "require"-Anweisung
    eingebunden wurden, z.B.:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
$a = 1;
include "b.inc";
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Die Variable $a ist auch in der eingebundenen Datei
    <filename>b.inc</filename> verfgbar. In benutzerdefinierten Funktionen
    wird ein auf die Funktion beschrnkter Geltungsbereich eingefhrt. Jede in
    einer Funktion benutzte Variable ist zunchst auf den lokalen Bereich
    der Funktion beschrnkt, z.B.:
   </simpara>
   <informalexample>
    <programlisting role="php"> 
<![CDATA[
$a = 1; // globaler Bereich

function test () { 
    echo $a; // Referenz auf einen lokalen Variablen-Bereich
} 

test ();
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Dieses Skript erzeugt keine Bildschirm-Ausgabe, da sich die Echo-
    Anweisung auf eine lokale Variable namens <varname>$a</varname>
    bezieht und dieser kein Wert im lokalen Bezug zugewiesen worden ist.
    Dies ist ein kleiner Unterschied zu C, wo globale Variablen auch in
    Funktionen vorhanden sind, es sei denn, sie werden durch eine
    funktionsinterne Definition berschrieben. Das kann zu Problemen fhren,
    denn in PHP mssen global geltende Variablen innerhalb von Funktionen als
    solche definiert werden. Ein Beispiel:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
$a = 1;
$b = 2;

function Sum()
{
    global $a, $b;

    $b = $a + $b;
} 

Sum();
echo $b;
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Das obige Skript gibt &quot;3&quot; aus. Durch das Deklararieren
    der Variablen <varname>$a</varname> und <varname>$b</varname>innerhalb
    der Funktion als global, weisen alle Referenzen zu beiden Variablen auf
    die nun globalen Werte. Es gibt keine Beschrnkungen bei der Anzahl an
    globalen Variablen, die durch eine Funktion verndert werden knnen.
   </simpara>
   <simpara>
    Eine weitere Mglichkeit besteht in der Verwendung des speziellen
    <varname>$GLOBALS</varname> PHP-Array. Das obige Beispiel kann damit
    auch so  geschrieben werden:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
$a = 1;
$b = 2;

function Sum()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
} 

Sum();
echo $b;
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Das <varname>$GLOBALS</varname>-Array ist ein assoziatives Array mit dem
    Bezeichner der globalen Variablen als Schlssel und dem Inhalt dieser
    Variablen als Wert des Array-Elements.
   </simpara>
   <simpara>
    Ein weiterer wichtiger Anwendungszweck von Variablen-Bereichen
    ist die <emphasis>static</emphasis>-Variable. Eine statische
    Variable existiert nur in einem lokalen Funktions-Bereich, der
    Wert geht beim Verlassen dieses Bereichs aber nicht verloren.
    Schauen sie das folgende Beispiel an:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
function test ()
{
    $a = 0;
    echo $a;
    $a++;
}
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Diese Funktion ist sinnlos, da sie bei jedem Aufruf <varname>$a</varname>
    auf <literal>0</literal> setzt und &quot;0&quot; ausgibt. Die Anweisung
    $a++, welche den Wert erhht, macht keinen Sinn, da der Wert von
    <varname>$a</varname> beim Verlassen der Funktion verloren geht. Um eine
    sinnvolle Zhlfunktion zu implementieren, die ihren aktuell gesetzten Wert
    nicht vergisst, mssen sie die Variable <varname>$a</varname>als "static"
    deklarieren:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
function test()
{
    static $a = 0;
    echo $a;
    $a++;
}
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Jetzt wird bei jedem Aufruf der test()-Funktion der aktuelle
    Wert von <varname>$a</varname> ausgegeben und dann um 1 erhht.
   </simpara>
   <simpara>
    Static-Variablen ermglichen auch einen Weg zum Umgang mit
    rekursiven Funktionen. Das sind Funktionen, die sich selbst
    aufrufen. Hierbei besteht die Gefahr, so genannte Endlos-
    Schleifen zu programmieren. Sie mssen also einen Weg vorsehen,
    diese Rekursion zu beenden. Die folgende einfache Funktion zhlt
    rekursiv bis 10. Die statische Variable <varname>$count</varname>
    wird benutzt, um die Rekursion zu beenden:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
function test()
{
    static $count = 0;

    $count++;
    echo $count;
    if ($count < 10) {
        test ();
    }
    $count--;
}
]]>
    </programlisting>
   </informalexample>
  </sect1>

  <sect1 id="language.variables.variable">
   <title>Variable Variablen</title>
   <simpara>
    Manchmal ist es komfortabel, variable Variablen-Bezeichner zu
    benutzen. Das bedeutet, einen Variablen-Namen zu setzen und
    dynamisch zu gebrauchen. Eine normale Variable wird wie folgt
    gebildet:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
$a = "Hallo";
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Eine variable Variable nimmt den Wert einer Variablen und
    behandelt ihn als Bezeichner der Variablen. Im obigen Beispiel
    kann <emphasis>Hallo</emphasis> als Variablen-Name gebraucht
    werden, indem man zwei $-Zeichen benutzt, also schreibt:
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
$$a = "Welt";
]]>
    </programlisting>
   </informalexample>
   <simpara>
    Nun existieren in der PHP-Symbol-Struktur zwei definierte und
    gespeicherte Variablen: <varname>$a</varname> mit dem Inhalt "Hallo"
    und <varname>$Hallo</varname> mit dem Inhalt "Welt". Deshalb wird die
    Anweisung
   </simpara>
   <informalexample>
    <programlisting role="php">
<![CDATA[
echo "$a ${$a}";
]]>
    </programlisting>
   </informalexample>
   <simpara>
    zur genau gleichen Ausgabe fhren wie:
   </simpara>
   <informalexample>
    <programlisting>
<![CDATA[
echo "$a $Hallo";
]]>
    </programlisting>
   </informalexample>
   <simpara>
    also zu: <computeroutput>Hallo Welt</computeroutput>.
   </simpara>
   <simpara>
    Wenn sie variable Variablen mit Arrays verwenden, mssen sie
    eine Doppeldeutigkeit beachten. Wenn sie nmlich
    <varname>$$a[1]</varname> schreiben, dann muss der Parser wissen, ob Sie
    <varname>$a[1]</varname> als Variable oder <varname>$$a</varname> als
    Variable und dann [1] als Index dieser Variablen verwenden wollen bzw.
    gemeint haben. Die Syntax zur Lsung dieser Doppeldeutigkeit: Verwenden
    Sie im ersten Fall <varname>${$a[1]}</varname> und im zweiten Fall
    <varname>${$a}[1]</varname>.
   </simpara>
  </sect1>

  <sect1 id="language.variables.external">
   <title>Variablen ausserhalb von PHP</title>

   <sect2 id="language.variables.external.form">
    <title>HTML-Formulare (GET and POST)</title>
    <simpara>
     Sobald ein Formular an ein PHP-Skript bergeben wird, wird
     jede Variable dieses Formulars dem Skript automatisch 
     verfgbar gemacht. Dafr sorgt PHP.
     Falls die Konfigurationsoption
     <link linkend="ini.track-vars">track_vars</link> auf "on" gesetzt ist,
     werden diese Variablen in diesen assoziativen Arrays abgelegt
     <varname>$HTTP_POST_VARS</varname>,
     <varname>$HTTP_GET_VARS</varname> und/oderr
     <varname>$HTTP_POST_FILES</varname>, entsprechend der Quelle, aus der
     die fragliche Variable kommt.
    </simpara>
     
    <para>
     Fr weitere Informationen ber diese Variablen lesen Sie bitte den
     Abschnitt ber <link linkend="language.variables.predefined">
     Vordefinierte Variablen</link>.
    </para>     
     
    <para>
    <example>
     <title>Einfache Formular-Variablen</title>
     <programlisting role="php">
<![CDATA[
<form action="foo.php" method="post">
    Name: <input type="text" name="username"><br>
    <input type="submit">
</form>
]]>
     </programlisting>
    </example>
   </para>
   <simpara>
    Wird dieses Formular abgeschickt, steht der Wert des Textfeldes in der
    Variable <varname>$HTTP_POST_VARS['username']</varname> zur Verfgung.
    Wenn in der Konfigurationsdatei die Option
    <link linkend="ini.register-globals">register_globals</link>
    auf "on" gesetzt ist, steht die Variable auch als
    <varname>$username</varname> global zur Verfgung.
   </simpara>

    <note>
     <para>
      Die Konfigurationseinstellung zu
      <link linkend="ini.magic-quotes-gpc">magic_quotes_gpc</link> 
      betrifft Get, Post and Cookie Werte. Ist diese Einstellung aktiv
      wird der Wert (It's "PHP!") automatisch zu (It\'s \"PHP!\").
      Escaping ist notwendig, wenn Sie ihre Daten in eine Datenbank einfgen
      wollen. Siehe auch: <function>addslashes</function>,
      <function>stripslashes</function> und 
      <link linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link>.
     </para>
    </note>


   <simpara>
    Im Zusammenhang mit Formular-Variablen versteht PHP auch
    Arrays (siehe auch die <link linkend="faq.html">verwandte Faq</link>).
    Sie knnen z.B. die betreffenden Variablen gruppieren oder dieses
    Leistungsmerkmal nutzen, um Werte aus Mehrfach-Auswahl-Bereichen
    zu erhalten.
   </simpara>
   <para>
    <example>
     <title>Komplexere Formular-Variablen</title>
      <programlisting role="php">
<![CDATA[
<form action="array.php" method="post">
    Name:  <input type="text" name="personal[name]"><br>
    Email: <input type="text" name="personal[email]"><br>
    Bier: <br>
    <select multiple name="bier[]">
        <option value="binding">Binding
        <option value="warsteiner">Warsteiner
        <option value="stauder">Stauder
        <option value="stuttgarter">Stuttgarter Schwabenbru
    </select>
    <input type="submit">
</form>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     In PHP 3 ist die Verwendung von Arrays in Formularvariablen auf
     eindimensionale Arrays beschrnkt. In PHP 4 besteht diese Einschrnkung
     nicht mehr.
    </para>

    <sect3 id="language.variables.external.form.submit">
     <title>IMAGE SUBMIT Variablen-Bezeichner</title>
     <simpara>
      Zur bertragung eines Formulars kann auch ein Bild (Image)
      statt eines bertragungs-Schalters (Submit-Button) benutzt
      werden, dessen Tag wie folgt aussieht:
     </simpara>
     <informalexample>
      <programlisting role="php">
<![CDATA[
<input type="image" src="image.gif" name="sub">
]]>
      </programlisting>
     </informalexample>
     <simpara>
      Klickt der Benutzer irgendwo auf das Bild, wird das entsprechende
      Formular an den Web-Server bertragen. Hierbei sind zwei
      zustzliche Variablen vorhanden, sub_x und sub_y. Diese enthalten
      die Koordinaten des Klick-Punktes innerhalb des Bildes. Die
      Erfahreneren werden sagen, dass die Variablen, die vom Browser gesendet
      werden einen Punkt enthalten statt eines Unterstrichs. Dieser Punkt
      wird von PHP automatisch in einen Unterstrich verwandelt.
     </simpara>
    </sect3>

   </sect2>

   <sect2 id="language.variables.external.cookies">
    <title>HTTP-Cookies</title>
    <simpara>
     PHP untersttzt HTTP-Cookies, wie sie in <ulink
     url="&spec.cookies;">Netscape's Spec</ulink> definiert sind.
     Cookies ermglichen die Daten-Speicherung innerhalb der jeweiligen
     Browser-Umgebung zur Weiterleitung oder wiederholten Identifikation von
     Benutzern. Sie knnen Cookies erzeugen, indem sie die Funktion
     <function>setcookie</function> benutzen. Cookies sind Teil des
     HTTP-Headers, deshalb muss die setcookie-Funktion aufgerufen werden,
     bevor irgendeine Ausgabe an den Browser gesendet wird. Dabei handelt es
     sich um die gleiche Einschrnkung, die auch fr die
     <function>header</function>-Funktion gilt. Alle Cookies, die der Client
     an sie sendet werden in PHP-Variablen umgesetzt, genau wie die Daten
     bei den GET- und POST-Methoden.
    </simpara>
    <simpara>
     Wenn sie einem einzelnen Cookie mehrere Wert zuweisen wollen
     mssen sie dem Cookie-Namen <emphasis>[]</emphasis> hinzufgen.
     Z.B.:
    </simpara>
    <informalexample>
     <programlisting role="php">
<![CDATA[
SetCookie ("MeinCookie[]", "Ich teste", time()+3600);
]]>
     </programlisting>
    </informalexample>
    <simpara>
     Bedenken sie, dass ein Cookie ein vorhergehendes Cookie
     gleichen Namens berschreibt, es sei denn, der Pfad oder
     die Domain ist anders. Fr eine Warenkorb-Anwendung knnen
     Sie deshalb z.B. einen Zhler bilden und diesen weiterleiten:
    </simpara>
    <example>
     <title>SetCookie-Beispiel</title>
     <programlisting role="php">
<![CDATA[
$Count++;
setcookie("Count", $Count, time()+3600);
setcookie("Cart[$Count]", $item, time()+3600);
]]>
     </programlisting>
    </example>
   </sect2>

   <sect2 id="language.variables.external.environment">
    <title>Umgebungs- / Environment-Variablen</title>

    <para>
     PHP sorgt automatisch fr die Verfgbarkeit der Umgebungs-
     Variablen als normale PHP-Variablen.
     <informalexample>
      <programlisting role="php">
<![CDATA[
echo $HOME;  /* Zeigt die HOME-Umgebungs-Variable (sofern gesetzt). */
]]>
      </programlisting>
     </informalexample>
    </para>
    <para>
     Da Informationen per GET, POST und Cookie-Mechanismen bergeben
     werden, ist es manchmal das Beste, Umgebungs-Variablen explizit
     auszulesen. Dadurch wird die richtige Version eingelesen. Hierfr
     kann die <function>getenv</function>-Funktion genutzt werden. Den
     Wert einer Umgebungs-Variablen knnen Sie per <function>putenv</function>-
     Funktion setzen.
    </para>
   </sect2>

   <sect2 id="language.variables.external.dot-in-names">
    <title>Punkte in eingelesenen Variablen-Bezeichnern</title>
    <para>
     Normalerweise verndert PHP die Variablen-Bezeichner nicht,
     wenn sie einem Skript bergeben werden. Es sollte aber beachtet
     werden, dass der Punkt (".") kein gltiger Bestandteil eines
     Variablen-Bezeichners ist. Deshalb achten sie auf folgendes:
     <programlisting role="php">
<![CDATA[
$varname.ext;  /* ungltiger Variablen-Bezeichner */
]]>
     </programlisting>
     Der PHP-Parser sieht eine Variable namens <varname>$varname</varname>,
     gefolgt von einem Zeichenketten-Verbindungs-Operator, dieser wiederrum
     gefolgt von der offenen Zeichenkette 'ext' (also nicht eingegrenzt
     durch '"' und auch keinem Schlssel oder reserviertem Bezeichner
     entsprechend). Das kann natrlich nicht zum gewnschten Ergebnis
     fhren.
    </para>
    <para>
     Deshalb ist es wichtig zu wissen, dass PHP in den ihm bergebenen
     Variablen alle Punkte (.) automatisch durch einen 
     Unterstrich (_) ersetzt.
    </para>
   </sect2>

   <sect2  id="language.variables.determining-type-of">
    <title>Bestimmung des Variablen-Typs</title>
    <para>
     Da PHP den Typ der Variablen bestimmt und (im Allgemeinen) selbst
     eine entsprechende Umformung vornimmt, ist es nicht immer klar,
     welchen Typ eine Variable gerade hat. PHP beinhaltet einige
     Funktionen, die dies herausfinden. Als da sind:
     <function>gettype</function>, <function>is_long</function>,
     <function>is_double</function>, <function>is_string</function>,
     <function>is_array</function> und
     <function>is_object</function>.
    </para>
   </sect2>

  </sect1>
     
 </chapter>
 
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
 sgml-omittag:t
 sgml-shorttag:t
 sgml-minimize-attributes:nil
 sgml-always-quote-attributes:t
 sgml-indent-step:1
 sgml-indent-data:t
indent-tabs-mode:nil
 sgml-parent-document:nil
 sgml-default-dtd-file:"../../manual.ced"
 sgml-exposed-tags:nil
 sgml-local-catalogs:nil
 sgml-local-ecat-files:nil
 End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->