Comunidad de diseño web y desarrollo en internet online

Por que no funciona esta interfaz ?? POO PHP 5

Citar            
MensajeEscrito el 14 Mar 2012 02:52 am
Que tal, estoy haciendo un ejercicio en POO y PHP5 pero al correr el script no funciona... que estoy haciendo mal?...

index.php

Código PHP :

<?php

require_once 'pro.php';
require_once 'pantalla.php';

class index
{
    public function run()
    {
        $array = array('animal' => '1414', 'stat' => 'Gestante');        
        
        $pantalla = new pantalla();
        $txt = new texto();
        $txt->show($array,'usuarios');
        $pantalla->showIt($txt);
    }
}

$haber = new index();
$haber->run();



pantalla.php

Código PHP :

<?php
require_once 'interfaceShow.php';

class pantalla
{
    public function showIt(interfaceShow $mensaje)
    {
        echo $mensaje->show();
    }
}


interfaceShow.php

Código PHP :

<?php

interface interfaceShow
{
    public function show($array, $table);
}



pro.php

Código PHP :


<?php
require_once 'interfaceShow.php';

class texto implements interfaceShow
{
    public function show($array, $table)
    {
        $nuevo = '';
        foreach($array as $clave => $valor){
            $nuevo .= $clave." -> ".$valor."<br/>";
        }
        return $nuevo."<br/> Para la tabla ".$table;
    }
    public function __toString()
    {
        return $this->show();
    }
}



Ademas por que me dice que en la clase texto las variables $array y $table no están definidas siendo que si, ademas las imprimo en un echo y lo hace bien?...

esto es lo que arroja al correr el script:

Código PHP :

Warning: Missing argument 1 for texto::show(), called in C:\xampp\htdocs\a\pantalla.php on line 8 and defined in C:\xampp\htdocs\a\pro.php on line 6

Warning: Missing argument 2 for texto::show(), called in C:\xampp\htdocs\a\pantalla.php on line 8 and defined in C:\xampp\htdocs\a\pro.php on line 6

Notice: Undefined variable: array in C:\xampp\htdocs\a\pro.php on line 9

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\a\pro.php on line 9

Notice: Undefined variable: table in C:\xampp\htdocs\a\pro.php on line 12

Para la tabla 



Ojalá alguien sepa POO en PHP5 y me ayude por que estoy vuelto loco desde hace unos dias...


Muchas gracias !!

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Mar 2012 02:37 pm
bueno antes que nada , tienes que saber interpretar los errores que te marca el parser php,

Código :

Warning: Missing argument 1 for texto::show(), called in C:\xampp\htdocs\a\pantalla.php on line 8 and defined in C:\xampp\htdocs\a\pro.php on line 6

te dice que el metodo show() tiene que tener por lo menos 1 argumento,ya que asi lo estas definiendo en "pro.php"

Código PHP :

public function show($array, $table)
    {}

con eso le dices que el metodo si o si tiene que tener 2 argumentos , o bien podrias darles valores por defecto en caso de no tener dichos argumentos

Código PHP :

public function show($array = array(), $table = '')
    {}

bueno los demas erroes son generados por el primero , el foreach solo rrecorre arrays, asi que usalos bien , tienes a tu disposicion vairas formas de validar datos , ifs ,como empiezas con POO te sugiero busques informacion sobre las SPL de php , a parte de mirar los ejemplos ponlos en practica :)

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.