Podemos incluir con include casi cualquier tipo de archivo en nuestras plantillas, otra cosa distinta es hacer esto:
http://example.com/file.html ó http://example.com/file.phpY que el archivo sea tratado como una plantilla NHTML además de como HTML o PHP. A eso no referimos cuando decimos "usar Nes como Wrapper".
Tanto con include como con Wrapper cuando el archivo lleva al inicio el Tag {: NES 1.0 ('file.pl') :} es tratado como una plantilla nhtml, esto es, puede contener Tags Nes aunque sea un HTML o PHP, si no incluye este Tag el archivo no será tratado como plantilla y aunque incluya Tags estos no serán sustituidos. Para forzar la sustitución aunque no tengamos script Perl podemos incluir "none" {: NES 1.0 none :}
Para usar include no es necesaria ninguna configuración Apache, para Wrapper sí.
Podemos usar Nes para cargar otros tipos de archivos y añadirles la funcionalidad de Nes. En el caso de los HTML debemos añadir la extensión html al tipo perl-nes en nuestro archivo .htaccess:
# Plantillas Nes nhtml AddHandler perl-nes .nhtml AddHandler perl-nes .nhtm # HTML wrapper AddHandler perl-nes .htm AddHandler perl-nes .html # Acción para el tipo perl-nes de Nes Action perl-nes /cgi-bin/nes/dispatch.cgiA partir de este momento los archivos HTML funcionaran igual que los NHTML. Si contiene el Tag {: NES 1.0 ('file.pl') :} será tratado como plantilla Nes, de lo contrario como cualquier HTML más.
La siguiente configuración .haccess es necesaria para usar Nes como PHP Wrapper:
# Plantillas Nes nhtml AddHandler perl-nes .nhtml AddHandler perl-nes .nhtm # PHP Wrapper AddHandler perl-nes .php # Acción para el tipo perl-nes de Nes Action perl-nes /cgi-bin/nes/dispatch.cgi
A partir de este momento los archivos PHP funcionaran igual que los NHTML. Si contiene el Tag {: NES 1.0 ('file.pl') :} será tratado como plantilla Nes, de lo contrario como cualquier PHP más. Pero existe una particularidad con el Tag NES en PHP Wrapper, ha de incluirse así:
<?php /*{: NES 1.0 ('file.pl') :}*/ ?> <?php ...Esto es debido a que lo primero que se ejecuta es el script PHP y PHP dará un error si encuentra una linea como esta: {: NES 1.0 ('file.pl') :} dentro del código PHP.
Por el mismo motivo no es posible inclir Tag Nes dentro del código PHP cuando utilizamos Nes como Wrapper:
<?php define('PHPVAR',{: $ var :}); <- ERROR ... ?>Esto es, sólo podemos poner Tag Nes en el HTML y no en el código PHP. No ocurre lo mismo cuando incluimos PHP con include que podemos incluir Tags Nes en cualquier parte y el Tag NES como en el resto de las plantillas nhtml.
Existen dos programas distintos para lanzar script PHP: php-cli y php-cgi, el primero para la linea de comandos y el segundo para CGI. Para include necesitamos php-cli y para PHP Wrapper php-cgi, si tu instalación no dispone de alguno de los dos deberás instalarlos e incluir su ruta en el archivo .nes.cfg que por defecto tiene estos valores:
# linea de comando para PHP CLI: php_cline = /usr/bin/php # linea de comando para PHP CGI php_cgi_cline = /usr/bin/php-cgi