Comunidad PHPeros

Lenguajes => PHP => (POO) Programación Orientada a Objetos => Mensaje iniciado por: -Pituko- en 14 de Julio de 2011, 21:52:39 pm

Título: No me funcionan los saltos de línea en POO \n
Publicado por: -Pituko- en 14 de Julio de 2011, 21:52:39 pm
Estoy haciendo una clase y al definir $this->contenido = "\n hola"; lo imprimo y me muestra \n hola y si lo hago en programación estructurada en PHP si me lo hace como salto de línea.
¿Hay alguna forma de hacer el salto en POO?
Título: Re:No me funcionan los saltos de línea en POO \n
Publicado por: naveda en 14 de Julio de 2011, 22:00:02 pm
Seguramente estas escribiendo sobre un documento formateado (HTML).

Para que los \n tengan el efecto de salto de linea debe ser texto plano.
Título: Re:No me funcionan los saltos de línea en POO \n
Publicado por: CarlosRdrz en 15 de Julio de 2011, 00:54:25 am
Estoy haciendo una clase y al definir $this->contenido = "\n hola"; lo imprimo y me muestra \n hola y si lo hago en programación estructurada en PHP si me lo hace como salto de línea.
¿Hay alguna forma de hacer el salto en POO?

POO no interfiere en cosas como esa. Tu problema es de lógica en el código, no de paradigma de programación por llamarlo de alguna manera.
Sin el código y un poco mas de información poco más puede hacerse :)

Saludos!
Título: Re:No me funcionan los saltos de línea en POO \n
Publicado por: -Pituko- en 15 de Julio de 2011, 01:17:05 am
POO no interfiere en cosas como esa. Tu problema es de lógica en el código, no de paradigma de programación por llamarlo de alguna manera.
Sin el código y un poco mas de información poco más puede hacerse :)

Saludos!
Ok, estaba haciendo una clase para construir un sitio web en HTML (para facilitar códigos a la hora de escribir), entonces asigne una variable a la clase que se encargará de guardar el contenido llamada content, el contenido se guarda bien y todo pero a la hora de agregar \n o \r no funciona el salto de línea en el código.

El código es algo así:

<?php
class web {
var $title;
var $content;
function __constructor($titulo) {
$this->title = $titulo;
$this->content = '<html>\n<head>\n<meta http-equiv="content-type" content="text/xml; charset=utf-8" />';
$this->content .= '\n <title>'.$this->title.'</title>\n</head>\n<body>';
}
function addTag($tag, $cont) {
$this->content .= '<'.$tag.'>'.$cont.'</'.$tag.'><br />';
}
function img($src, $height, $width) {
$this->content .= '<img src="'.$src.'" height="'.$height.'" width="'.$width.'" />';
}
function h1($text) {
$this->content .= '<h1>'.$text.'</h1><br />';
}
function h2($text) {
$this->content .= '<h2>'.$text.'</h2><br />';
}
function viewPage() {
$this->content .= '</body></html>';
return $this->content;
}
?>


Y su ejecución así:


<?php
include "easyweb.php";
$sitio1 = new web("Prueba de sitio");
$sitio1->h1("Prueba de sitio");
$sitio1->addTag('b', 'Esto es un texto en negritas');
echo $sitio1->viewPage();
?>


(Sin criticas al código que no lo he terminado).
Título: Re:No me funcionan los saltos de línea en POO \n
Publicado por: Physlet en 15 de Julio de 2011, 01:48:37 am
El problema son las comillas simples.

'\n' equivale al literar \n
"\n" equivale al line feed (salto de línea).
Título: Re:No me funcionan los saltos de línea en POO \n
Publicado por: -Pituko- en 15 de Julio de 2011, 01:56:11 am
El problema son las comillas simples.

'\n' equivale al literar \n
"\n" equivale al line feed (salto de línea).
Ok, gracias, K+.
Título: Re:No me funcionan los saltos de línea en POO \n
Publicado por: Physlet en 15 de Julio de 2011, 02:43:22 am
'\n' equivale al literar \n
Era 'literal' xd