PageRenderTime 45ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/documentation/de/designers/language-builtin-functions/language-function-include-php.xml

https://bitbucket.org/hallgrennetworks/smarty
XML | 138 lines | 113 code | 3 blank | 22 comment | 0 complexity | 0cf19687ce7d148a7511d6714e423294 MD5 | raw file
Possible License(s): LGPL-3.0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- $Revision: 2978 $ -->
  3. <!-- EN-Revision: 1.9 Maintainer: andreas Status: ready -->
  4. <sect1 id="language.function.include.php">
  5. <title>include_php (PHP-Code einbinden)</title>
  6. <para>
  7. Die Verwendung von {include_php} wird nicht mehr empfohlen, die
  8. gleiche funktionalität kann auch mit <link
  9. linkend="tips.componentized.templates">Template/Script
  10. Komponenten</link> erreicht werden.
  11. </para>
  12. <informaltable frame="all">
  13. <tgroup cols="5">
  14. <colspec colname="param" align="center" />
  15. <colspec colname="type" align="center" />
  16. <colspec colname="required" align="center" />
  17. <colspec colname="default" align="center" />
  18. <colspec colname="desc" />
  19. <thead>
  20. <row>
  21. <entry>Attribut Name</entry>
  22. <entry>Typ</entry>
  23. <entry>Erforderlich</entry>
  24. <entry>Standardwert</entry>
  25. <entry>Beschreibung</entry>
  26. </row>
  27. </thead>
  28. <tbody>
  29. <row>
  30. <entry>file</entry>
  31. <entry>string</entry>
  32. <entry>Ja</entry>
  33. <entry><emphasis>n/a</emphasis></entry>
  34. <entry>Der Name der einzubindenden PHP-Datei.</entry>
  35. </row>
  36. <row>
  37. <entry>once</entry>
  38. <entry>boolean</entry>
  39. <entry>Nein</entry>
  40. <entry><emphasis>true</emphasis></entry>
  41. <entry>Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.</entry>
  42. </row>
  43. <row>
  44. <entry>assign</entry>
  45. <entry>string</entry>
  46. <entry>Nein</entry>
  47. <entry><emphasis>n/a</emphasis></entry>
  48. <entry>Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.</entry>
  49. </row>
  50. </tbody>
  51. </tgroup>
  52. </informaltable>
  53. <para>
  54. Falls <link linkend="variable.security">Sicherheit</link> aktiviert
  55. ist, muss das einzubindende Skript im <link
  56. linkend="variable.trusted.dir">$trusted_dir</link> Pfad
  57. liegen. {include_php} muss das Attribut 'file' übergeben werden, das
  58. den Pfad - entweder relativ zu <link
  59. linkend="variable.trusted.dir">$trusted_dir</link> oder absolut -
  60. zum Skript enthält.
  61. </para>
  62. <para>
  63. Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen,
  64. selbst wenn es mehrfach eingebunden wird. Sie können dieses
  65. Verhalten durch die Verwendung des <emphasis>once</emphasis>
  66. Attributs steuern. Wenn Sie 'once' auf 'false' setzen, wird die
  67. Datei immer wenn sie eingebunden wird auch neu geladen.
  68. </para>
  69. <para>
  70. Optional kann das <emphasis>assign</emphasis> Attribut übergeben
  71. werden. Die Ausgabe von <emphasis>include_php</emphasis> wird dann
  72. nicht direkt eingefügt, sondern in der durch assign benannten
  73. Template-Variable abgelegt.
  74. </para>
  75. <para>
  76. Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über
  77. '$this' angesprochen werden.
  78. </para>
  79. <example>
  80. <title>Funktion include_php</title>
  81. <para>lade_nav.php</para>
  82. <programlisting>
  83. <![CDATA[
  84. <?php
  85. // lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu
  86. require_once("MySQL.class.php");
  87. $sql = new MySQL;
  88. $sql->query("select * from site_nav_sections order by name",SQL_ALL);
  89. $this->assign($sections,$sql->record);
  90. ?>
  91. ]]>
  92. </programlisting>
  93. <para>
  94. Bei folgendem index.tpl:
  95. </para>
  96. <programlisting>
  97. <![CDATA[
  98. {* absoluter Pfad, oder relativ zu '$trusted_dir' *}
  99. {include_php file="/pfad/zu/lade_nav.php"}
  100. {foreach item=$aktuelle_section from=$sections}
  101. <a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br>
  102. {/foreach}
  103. ]]>
  104. </programlisting>
  105. </example>
  106. <para>
  107. Siehe auch <link
  108. linkend="language.function.include">{include}</link>, <link
  109. linkend="language.function.php">{php}</link>, <link
  110. linkend="language.function.capture">{capture}</link>, <link
  111. linkend="template.resources">Template Ressourcen</link> and <link
  112. linkend="tips.componentized.templates">Template/Script
  113. Komponenten</link>
  114. </para>
  115. </sect1>
  116. <!-- Keep this comment at the end of the file
  117. Local variables:
  118. mode: sgml
  119. sgml-omittag:t
  120. sgml-shorttag:t
  121. sgml-minimize-attributes:nil
  122. sgml-always-quote-attributes:t
  123. sgml-indent-step:1
  124. sgml-indent-data:t
  125. indent-tabs-mode:nil
  126. sgml-parent-document:nil
  127. sgml-default-dtd-file:"../../../../manual.ced"
  128. sgml-exposed-tags:nil
  129. sgml-local-catalogs:nil
  130. sgml-local-ecat-files:nil
  131. End:
  132. vim600: syn=xml fen fdm=syntax fdl=2 si
  133. vim: et tw=78 syn=sgml
  134. vi: ts=1 sw=1
  135. -->