Yhdessä scriptissä on näin.
Mitenkäs tuo testi luokka on tehty että sitä pystyy käyttämään noin?
Lisättäköön vielä, että tiedosto missä tuo testiluokka on salattu joten sieltä ei voi katsoa.
PHP5 Object Iterations. Eli tuo tulostaa luokan testi (toivottavasti tämä on Testi) julkiset muuttujat, mikäli sitä on siis kutsuttu luokan ulkopuolelta.
Kiitoksia tuo selventi. Mutta onko siitä mitään haittaa jos luo taulukkoon isonkasan olioita kuten tuossa on tehty vai onko suotavampaa välittää silloin tiedot parametrina metodille?
class x { private $url = Asetukset::host.Asetukset::file; ...
Miksi tuo antaapi erroria "Parse error: parse error, unexpected '.', expecting ',' or ';'"
Mutta constructorissa toimii
$this->url = Asetukset::host.Asetukset::file;
Tuo Asetukset... taitaa pitää laittaa lainausmerkkien sisään(").
sane kirjoitti:
Tuo Asetukset... taitaa pitää laittaa lainausmerkkien sisään(").
Mutta silloinhan tuo toimii ihan eritavalla, siitä tulee merkkijono joka sisältää Asetukset.... tekstin. Tarkoitus on sijoittaa tuohon Asetukset luokan host ja file muuttujien tiedot.
En kyllä osaa sanoa, miksi se tuossa heittäisi virhettä, ei varmaan auta välit pisteen molemmin puolinkaan? Eipä sillä, samakos se alustus/esittely on hoitaa ennen konstruktoria, ja sitten asettaa arvo siellä konstruktorissa, näin itse toimin yleensä. Privaattijäsenien eteen on suositeltavaa laittaa _ ($_url). PEARin koodausstandardit.
Juu, eikös se ole oikeaoppinen tapa hoitaa noi alustukset konstruktorissa. Voi olla, että virhe johtuu ihan vain siitä.
Opiskelija kirjoitti:
Mutta onko siitä mitään haittaa jos luo taulukkoon isonkasan olioita kuten tuossa on tehty vai onko suotavampaa välittää silloin tiedot parametrina metodille?
Saisiko tähän jotain selvennystä, esimerkkiä tms.?
Saahan toki selvennystä. Koodi on sit väsyneenä tehty joten se on sen mukaista, mutta kyl tuosta kai idean ymmärtänee.
Parametri juttu
Tuo tee-metodi palauttaa tiedot arrayna.
Sitten tuo taulukko olio juttu on tuo aikasempa esimerkki.
Tutkimpa tuota PEARin koodausstandardeja, mutta hieman ihmetyttää miksi if ja funktiot kirjoitetaan eritavalla?
Mielestäni selvempä on varsinkin jos pitempä koodinpätkä tulee tuohon.
if (..) { ... }
tsuriga kirjoitti:
ei varmaan auta välit pisteen molemmin puolinkaan? Eipä sillä, samakos se alustus/esittely on hoitaa ennen konstruktoria, ja sitten asettaa arvo siellä konstruktorissa
Ei tuolla ole mitään vaikutusta yhä sama errori tulee. Täytyypä sitten tehdä noin, tosin aika outoa että private $url = Asetukset::host; toimii tuossa kohdin ongelmitta vasta . aiheuttaa errorin.
Olga kirjoitti:
Juu, eikös se ole oikeaoppinen tapa hoitaa noi alustukset konstruktorissa. Voi olla, että virhe johtuu ihan vain siitä.
Kenties, mutta toisaaltaan http://pear.php.net/manual/en/standards.sample.
Vielä semmoista olisiko tiedossa hyvää olioden saloihin opastavaa opasta mieluiten lähinnä PHP:lle?
Kun tuo olio ajattelumailma on viel vähän hakusessa, PHP:n manuaali ei siinä juurikaan mitään auta.
Ainakin tuo readme.fi:n PHP5 & MySQL ohjelmointi (W. Jason Gilmore) on varsin kattava yleisteos ja siitä löytyy myös erittäin perusteellinen olio-osuus. Vaikka itse luinkin opuksen vasta näin enemmän oppineena, oli siinä rutkasti uusia juttuja ja vinkkejä. Jos PHP:n manuaali on raamattu, niin tuo on sitten varmaan joku virsikirja :)
Olga kirjoitti:
Ainakin tuo readme.fi:n PHP5 & MySQL ohjelmointi (W. Jason Gilmore) on varsin kattava yleisteos ja siitä löytyy myös erittäin perusteellinen olio-osuus. Vaikka itse luinkin opuksen vasta näin enemmän oppineena, oli siinä rutkasti uusia juttuja ja vinkkejä. Jos PHP:n manuaali on raamattu, niin tuo on sitten varmaan joku virsikirja :)
Tuo kirja löytyy hyllystä, hyvä kirja, mutta siinä lähinnä opastetaan miten teet oliota jne... perusasiat, eikä pukahda paljoakaan suunnittelumalleista, UML:stä jne... ajattelumailman asioista. Sama juttu on PHP:n manuaalin kanssa.
Ok, ymmärsin siis "hieman" väärin mitä hait takaa :) Tosi on, kirjasta löytyy ainoastaan nuo perusteet olio-ohjelmoinnista ja nuo mainitsemani uudet jutut ja vinkit liittyvät ihan yleensä kirjan asioihin, ei niinkään tuohon olio-osuuteen. Mutta valitettavasti en nyt osaa auttaa tuon kirjan suhteen. Varmasti nettikirjakauppojen (docendo, readme, dataclub, it-press ja muut) sivuilta löytyy hyviä vaihtoehtoja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.