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

Jedno obično pitanje o konstruktorima u PHP - u

[es] :: PHP :: Jedno obično pitanje o konstruktorima u PHP - u

[ Pregleda: 2223 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Neosfr
strasbourg

Član broj: 11125
Poruke: 7
*.w82-126.abo.wanadoo.fr.



Profil

icon Jedno obično pitanje o konstruktorima u PHP - u16.03.2007. u 19:05 - pre 208 meseci
Pozdrav svima,

Iako nemam preterano iskustva sa PHP-om, ne bi se moglo reći ni da sam početnik ali što se tiče OO Programiranja, tu imam puno više iskustva sa javom. U jednom projektu koji trenutno radim baš bi mi leglo da u nekim klasama imam dva konstrukora. Recimo jedan koji prima i jedan koji ne prima argumente, kao što sam navikao u Javi. Ja sam malo googlao o toj temi i našao da: 1. ne može, 2. Šta će ti uopšte dva konstruktora kada su argumenti svkaako opcioni pa ih i ne prosleđuj ako nećeš. Tako sam i uradio i to donekle funkcioniše ali kada instanciram klasu bez argumenta pojavi mi se ružan Warning koji mi kaže šta sam uradio i pokvari celu stranicu.
Pitanje je da li i kako može u PHP-u da se ima jedan konstruktor sa i jedan bez argumenata ili jedan sa dva a drugi sa tri i da kada pozoveš jedan da se ostali ne izvrše.

Hvala unapred!
 
Odgovor na temu

1r0nM4n
Nenad Vasić
Web Developer
Beograd

Član broj: 55970
Poruke: 441
*.239.eunet.yu.

ICQ: 303614173
Sajt: www.nenadvasic.com


+1 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u16.03.2007. u 20:32 - pre 208 meseci
Citat:
kada instanciram klasu bez argumenta pojavi mi se ružan Warning koji mi kaže šta sam uradio i pokvari celu stranicu.

Ovo možeš da ukloniš sa stranice ako staviš u kôdu sledeće:
Code:
error_reporting(0);

Samo što to nije pravo rešenje tvog problema a ja ti ne mogu pomoći jer se do sada nisam bavio OO programiranjem u PHP-u.

p0z
 
Odgovor na temu

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.cmu.carnet.hr.



+26 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u16.03.2007. u 21:07 - pre 208 meseci
zar nebi radilo da staviš ovak neš
Code:
class bla
{
function bla($a="default",$b="default")
...
}

pa onda vidiš sve nebi li tako trebalo raditi nisam to sprobal?

there's no place like 127.0.0.1
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.adsl.beotel.net.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u16.03.2007. u 21:22 - pre 208 meseci
Ovo je i meni prvo palo na pamet. Koliko ja kontam, php nema bas tu vrstu pravih konstruktora, pa su to premostili tako sto mozes funkciji da deklarises "default" vrednost. Inace, error_reporting(0); ce da ti skloni warning, ali lepo rece 1r0nM4n, to ti nije resenje. Mislim da je veoma losa praksa razvijati aplikaciju sa error_reporting(0); . To samo postavis kad skriptu postavis live na serveru, kako krajnji korisnik ne bi video neku gresku. Iskreno, nikad se nisam sreo sa potrebom da koristim dva konstruktora, doduse, ne koristim (nazalost) bas potpuno OOP, pa mozda zato. Mozda da konkretnije opises o cemu se radi, cisto da vidimo dal ovo gore sa defaultnim vrednostima vrsi posao, mada mislim da je to jedini nacin. Opet, mozda i zavisi od slucaja
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.ispone.net.au.



+30 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u16.03.2007. u 22:26 - pre 208 meseci
Sto se tice overloading constructor na nacin koji koristis u javi, nazalost to u php-u NEMA. I sam sam imao problema sa time. Cak sam postavljao ovde pitanje u vezi toga.

Uostalom pogledaj ovde :
http://au3.php.net/manual/en/language.oop5.overloading.php
http://au3.php.net/manual/en/language.oop5.decon.php


Poz
sale
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

hatebreeder
Sinisa Bobic
Belgrade

Član broj: 48145
Poruke: 192
*.cpe.vektor.net.

Jabber: sinisabobic@gmail.com
ICQ: 339407553
Sajt: www.sinisabobic.com


Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u17.03.2007. u 00:23 - pre 208 meseci
Citat:
w3bl0rd: zar nebi radilo da staviš ovak neš
Code:
class bla
{
function bla($a="default",$b="default")
...
}

pa onda vidiš sve nebi li tako trebalo raditi nisam to sprobal?


Kolko sam ja upucen ovako je funkcionisalo u starijim verzijama PHP-a... prema onome sa njihovog sajta sada se funkcija mora nazvati ___constructor
 
Odgovor na temu

Ivand
Ivan Dimitrijević
...
yu/pa

Član broj: 17
Poruke: 2161
*.3dnet.co.yu.

Sajt: www.webmanijak.com


+4 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u17.03.2007. u 08:55 - pre 208 meseci
To sada se odnosi na php >5 koji uvodi __construct().

Klasican rad sa vise metoda-konstruktora sa istim imenima poznat iz jave tj c++ u php (jos) nije implementiran,
tako da za sada ti preostaje da koristis __construct sa opcionim argumentima.
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u17.03.2007. u 12:25 - pre 208 meseci
http://www.php.net/manual/en/function.func-get-args.php
Banned - Not available
 
Odgovor na temu

brainbuger

Član broj: 9647
Poruke: 440
80.93.236.*



+52 Profil

icon Re: Jedno obično pitanje o konstruktorima u PHP - u17.03.2007. u 16:05 - pre 208 meseci
Ako resis da radis overdrive konstruktora preko func_get_args(), mogao bi recimo da probas nesto ovako:
Code:

class objekat{

   function objekat(){

       $broj_parametara = func_num_args() ; //broj parametara koji je primila funkcija
 
       $niz_parametara = func_get_args() ;  //niz u kojem su svi parametri
 
       call_user_func_array(array( &$this, 'objekat'.$broj_parametara),  $niz_parametara) ; 

   }

   function objekat0(){  //konstruktor koji prima 0 parametara
   }

   function objekat1($p){  //konstruktor koji prima 1 parametar
   }
       
   function objekat2($p1, $p2){  //konstruktor koji prima 2 parametra
   }
}
Radi i na PHP 4.x i na PHP 5.x
 
Odgovor na temu

[es] :: PHP :: Jedno obično pitanje o konstruktorima u PHP - u

[ Pregleda: 2223 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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