Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Diskuze na Lopuchu,
pohlazení na duchu

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub PHP [ŽP: neomezená] (kategorie Programování) moderuje makovec.
Archiv
Diskuse o vybornem skriptovacim jazyku php. Dulezite odkazy, pred polozenim dotazu zkuste hledat odpoved zde:
  1. www.php.net - domovská stránka PHP
  2. www.kosek.cz - spousta tutorialu pro PHP v češtině
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: kbmipya
[ 1843 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
mach 6.8.2006 03:26  1421
Jeste komentar k te zalezitosti s provazanosti trid. Pokud to budu delat tak, ze kazdymu objektu v konstruktoru poslu referenci na rodice, tak v PHP 4 budu muset objekt vytvaret predanim referenci:

$objekt =& new CTrida(...)

Protoze jinak by se vytvorila kopie a cele by to spadlo. To by zatim nebyl problem. Jenomze v PHP 5 uz tam staci mit samotne rovnitko (prirazeni reference to totiz je defaultne). Potiz je, ze v PHP 5 pak predavani pres =& bude generovat lehky error, coz je osklivy.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 4.8.2006 16:03  1420
aha, to byl probelm! diky.
huh huh 4.8.2006 14:21  1419
tvx [1418]: bez problemu (alespon v PHP 5), jenom musis vlozit definici prislusne tridy pred session_start() !
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 4.8.2006 14:11  1418
kolega mi tu ukládá do session objekt a posléze ho rozbaluje a používá, je tohle možný? jemu to prej funguje, mě ne, hlásí to uncomplete object, víte něco o ukládání objektů do session?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 31.7.2006 15:18  1417
jste někdo zběhlej v PEARu a jste s nim spokojený? neni to pomalý, chybový... má cenu ho nastudovat a používat?
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 31.7.2006 09:52  1416
pokud uz ty tridy jsou hotovy a maji byt univerzalni, tak bych jenom tenhle podobjekt oddedil...
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 31.7.2006 09:51  1415
nevim, jeslti te uplne chapu ale ja podobnou vec resil tak, ze kdyz se trida ( ta nizsi na urovni sql a podobne) inicializuje, dostane odkazy na kolegy - pomocniky a pak jede sama prave pres $this->sql->execute...
mach 27.7.2006 16:19  1414
Prave jsem na zacatku prepisovani jedny PHP aplikace (eshopu) a mam trochu pochybnosti o tom, jak sem si to rozvrhnul. Mam jednu zakladni tridu shop. Tahle trida obsahuje (jako vlastnosti) instance nejakych jinych trid urcenych pro dilci ukony. Konkretne obsahuje objekty:

- sql (ktera se pta databaze na ruzny veci)
- config (nacte konfiguraci)
- page (na zaklade URI, sessions a dalsich veci zjisti, co vlastne uzivatel chce zobrazit; stara se o to, jak vypadaji adresy podstranek a tak podobne)
- collector (vraci nejak pekne usporadana data, napriklad seznam kategorii eshopu jako array)
- smarty (sablonovaci system)

Jenze napriklad collector potrebuje sahat na sql a page. Page bude potrebovat sahat na collector. Skoro vsechno musi umet esportovat do smarty. Takze to delam tak, ze v konstruktoru tech malych dilcich trid poslu referenci na tu jakoby rodicovskou (zadna dedicnost do toho ale nevstupuje), napriklad v te hlavni rodicovske je:

$this->collector = new CCollector($this);

A tu referenci na $this si uvnitr CCollector ulozim jako $this->parent. Coz funguje a muzu tim padem odevsad sahat vsude, ale vzhledem k tomu, ze se tenhle pristup neopira o zadnou techniku OOP, tak mi to nepripada zrovna cisty. Mimoto psat:

$this->parent->sql->execute(...)

je osklivejsi nez treba:

$this->sql->execute(...)

Nevedel by nekdo jak tohle resit jinak? Klidne i pomoci OOP z PHP 5 (i kdyz pouzivam PHP 4).
huh huh 27.7.2006 15:13  1413
pepak [1412]: to je nahodou nekdy sikovny, pokud potrebujes napr. generovat nazvy souboru a nechces aby to byla cisla
pepak pepak - Pepak.net 27.7.2006 15:04  1412
Docela by me zajimala logika za timhle chovanim. Proc to ma PHP (resp. PERL) takhle divne udelany??
huh huh 27.7.2006 15:02  1411
AL3X [1410]: protoze aa je prece pred z. Vzpomen si, jak se porovnavaji retezce.
a < aa < aaa < b < bb < bbb < z < zz < zzz.
al3x 27.7.2006 14:46  1410
No vidis to.

Ted mi jen vysvetli, proc se
for ($a = 'a'; $a %lt;= 'z'; $a ++)
zastavi az na $a == 'zz' a ne hned na $a == 'z'?
huh huh 27.7.2006 14:39  1409
AL3X [1408]: k cemu mame dokumentaci, ze ☺:

PHP follows Perl's convention when dealing with arithmetic operations
on character variables and not C's. For example, in Perl 'Z'+1 turns
into 'AA', while in C 'Z'+1 turns into '[' ( ord('Z') == 90, ord('[') == 91 ).
Note that character variables can be incremented but not decremented and
even so only plain ASCII characters (a-z and A-Z) are supported.
al3x 27.7.2006 14:04  1408
<?php                                                                                                                                                                     
  print "\n\n";                                                                                                                                                           
  for ($a = 'a'; $a != 'z' ; $a++){                                                                                                                                       
    print "$a - ";                                                                                                                                                        
  }                                                                                                                                                                       
  print "\n\n";                                                                                                                                                           
?>                                                                                                                                                                        


Toto mi funguje, ale samozrejme nevypise posledni pismeno. $a &lf= 'z' se chova opravdu zbesile. Kdyz je potreba v cyklu projit i pres pismeno Z, tak musi byt v podmince for cyklu $a != 'aa'. Ale bal bych se, jestli to neni zalozene jen na nejakem bugu, nebo jestli je to definovane chovani...
mach 27.7.2006 12:34  1407
V Cecku to jde, ale neni uplne jisty, jestli (int)'a' je ASCII hodnota, muze to byt proste nejaka ciselna hodnota pismene 'a', treba v EBCDIC. Zatimco to PHP v dokumentaci rika, ze ord('a') vraci primo ASCII kod.

[ 1843 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt