Foros del Web » Programando para Internet » PHP »

heredoc

Estas en el tema de heredoc en el foro de PHP en Foros del Web. He intentado usar heredoc en el siguiente caso pero me da un error: Parse error: syntax error, unexpected T_ECHO, expecting ')' in C:\AppServ\www\Practicas_Mias\practicas21\inicio.p hp on ...
  #1 (permalink)  
Antiguo 24/08/2010, 16:23
 
Fecha de Ingreso: agosto-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
heredoc

He intentado usar heredoc en el siguiente caso pero me da un error:

Parse error: syntax error, unexpected T_ECHO, expecting ')' in C:\AppServ\www\Practicas_Mias\practicas21\inicio.p hp on line 7

Dentro de SetContenidos tenemos codigo html, pero es necesario poner la barra invertida (\) antes de las comillas y otros simbolos para que php lo interprete correctamente, mi pregunta es:


El código con los contenidos que quiero incluir es bastante largo, ¿exite la prosibilidad de pasar el codigo html sin tener que poner la \ previamente a todas las comillas?

Muchas gracias por adelantado.


El código introducido ha sido:


<?php
require ("pagina.php");

$paginaInicio = new Pagina();

$paginaInicio -> SetContenidos
(echo <<<EOT
<!-- end content -->
<!-- start sidebars -->
<div id="sidebar2" class="sidebar">
<ul>
<li>
<form id="searchform" method="get" action="#">
<div>
<h2>Site Search</h2>
<input type="text" name="s" id="s" size="15" value="" />
</div>
</form>
</li>
<li>
<h2>Tags</h2>
<p class="tag"><a href="#">dolor</a> <a href="#">ipsum</a> <a href="#">lorem</a> <a href="#">sit amet</a> <a href="#">dolor</a> <a href="#">ipsum</a> <a href="#">lorem</a> <a href="#">sit amet</a></p></li>
<li>
<h2>Calendar</h2>
<div id="calendar_wrap">
<table summary="Calendar">
<caption>
October 2009
</caption>
<thead>
<tr>
<th abbr="Monday" scope="col" title="Monday">M</th>
<th abbr="Tuesday" scope="col" title="Tuesday">T</th>
<th abbr="Wednesday" scope="col" title="Wednesday">W</th>
<th abbr="Thursday" scope="col" title="Thursday">T</th>
<th abbr="Friday" scope="col" title="Friday">F</th>
<th abbr="Saturday" scope="col" title="Saturday">S</th>
<th abbr="Sunday" scope="col" title="Sunday">S</th>
</tr>
</thead>
<tfoot>
<tr>
<td abbr="September" colspan="3" id="prev"><a href="#" title="View posts for September 2009">&laquo; Sep</a></td>
<td class="pad">&nbsp;</td>
<td colspan="3" id="next">&nbsp;</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td id="today">4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
<td>14</td>
</tr>
<tr>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>20</td>
<td>21</td>
</tr>
<tr>
<td>22</td>
<td>23</td>
<td>24</td>
<td>25</td>
<td>26</td>
<td>27</td>
<td>28</td>
</tr>
<tr>
<td>29</td>
<td>30</td>
<td>31</td>
<td class="pad" colspan="4">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</li>
<li>
<h2>Categories</h2>
<ul>
<li><a href="#">Aliquam libero</a></li>
<li><a href="#">Consectetuer adipiscing elit</a></li>
<li><a href="#">Metus aliquam pellentesque</a></li>
<li><a href="#">Suspendisse iaculis mauris</a></li>
<li><a href="#">Urnanet non molestie semper</a></li>
<li><a href="#">Proin gravida orci porttitor</a></li>
<li><a href="#">Aliquam libero</a></li>
<li><a href="#">Consectetuer adipiscing elit</a></li>
<li><a href="#">Metus aliquam pellentesque</a></li>
<li><a href="#">Urnanet non molestie semper</a></li>
<li><a href="#">Proin gravida orci porttitor</a></li>
<li><a href="#">Aliquam libero</a></li>
<li><a href="#">Consectetuer adipiscing elit</a></li>
<li><a href="#">Metus aliquam pellentesque</a></li>
<li><a href="#">Suspendisse iaculis mauris</a></li>
<li><a href="#">Urnanet non molestie semper</a></li>
<li><a href="#">Proin gravida orci porttitor</a></li>
<li><a href="#">Metus aliquam pellentesque</a></li>
<li><a href="#">Suspendisse iaculis mauris</a></li>
<li><a href="#">Urnanet non molestie semper</a></li>
<li><a href="#">Proin gravida orci porttitor</a></li>
<li><a href="#">Metus aliquam pellentesque</a></li>
</ul>
</li>
</ul>
</div>
<!-- end sidebars -->
  #2 (permalink)  
Antiguo 24/08/2010, 16:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: heredoc

amigo, ¿no crees correcto leer el manual antes de meter las manos al lodo?
http://php.net/manual/en/language.types.string.php

porque bueno, es posible de muchas maneras lo que necesitas... pero, ¿necesitas que alguien te de el código o realmente quieres aprender leyendo el manual?

simple y sencillamente la sintaxis que estas empleando esta del nabo, deberías leer el manual reiteradas veces!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/08/2010, 16:33
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: heredoc



Creo que lo que estas haciendo es realmente muy sucio, para esto te convendria un "template engine" o minimo un rendereador de vistas para poder inyectar html a tus contenidos.

Podrias usar Zend_View

http://framework.zend.com/manual/en/zend.view.html

¿De que te sirve hacer tu programación Fancy con clases u objetos si vas a recurrir a este tipo de practicas?

__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:49.