Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 3.882 pregleda

Najnovija ↓

oop pocetnik, problem sa varijablama 12.10.2009. u 17:52 · pre 207 meseci #1
Imam stranicu index.php
Code:
$component = new component();
$component->pid = 1;


i stranicu sa klasom
Code:

class component
    {
    public $pid;
    

    function display_main()
        {
        $pid=$this->pid;
        echo "$pid";
        }    
    }

Pitanje: Da li mogu da pristupim atributu klase ($pid) iz funkcije display_main() a da ne pisem $pid=$this->pid ?
Ili da preformulisem da li mogu nekako da dozvolim svim funkcijama u klasi da automatski koriste pid-u (posto ih imam brdo, a ne svidja mi se ideja da u svakoj pisem $pid=$this->pid).
Da ne pomislite da sam lenj, ispale su mi oci od citanja i guglanja i nikako da nadjem objasnjenje za ovo...
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 18:06 · pre 207 meseci #2
Nemaš potrebe za $pid=$this->pid;
Stavi direktno echo $this->pid;

U svakom slučaju ako ne staviš $this-> smatraće to lokalnom promenljivom.
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 18:48 · pre 207 meseci #3
Nije mi jasno sta ce ti $pid=$this->pid;

gore na pocetku si deklarirao $pid kojoj pristupas sa $this->pid u CIJELOJ klasi component odnosno ako pravi instancu te klase u nekom drugom fajlu recimo ovako:

Code:


include 'component.class.php';

$com = new component; // to je instanca

echo $com->pid; // znaci umjesto $this upotrebljavas $com odnosno instancu



evo super dokument za PHP OOP ja sam ga procitao i puno toga mi je bilo jasnije

http://rapidshare.com/files/292082218/PHP_5_power_programming.pdf
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 19:14 · pre 207 meseci #4
Citat:
Nije mi jasno sta ce ti $pid=$this->pid;

U funkcijama dosta koristim varijablu pid pa mi je citljiviji kod kad na vrhu funkcije napisem da je pid = to i to, da ne moram na 100 mesta isto da ponavljam. Mislio sam da nekako mogu i to da izbegnem (pa da samo upisem gore u klasi pid) ali izgleda da je to nemoguce. Hvala za pdf.
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 20:44 · pre 207 meseci #5
ne razumijem najbolje sta ti ustvari hoces?

u svakoj funkciji unutar te klase mozes da koristis $this->pid a mozes na vrhu takodje dodjelit default vrijednost public $pid = neki id, a mozes ju takodje pomocu funkcije __construct() definisat.... Samo reci tacno i preciznije sta hoces?
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 21:30 · pre 207 meseci #6
Pa kad si već deklarisao tu promenljivu kao člana klase (public $pid), ti možeš da joj pristupaš u svakoj metodi te tvoje klase sa $this->pid. Nije valjda da ti smeta što stalno mora da pišeš $this->pid? :)
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 23:24 · pre 207 meseci #7
Citat:
Nikola Poša: Pa kad si već deklarisao tu promenljivu kao člana klase (public $pid), ti možeš da joj pristupaš u svakoj metodi te tvoje klase sa $this->pid. Nije valjda da ti smeta što stalno mora da pišeš $this->pid? :)

Upravo to mi smeta :) Ova klasa ce za par dana imati oko 100 funkcija. I sam me brine da cu mozda morati da promenim pid na vrhu, a u funkcijama cu na 500 mesta napisati $pid=$this->pid;(preterujem :)). I znaci osecam da cu onda napraviti jedno veliko s*anje :) Ali ok, samo me je zanimalo da li je moguce da izbegnem ovo. Kad nije nema veze, pisacu $this->pid :) Uostalom ko pita ne skita :D
Hvala jos jednom :)
Re: oop pocetnik, problem sa varijablama 12.10.2009. u 23:50 · pre 207 meseci #8
Kao sto su ljudi rekli, nema smisla da koristis $pid = $this -> pid;
prihvati $this -> pid kao nesto standardno i sa tim radi. U suprotnom neces daleko odmaci jer neke klase imaju 50 promenljivih, pa neces moci sve da ih pakujes ovako.
Potpis
Moj Veb Sajt HostCentar Blog
Aleksinac Južna Srbija TimeOut
Re: oop pocetnik, problem sa varijablama 13.10.2009. u 00:07 · pre 207 meseci #9
Citat:
Milos911: sam me brine da cu mozda morati da promenim pid na vrhu, a u funkcijama cu na 500 mesta napisati $pid=$this->pid;


Pa ti kao da programiraš na bušenim karticama, pa nemaš search and replace u editoru... :)
Re: oop pocetnik, problem sa varijablama 13.10.2009. u 00:23 · pre 207 meseci #10
Ovo je jedina promenljiva koju koriste sve funkcije u klasi(pa mi je trenutno lakse ovako)...Znaci praksa je da se uvek pise $this->something?

Citat:
Pa ti kao da programiraš na bušenim karticama, pa nemaš search and replace u editoru... :)

Zar nisi cuo da srbija zaostaje za svetom? Niko ne zna koliko ;) :D
Re: oop pocetnik, problem sa varijablama 13.10.2009. u 00:39 · pre 207 meseci #11
Apsolutno nema razloga da uvodiš još jednu lokalnu promenljivu koja će još dodatno da ti zauzima memoriju. Nije da ćeš u ovom konkretnom slučaju nešto mnogo da profitiraš sa tih par bajtova, ali nije loše da imaš i te stvari na umu kad pišeš klase/funkcije.
Re: oop pocetnik, problem sa varijablama 13.10.2009. u 02:08 · pre 207 meseci #12
Ok. Razumeo i primio k znanju :)
Hvala (opet(e vise necu govoriti hvala jer se zbog toga sam sebi gadim. Pocinjem da zvucim nezahvalno kad 1000x kazem hvala :). Sutra cu da pitam jos par stvari i da znate unapred da cu biti zahvalan za odgovore:)))
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme