Comunidad PHPeros
Lenguajes => PHP => (POO) Programación Orientada a Objetos => Mensaje iniciado 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?
-
Seguramente estas escribiendo sobre un documento formateado (HTML).
Para que los \n tengan el efecto de salto de linea debe ser texto plano.
-
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!
-
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).
-
El problema son las comillas simples.
'\n' equivale al literar \n
"\n" equivale al line feed (salto de línea).
-
El problema son las comillas simples.
'\n' equivale al literar \n
"\n" equivale al line feed (salto de línea).
Ok, gracias, K+.
-
'\n' equivale al literar \n
Era 'literal' xd