Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...

[es] :: PHP :: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...

[ Pregleda: 2837 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.adsl.sezampro.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...12.01.2006. u 18:07 - pre 221 meseci
Imam jedan problem, ne znam ni kako se to zove, ni sta radi, ali cu vam dati primer i ko razume svhatice i meni ce pomoci.

Samo da napomenem PHP 5 je u pitanju.

Hvala unapred.

Idemo ovako, dacu kod (deo) pa cu objasniti sta i kako ce se desava, a sta i kako meni treba.

Stvari koje naznacim da RADE i da NEMAM PROBLEMA SA NJIMA molim da ne uzimate u obzir i da ih ne komentarisete, znaci sve radi.

Naglasicu gde je problem.

Code:


class tatadetetest
    {

//primer funkcije
public function komsija(){

$this->code .='KOMSIJA'; 

}

// kada pozovem sledecu funkciju uredno se prikaze KOMSIJA

public function gencode()
        {
            print $this->code;
        }

//evo sada sledi problem... jer ne znam kako se poziva sledece:

public function tata()
{
     function dete($bilosta='')
     {
                 echo "$bilosta";

// ECHO isprinta sto mi je potrebno... ali kako da to uradim sa $this->code .=
// Pomagajte....
     }

}

}




Nadam se da sam dao sve potrebne informacije.

Dakle ne znam kako da isprintam ovo $bilosta uz pomoc $this->code .= a ne uz echo.

To mi je neophodno da bi uz pomoc funkcije gencode() generisao neki code... Znaci da se sve obuhvati u $this->....

Unapred zahvalan na pomoci.
Puno pozdrava od Ivana.
 
Odgovor na temu

Vuk Nikolić
Vuk Nikolić
Banovo Brdo, Beograd

Član broj: 4895
Poruke: 244
195.252.89.*

ICQ: 42139643
Sajt: www.letva.org


Profil

icon Re: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...13.01.2006. u 00:00 - pre 221 meseci
nisam bas shvatio sta zelis, ali ti unutar metode definises novu metodu...

public function tata()
{
function dete($bilosta='')
{
echo "$bilosta";

// ECHO isprinta sto mi je potrebno... ali kako da to uradim sa $this->code .=
// Pomagajte....
}

}

nije mi jasno sta tata treba da radi a sta dete.

jedna varijanta je:
function dete($bilosta='')
{
$this->code .= "$bilosta";


}

ili vec umesto dete da stoji tata...
i gde definises taj code?



 
Odgovor na temu

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.smin.sezampro.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Re: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...13.01.2006. u 00:24 - pre 221 meseci
Uf. Konacno da se neko javio... :)

Evo blize objasnjenje.

Ja kasnije funkciju tata pozovem i pohvatam sve sto pise

$this->code .=$varijabla

i upisem u fajl.

----------
a ne mogu da razdvojim tu funkciju (dete) jer se nalazi unutar parsera (ja sam ovde dao primer), znaci mora da stoji unutar funkcije tata.

ovo sto si ti napisao je OK, ali da funkcija NIJE unutar druge funkcije.

Code:
jedna varijanta je:
function dete($bilosta='')
{
$this->code .= "$bilosta";

}


ima tu neki fazon da se uradi sa $this-> ali da se stavi nesto ispred this... ali ne znam sta :(

----------

shvatas li me?

to sto si napisao RADI.

ali ne radi kada se funkcija nalazi UNUTAR druge funkcije...

Molim te trazi jos informacija ili bilo sta, ali ostani uz temu posto vidim da si zainteresovan...

Hvala.
Ivan.
 
Odgovor na temu

pajac
Slovenija

Član broj: 17163
Poruke: 66
*.dsl.siol.net.



Profil

icon Re: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...13.01.2006. u 08:27 - pre 221 meseci
Znači ti bi volio zvat funkciju koja je u prvoj funkciji? Sam ja to dobro razumeo?
If we want to discover, we first have to be willing to get lost!
 
Odgovor na temu

valeksa
Vladan Aleksic
Beograd

Član broj: 33124
Poruke: 46
80.93.229.*



Profil

icon Re: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...13.01.2006. u 09:31 - pre 221 meseci
samo da napomenem da je ovo za PHP4, nemam trenutno 5 pri ruci...

Code:

// primer koriscenja
$tdt = new tatadetetest();
$tdt->komsija();
$tdt->gencode();
echo "<br>";

$tdt->tata().dete("xyz");

// OUTPUT izgleda ovako:
//
// KOMSIJA
// xyz



da li je to sto ti treba?

Pozdrav,
Vladan
 
Odgovor na temu

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.smin.sezampro.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Re: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...13.01.2006. u 14:20 - pre 221 meseci
Pozdrav svima!

Vladane mislim da je to to sto mi treba, ali ajmo na pravi primer zasta meni treba tako mislim da cu lakse razumeti da resim... Ovako nisam uspeo.

evo ga konkretan primer DELA koda i skripta koji se izvrsava (on ce biti drugi):

Code:
class GeneratorKoda
    {

private  $code='';    

//pa nevazne fukcije, pa stizemo do funkcije koja radi:

public function BAZA()
{
// konekcija sa bazom i sve sto ide...
// ovaj deo je bitan gde ja sa $this->code .= 

 for ($i=0; $i <$num_results2; $i++)
  {
$row = mysql_fetch_array($result3);
$this->code .= '<h2>';
$this->code .= stripslashes($row['naslov']); 
$this->code .= '</h2><h3>';  
$this->code .= stripslashes($row['tekst']);
$this->code .= '</h3><br>';
  }
}

//ovaj deo kasnije printa funkcija PRIKAZI

public function PRIKAZI()
        {
            print $this->code;
        }

//sada stizemo do problematicnog dela

public function Rezultati()
{

// izbacen deo koda

    function izlistaj()
    {
//izbacen code

            echo '<h1>'.$var1.'</h1><h1>'.$var2.'<br></h1><br>';

// ovo gore je vazno ^^^^^^^^        
    }

// izbacen donji deo coda

}
}



Kako da ovo sto je ovde printano sa echo
ubacim u $this->code ???

inace kod izvrsavam ovako:

Code:
 require_once('klasagenerator.php');
    $htmlgenerator = new GeneratorKoda();


    $htmlgenerator->BAZA();
    $htmlgenerator->Rezultati();
    $htmlgenerator->PRIKAZI();




Hvala na odgovoru.
Pozdrav svima!

[Ovu poruku je menjao evil_angel_yu dana 13.01.2006. u 15:22 GMT+1]
 
Odgovor na temu

valeksa
Vladan Aleksic
Beograd

Član broj: 33124
Poruke: 46
80.93.229.*



Profil

icon Re: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...16.01.2006. u 11:37 - pre 221 meseci
Pozdrav,

uf..malo je zamrseno..ajde da vidimo sta mozemo da uradimo :):)

Pazi, posto se radi, koliko se secam, o 'generatoru koda' moras da odvojis deo koji generise kod od prikaza. Ne znam tacno sta rade i cemu su namenjeni, ali ovako kako mi se cini, ne ide. Uzmi papir i olovku pa to sistematizuj.

Zasto ovo kazem?

Zato sto na tvoje pitanje, kako da ono sto si prikazo sa echo(print) ubacis u variablu tj. atribut klase, ja cu da postavim pitanje zasto to uopste radis?

Trebao bi da ubacis to sto ti treba u neki atribut klase, pa ako ti treba da ga prikazes, onda ga prikazas a ako ti treba da spajas sa nekim dugim atributima onda to i radis...

To ti kazem, jer ce onda tvoj metod izlistaj() da radi bas to sto i radi, ali kao
Code:

echo $this->code1

a metod naprimer, formirajCode1() ce raditi
Code:

$this->code1 = <h1>'.$var1.'</h1><h1>'.$var2.'<br></h1><br>';


Znaci, sedi i objasni sebi sta treba klasa GeneratorKoda TACNO da radi, pa ce biti mnogo jasnije.

BTW, da pitanje ne ostane bez odgovora :):), moze se u variablu ubaciti ono sto si 'odstampao' preko output control funkcija
(pogledaj http://www.php.net/manual/en/ref.outcontrol.php) ali je to prekomplikovano a i mislim da nema potrebe u ovom slucaju posezati za tim resenjem.

BTW, zasto koristis nested funkcije? Koji je tacno razlog?

Pozdrav,
Vladan

[Ovu poruku je menjao valeksa dana 16.01.2006. u 12:45 GMT+1]
 
Odgovor na temu

[es] :: PHP :: Uf... Neznam ni kako da nazovem... Ima veze sa klasama i funkcijama...

[ Pregleda: 2837 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.