zpřístupnění proměnných uvintř třídy

ehm, pokoušim se rozchodit objekty v php a narazil jsem na následující problém. mám proměnné v souboru, který vkládám do souboru s objektama, kde je chci pomocí členských funkcí vypsat
-něco jako:

include "chybove_hlasky.php";
...
class pokus{
...
function vypis(){
echo $chyba;
}
...
}
...
$ted->vypis();
...//snad me chapete;)

možná, že i chápu proč to nic nevypisuje, ale jde mi hlavně o to jak to obejít. napadlo mě to vyřešit pomocí $GLOBALS nebo define. oboje funguje dobře, ale pořád se mi to nezda jako ideální řešení...

nevíte někdo jak to řešit líp?
nechápu tě, každopádně sem vyhrabal jeden ze starších skriptíků (úplně nanic, ale na vysvětlení je to geniální)... snad ti to pomůže:








<?php

/*
skript kontroluje pravost e-mailu a zpracovává ho.
řešení přes objekt je zde zbytečné ale je to hezký příklad...
*/


class email {
var $mail;
var $jmeno;
var $vystup;

function add_mail($mail){
$this->mail = $mail;
}
function add_jmeno($jmeno){
$this->jmeno = $jmeno;
}
function out($text){
$this->vystup .= $text;
}
function is_mail_valid(){
$valid = ereg("^([a-zA-Z0-9\._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4})$", $this->mail);
return $valid;
}
function getHTML(){
$gethtml = "<a href=\"mailto:". $this->mail ."\">". $this->jmeno ."</a>";
return $gethtml;
//<a href="mailto:mail@mail.cz>$jmeno</a>"
}
function getEML(){
$geteml = "'". $this->jmeno ."'<". $this->mail .">";
return $geteml;
//'jméno'<mail@mail.cz>
}
}


$mailer = new email;









if($_POST['test'] == 1){
if($_POST['jmeno'] != ""){
$mailer->add_jmeno($_POST['jmeno']);
} else {
$mailer->add_jmeno('[anonym]');
}
if($_POST['mail'] != ""){
$mailer->add_mail($_POST['mail']);
}


if($mailer->is_mail_valid() == 1){
$mailer->out($mailer->getHTML() ."<br>");
$mailer->out($mailer->getEML());
} else {
$mailer->out("E-mail není validní!");
}

} else {
$mailer->out("není zadáno jméno ani e-mail");
}


$mailer->out('
<br><br>
<hr>
<form method="post" action="mailer.php">
<table>
<tr>
<td align="right">jmeno:</td>
<td><input type="text" name="jmeno" size="30"');


if($mailer->is_mail_valid() != 1){
$mailer->out(' value="'. $_POST['jmeno'] .'"');
}


$mailer->out('></td>
</tr>
<tr>
<td align="right">mail:</td>
<td><input type="text" name="mail" size="30"></td>
</tr>
<tr>
<td><input type="hidden" name="test" value="1"></td>
<td><input type="submit" value="zpracuj"></td>
</tr>
</table>

</form>
');




echo($mailer->vystup);

?>
mno, můj největší problém je vždycky v tom, že svý problémy neumim pojmenovat:(. pak už bych to snad i vygooglil...

narychlo sem splacal jeden priklad o co mi jde

------ pokus_hlasky.php ----------
<?php
$chyba_1 = "klasicka promenna...";
define("_CHYBA_2", "promenna pomoci define...");
$GLOBALS['chyba_3'] = "a konecne globalni;)...";
?>

------ pokus.php ----------
<?php
include "pokus_hlasky.php";

class muj_objekt{
var $Hlava, $Telo, $Pata;//nedulezity

function promenny(){
echo "<br />1 -> ".$chyba_1;//nevypise
echo "<br />2 -> "._CHYBA_2;//vypise
echo "<br />3 -> ".$GLOBALS['chyba_3'];//vypise
}
}

$vypisuj = new muj_objekt();
$vypisuj->promenny();
?>

prostě ty proměnný nechci předávat jako parametr funkcí, a přesto je v nich chci vypisovat..., asi je to blbost, ale radši sem se chtěl zeptat a ujistit se jak se to píše...

$chyba_1 = "klasicka promenna...";

(...)

class muj_objekt{
var $Hlava, $Telo, $Pata;//nedulezity

function promenny(){

global $chyba_1; // <<=== ZDE...

echo "<br />1 -> ".$chyba_1;//nevypise
echo "<br />2 -> "._CHYBA_2;//vypise
echo "<br />3 -> ".$GLOBALS['chyba_3'];//vypise
}
}

(...)
tak to jsem pěknej trouba...:D

dik;)