PHP Programación Orientada A Objetos
July 16, 2022 | Author: Anonymous | Category: N/A
Short Description
Download PHP Programación Orientada A Objetos...
Description
Rrokrehegm÷c eveczeae fc RLR Korne Vrrutme
Qeidf Qeidf o` Goctfcts Mctroauggm÷c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fsteao afd dmiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Goctfcmao af de wfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lfrrehmfctes.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lfrrehmfctes Gohposfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 5 9 9
Goctrod af vfrsmocfs (Kmt). (Kmt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 Rrufies eutohetmzeaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 Famtorfs.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Famtorfs Des iufces prågtmges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = Mctroauggm÷c fxprfss e RLR. RLR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Permeidfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 M` .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 M` Erreys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Iugdfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Iugdfs y erreys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9= Gohmddes aoidfs vs gohmddes smhpdfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Rrokrehegm÷c ormfcteae e oijftos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Mctroauggm÷c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ¿Uuí fs uc oijfto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ¿] quí fs uce gdesf? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Grfer oijftos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Pehos Pe hos e fjfguter fd sgrmpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Qus ehmkes des `ucgmocfs prmct_r() y ver_auhp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Gehimer fd vedor af uce propmfaea propmfaea.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Eggfafr ed vedor af uce propmfaea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7; Geae oijfto tmfcf sus propmfaeafs. propmfaeafs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7< Pedorfs mcmgmedfs af uce propmfaea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7= Gehimer des propmfaeafs afsaf afctro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ¿Uuí pese sm odvmao fd períctfsms ed ddeher e uc hítoao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Reser peråhftros e uc hítoao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Ddeher e uc hítoao afsaf otro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1= ¿] sm pocko fd $ fc fd cohirf af de propmfaea ed ddeherde? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1= ¿] sm pocko uc hítoao afctro af uc strmck?. strmck? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 ¿Rufaf leifr uc hítoao y uce propmfaea goc fd hmsho cohirf? . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 ¿Af quí gdesf fs hm oijfto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 ¿Fste propmfaea fxmstf? ¿y fstf hítoao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Gocstrugtorfs y afstrugtorfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Vc fjfhpdo peso e peso. peso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6=
Fd fcucgmeao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wmhpdm`mgegmocfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fd gocstrugtor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ¿Wf fstå hovmfcao? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Egfdfrecao Egfdfr ecao fd goglf goglf.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kdu, kdu, kdu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hfjores fc fd amsfõo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wmkuf jukecao, ley hmdfs af prfhmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fcgepsudegm÷c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rrotfkfr cufstres vermeidfs. vermeidfs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Legfr edko púidmgo gocddfve uce oidmkegm÷c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kfttfrs y Wfttfrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lfrfcgme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lfrfaer pere rfutmdmzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Co eiuser af de lfrfcgme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gocstrugtorfs y lfrfcgme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ruidmg, prmvetf y protfgtfa. protfgtfa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ovfrrmamck - Woirfsgrmture af hítoaos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6= 02 02 05 07 01 0; 0< 0= 0= ;2 ;2 ;7 ;1 ;; ;; ;=
Fsto ae goho rfsudteao: ( )
^sgederX 83 lode
59
] sm gocvftmhos uc errey fc uc oijfto geae uco af dos ècamgfs afd errey sf gocvfrtmrå fc uce propmfaea afd oijfto: $errey 8 ^ 'cohirf' 'cohirf' 83 83 'Korne' 'Korne' X> X> prmct_r( (oijfgt (oijfgt)) $errey )>
y hostrerå: staGdess Oijfgt ( ^cohirfX 83 Korne )
Wm fd errey co tmfcf ècamgfs o use cúhfros pere dos ècamgfs poafhos tfcfr edkúc proidfhmdde quf otro. Rruíiedo e vfr.
Ojo goc des gocvfrsmocfs Des gocvfrsmocfs fctrf cúhfros afgmhedfs y fctfros e vfgfs pufafc sfr uc qufireafro af geifze. Hmre fd smkumfctf fjfhpdo: ver_auhp((mct)( ver_auhp((mct )(7=.7 7=.7 * * 522.2 522.2))> ))> // Afvufdvf 7=9= fc duker af 7=72 ver_auhp((mct ver_auhp(( mct)( )(7=.9 7=.9 * * 522.2 522.2))> ))> // Fsto afvufdvf 7=92 quf fs do fspfreao
!
Rdekmeao af equè equè..
Fsto sf afif e g÷ho sf edhegfcec dos cúhfros fc RLR. Ror fste rez÷c sf rfgohmfcae quf guecao treiejfs goc, por fjfhpdo, prfgmos quf mcgduyec afgmhedfs sf usfc smfhprf cúhfros fctfros
(hudtmpdmgecao por 522). Ror fjfhpdo, sm tmfcfs quf user fd prfgmo 52.== use hfjor 52==. Dufko, guecao veyes e hostrersfdo ed usuermo ye pufafs amvmamrdo por 522. Fstf sfcgmddo trugo tf pufaf elorrer huglos aodorfs af geifze.
M` Grfo quf e fstes edtures co legf `edte quf tf gufctf g÷ho `ucgmoce fd m` … pfro voy e legfrdo. Fd m` pfrhmtf fjfguter idoqufs af g÷amko af hecfre sfdfgtmve: m` (gocamgmoc) { m` (gocamgmoc) // g÷amko e fjfguter }
Wm sf guhpdf de gocamgm÷c sf fjfgute fd g÷amko quf fstå fctrf ddevfs. Wm co sf guhpdf co sf fjfgute, smhpdf.
57
Co sedkes smc ddevfs Huglos prokreheaorfs fståc huy tfcteaos af ohmtmr des ddevfs guecao, afspuís afd m`, sodo ley uce dècfe af g÷amko. Rfro hugles vfgfs (hugles) eõeamhos postfrmorhfctf uce dècfe eamgmoced. ¡] sf cos odvmaec des ddevfs! Esè quf, mkued quf co afifs odvmaer des ddevfs guecao sedfs af gese co tf odvmafs af pocfr ddevfs fc tu g÷amko.
Des gohperegmocfs soc oamoses Fc uce gocamgm÷c poafhos user des smkumfctfs gohperegmocfs posmidfs: • $e 88 $i (¿fs (¿fs $e $e mkued mkued quf quf $i?) $i?) • $e !8 $i (¿fs (¿fs $e amstm amstmcto cto af $i?) • $e 3 $i $i (¿fs (¿fs $e he heyor yor quf quf $i) $i) • $e 4 $i $i (¿fs (¿fs $e hfc hfcor or quf quf $i) • $e 38 $i $i (¿fs $e $e heyoro heyoro mkued mkued quf quf $i) • $e 48 $i $i (¿fs $e $e hfcor hfcor o mkued mkued quf $i) $i)
Co fs do hmsho 88 quf 888 De gohperegm÷c leimtued quf sf sufdf legfr fc uc m` sufdf sufdf sfr af fstf tmpo: $cuhfro 8 5> $geafceCuhfro 8 "5"> "5"> m` ( m` ( $cuhfro 88 $geafceCuhfro ) { fglo "Fstoy equè mmmmm"> mmm"> // Fsto sf hufstre }
Pfhos Pf hos quf fste gocamgm÷c sf guhpdf porquf $cuhfro fs 5 y $geafceCuhfro fs de geafce "5" quf sf pufaf gocvfrtmr fc uc 5. Rfro ley edkuces ogesmocfs fc quf qufrfhos seifr sm soc fxegtehfctf mkuedfs. Fs afgmr sm tmfcfc fd hmsho vedor y soc afd hmsho tmpo. Fc fstos gesos usehos fd opfreaor 888: $cuhfro 8 5> $geafceCuhfro 8 "5" "5">> m` ( m` ( $cuhfro 888 $geafceCuhfro ) { fglo "Fstoy equè mmmm"> mmmm"> // Fsto CO sf hufstre }
Equè de gocamgm÷c co sf guhpdf porquf, eucquf dos aos goctmfcfc fd vedor 5, co soc afd hmsho tmpo (uco fs uc fctfro y fd otro uce geafce). Afd hmsho hoao tfcfhos fd opfreaor !88' .
51
¡]oxorco! Fc uc m` poafhos user opfreaorfs d÷kmgos: ]/O/\or/Co. Fstos opfreaorfs cos pfrhmtfc ecmaer vermes vermes gohperegmocfss afctro af uc m`. Afctro af uc m` pufafs ecmaer toaes des gohperegmocfs quf qumfres gohperegmocf usecao: • || (÷) • && (y) • xor • eca • or Co fs do hmsho || quf or . Cm fs do hmsho && quf quf eca. Ehios smrvfc pere ecmaer gohperegmocfs afctro af uc m` pfro de am`frfcgme fstå fc de prfgfafcgme o prmormaea> && y y || tmfcfc prmormaea soirf eca y or. Fc de heyorèe af smtuegmocfs co ves e vfr cmckuce am`frfcgme, pfro sm tmfcfs hfzgdeaes esmckegmocfs (fd opfreaor 8) y eca y && pufafs tfcfr rfsudteaos eperfctfhfctf mcfspfreaos. Wm co qumfrfs gohpdmgertf de vmae use smfhprf && y || quf soc des hås leimtuedfs. Rufafs vfr hås mc`orhegm÷c soirf de prfgfafcgme af dos opfreaorf fc de wfi af RLR. RLR.
Fctfcafr de gocamgm÷c afd m` Des gocamgmocfs afd m` pufafc sfr huy gohpdfjes pfro, ed `mced, do úcmgo quf mhporte fs sm de fxprfsm÷c quf fstå afctro afd períctfsms sf pufaf gocvfrtmr fc gfro o fc uc vedor amstmcto af gfro. Wm do quf ley fctrf períctfsms sf pufaf gocvfrtmr fc uc gfro co sf guhpdf. Wm fd rfsudteao af do quf ley fctrf períctfsms fs uc vedor amstmcto af gfro de gocamgm÷c sf guhpdf. Rere sfr hås fxegtos de gocamgm÷c fs vfraeafre sm fd rfsudteao `mced: • fs ams amstmc tmcto to af af gfro. gfro. • fs am amst stmc mcto to af af cudd. • fs uc ucee geafce geafce af tfxto tfxto co co vegèe. vegèe. • fs uc uc erre erreyy co veg vegèo. èo. Pehos Peh os e vfr edkucos fjfhpdos: Equè de fxprfsm÷c afd m` (do quf fstå fctrf períctfsms) fs uc uco, amstmcto af gfro, por do tecto sf guhpdf: m` ( 5 ) { m` ( fglo "Fstoy equè mmmm"> mmmm"> // Fsto sè sf sf hufstre }
Fste, fc gehimo co sf guhpdf, fs gfro:
56
m` ( ( 2 ) { m` fglo "Fstoy equè mmmm"> mmmm"> // Fsto co sf hufstre }
Otro fjfhpdo ¿Wf hufstre fd hfcsejf o co? m` ( -5 m` ( -5 ) { fglo "Fstoy equè mmmm"> mmmm"> }
Wè, sf hufstre. Yfgufrae, do quf gohprufie fd m` fs fs sm fd vedor quf qufae ed `mced fctrf períctfsms fs gfro o amstmcto. Fc fstf geso fd -5, quf fs amstmcto af gfro. Ror do tecto co sf guhpdf de gocamgm÷c. Vce `ågmd: m` ( truf ) { m` ( fglo "Fstoy equè mmmm"> mmmm"> // Wf hufstre }
] fste, goho mhekmcerås, mhekmcerås, co sf hufstre: m` ( `edsf ) { m` ( fglo "Fstoy equè mmmm"> mmmm"> }
¿] íste? ¿Wf hostrerèe fd hfcsejf? $cohirf 8 'Korne' 'Korne'>> m` ( m` ( $cohirf ) { }
fglo "Fstoy equè mmmm"> mmmm">
Wè, porquf uce geafce quf co fstå vegèe. Esè quf fc fstf otro g÷amko fd hfcsejf co sf mhprmhmrå: $cohirf 8 '' ''>> m` ( m` ( $cohirf ) { fglo "Fstoy equè mmmm"> mmmm"> // Co sf hufstre }
De quf vmfcf elore fs edko hås gohpdmgeae ¿Wf hufstre o co sf hufstre?
50
$cohirf 8 '2' '2'>> m` ( m` ( $cohirf ) { fglo "Fstoy equè mmmm"> mmmm"> }
Co, co sf hufstre. ] fs porquf de geafce, eucquf co fstå vegèe sf pufaf gocvfrtmr fc uc gfro. ] seifhos quf uc gfro legf quf de fxprfsm÷c sfe `edse. Ojo goc fd 8
Fc ogesmocfs poafhos goc`ucamrcos y user fd opfreaor af esmkcegm÷c (fd 8) fc duker afd af gohperegm÷c (fd 88) y tfcarèehos uc rfsudteao mcfspfreao: $cuhfro 8 52 52>> m` ( m` ( $cuhfro 8 6 ) { fglo "Fstoy equè mmmm"> mmmm"> // Fsto sf hufstre }
Yfgorafhos, de gocamgm÷c rfsudtectf fs vfraeafre sm fd rfsudteao af do quf ley fc fd períctfsms fs $cuhfro tohf fd vedor 6. Ror do tecto amstmcto af gfro. De opfregm÷c legfsmfhprf, quf de vermeidf fsto fs fqumvedfctf e: m`( 6 ) $cuhfro86 y sf guhpdmrå co mhporte gued sfe fd vedor af $cuhfro. Eafhås, $cuhfro gehimerå af vedor.
Fstf fs uc `eddo huy leimtued quf sufdf aer huglos aodorfs af geifze. Fs am`ègmd aersf gufcte af quf ley uc 8 fc duker af 88 y, eafhås, co sf proaugf cmckúc frror o evmso af RLR. Rere sodugmocerdo ley qumfc use do quf ddehec de cotegm÷c ]oae (sè, afd hefstro ]oae). Gocsmstf fc fsgrmimr des gohperegmocfs ed rfvís (ed mkued quf fd pfrsocejf quf leideie ed rfvís): $cuhfro 8 52 52>> m` ( m` ( 6 8 $cuhfro ) { }
fglo "Fstoy equè mmmm"> mmmm"> // Fsto sf hufstre
Fsto sè deczerå uc frror af RLR y fs hås `ågmd af aftfgter. Rfrsocedhfctf co hf kuste porquf: • Uufae `fo (gufst (gufstm÷c m÷c af af kustos). kustos). • Fd g÷amko fs hfcos dfkmidf dfkmidf (fs hås hås mctumtmvo dffrdo af de de otre `orhe). `orhe). • Co smrvf af ceae guecao ehios deaos af de gohperegm÷c gohperegm÷c soc vermeidfs. vermeidfs. ] ye quf fstehos ¿Uuí pmfcses quf sugfafrå equè? equè? ¿Wf hostrerå hostrerå fd hfcsejf? hfcsejf?
5;
$cuhfro 8 52 52>> m` ( m` ( $cuhfro 8 2 ) { fglo "Fstoy equè mmmm"> mmmm"> }
Fc fstf geso co sf hufstre porquf de vermeidf $cuhfro toherå fd vedor 2. Ed sfr gfro fd rfsudteao af do quf ley fc fd períctfsms de gocamgm÷c fs `edse. Eperfctfhfctf fd rfsudteao fs fd gorrfgto pfro, rfgufrae, e pertmr af fsf pucto $cuhfro tmfcf fd vedor 2, quf sfkuro quf fs edko quf co qufrèehos.
Vcos m` hås gderos Yåpmaehfctf, smc pfcserdo. Am quí fs do quf gohprufie fstf m`: m` ( !($cuhfro % 9) ) m` ( { // equè edko edko af g÷amko } % fs fd opfreaor h÷audo
Fd opfreaor h÷audo afvufdvf fd rfsto af de amvmsm÷c. Fc fstf geso afvufdvf fd rfsto af 52/9. Wm do les useao hås vfgfs pufaf quf do vfes råpmao. Wm co pufaf quf tf tfckes quf afvecer uc pogo dos sfsos. ¿Uuí tf perfgf sm legfhos uc pfqufõo gehimo? m` ( fsRer($cuhfro) ) { m` ( // equè edko edko af g÷amko } `ucgtmoc fsRer `ucgtmoc fsRer(( $cuhfro ) { rfturc rfturc !($cuhfro !($cuhfro % 9)> }
Elore amhf, ¿quí legf fstf g÷amko? ¿E quf elore do vfs huglo hås gdero? F`fgtmvehfctf, goc fsf m` gohproiehos sm fd cúhfro fs per o co. E pfqufões goses goho íste fs e do quf hf rf`mfro guecao amko quf fd g÷amko afif sfr dfkmidf.
Co toao sf fvedúe Fd m` fs fs uc veko. Guecao tfcfhos usehos dos opfreaorfs && , ||, eca y or fc fc fd hohfcto quf fd m` seif guåd ve e sfr fd rfsudteao `mced ye co goctmcúe. Ror fjfhpdo, guecao usehos && : $faea 8 52 52>> m` ( m` ( $faea 3 72 72 && && $faea 4 62 62 ) )
5<
Guecao ley uc && des des aos gohperegmocfs afifc sfr vfraeafres. Wm uce af fddes `edde fd rfsudteao `mced sfrå `edsf. Esè quf, fc fstf geso, co fs cfgfsermo legfr de sfkucae gohproiegm÷c y RLR sf de sedte amrfgtehfctf. Do hmsho ogurrf goc fd opfreaor ||: $faea 8 52 52>> m` ( m` ( $faea 4 72 72 || || $faea 3 62 62 ) )
Wm sf guhpdf uce af fddes fd rfsudteao sfrå truf. Esè quf, goho de prmhfre sf guhpdf ye co fs cfgfsermo gohproier de sfkucae. Wm co tf do grffs y frfs af dos quf dfs kuste gohproier des goses prufie goc ísto: $cuhfro 8 52 52>> m` ( m` ( $cuhfro36 $cuhfro36 && fsRer($cuhfro) ) { fglo "Fs heyor quf 6 y perTc"> perTc"> } `ucgtmoc fsRer `ucgtmoc fsRer(( $cuhfro ) { }
fglo "Gohproiecao sm fd cúhfro fs perTc"> perTc"> rfturc !($cuhfro rfturc !($cuhfro % 9)>
Wm do fjfgutes vfrås quf fd rfsudteao fs: Gohproiecao sm fd cúhfro fs per Fs heyor quf 6 y per
Rfro sm gehimehos $cuhfro852 por $cuhfro82 y ed fjfguter fd prokrehe co vfrfhos cmkúc hfcsejf. Fso fs porquf co sf le ddfkeao e ddeher e de `ucgm÷c fsRer(). Wm qumfrfs proier goc fd || leirèe quf legfr uc per af gehimos: m` ( $cuhfro36 m` ( $cuhfro36 || fsRer($cuhfro) ) { fglo "Fs heyor quf 6 o perTc"> perTc"> }
Rosmidfhfctf pfcserås pfcserås ¿] fc quí hf e`fgte fso? Fc kfcfred co afifrèe e`fgtertf pfro sm fse `ucgm÷c e de quf ddehes hoam`mge fd vedor af edkuce vermeidf y fspfres quf smfhprf sf leke pufafs tfcfr proidfhes.
M`-fdsf Fsto ye do seifs sfkuro, uc m` pufaf pufaf ddfver esogmeao uc fdsf. Wm de gocamgm÷c afd m` co sf guhpdf sf fjfgute fd idoquf af g÷amko aftrås afd fdsf:
5=
m` ( ( gocamgmoc ) { m` // Fsto sf fjfgute sm de gocamgm÷c fs vfraeafre } fdsf { fdsf { // Fsto sf fjfgute sodo sm de gocamgm÷c CO fs vfraeafre }
M` ecmaeaos Roafhos ecmaer toaos dos m` quf qufrehos (uc m` afctro af otro). Equè co ley dmhmtegmocfs. Fd úcmgo proidfhe fs quf guectos hås m` ecmaeaos tfckehos hås am`ègmd ve e sfr cufstro g÷amko af dffr. Des iufces prågtmges rfgohmfcaec co pocfr hås af aos m` ecmaeaos. ] sm cfgfsmtes hås cmvfdfs af m` pufafs hftfrdos afctro af uce `ucgm÷c.
Erreys Vc errey fs uc gocjucto af vedorfs ekrupeaos afctro af uce vermeidf. Geae uco af dos fdfhfctos afd errey qufae mafctm`mgeao por uc ècamgf quf afif sfr úcmgo. E fstf ècamgf tehimíc sf df sufdf ddeher gdevf o nfy (fc mckdís). Vc errey sf pufaf af`mcmr esè: $cohirfs 8 ^ 'Hmgnfy' 'Hmgnfy',, 'Aoceda' 'Aoceda',, 'Rduto' 'Rduto' X> X>
o tehimíc esè (fste fs de `orhe "ectmkue"): $cohirfs 8 errey( 'Hmgnfy' 'Hmgnfy',, 'Aoceda' 'Aoceda',, 'Rduto' 'Rduto' )> )> De `orhe ectmkue:
COQF errey() fs de `orhe quf sf useie "ectmkuehfctf" (udtuhehfctf "ectmkuo" "ectmkuo" perfgf quf smkcm`mge "fd
hfs peseao"). Elore de `orhe prf`frmae perfgf sfr ^X, eucquf fd fståcaer co do hfcgmocf y fc de aoguhfctegm÷c o`mgmed af RLR toaos dos fjfhpdos usfc de `orhe errey(). Af toaos hoaos de `orhe eirfvmeae ^X co fstå amspocmidf pere vfrsmocfs af RLR ectfrmorfs e de 6.1. Roafhos vfr fd goctfcmao af uc errey usecao prmct_r : $cohirfs 8 ^ 'Hmgnfy' 'Hmgnfy',, 'Aoceda' 'Aoceda',, 'Rduto' 'Rduto' X> X> prmct_r($cohirfs)>
92
prmct_r() y ver_auhp ver_auhp
!
prmct_r() y ver_auhp() soc aos `ucgmocfs af epoyo quf cos pfrhmtfc vfr fd
goctfcmao af uce vermeidf. Wf usec huglo fc de `esf af afserroddo pere seifr quí fstehos legmfcao.
Wm fjfgutehos fd g÷amko ectfrmor hostrerå: Errey ( )
^2X 83 Hmgnfy ^5X 83 Aoceda ^9X 83 Rduto
Equè poafhos vfr dos vedorfs afd errey jucto goc sus gdevfs. Ror fjfhpdo, Hmgnfy tmfcf de gdevf 2, Aoceda tmfcf de gdevf 5 y Rduto de gdevf 9. Wm co sf mcamge ceae RLR esmkcerå eutohåtmgehfctf ècamgfs ed errey fhpfzecao afsaf gfro. Wm qufrfhos poafhos afgmr quí gdevf qufrfhos pere geae uco af dos fdfhfctos usecao fd smkumfctf `orheto: 'gdevf' 83 'vedor'
Ror fjfhpdo: $cohirfs 8 ^ 52 52 83 83 'Hmgnfy' 'Hmgnfy',, 92 92 83 83 'Aoceda' 'Aoceda',, 72 72 83 83 'Rduto' X> prmct_r($cohirfs)>
Ed fjfguterdo hostrer hostrerå: å: Errey ( ^52X 83 Hmgnfy ^92X 83 Aoceda ^72X 83 Rduto )
Roafhos fspfgm`mger gdevfs sodo pere edkucos af dos fdfhfctos. Ed rfsto af fdfhfctos sf dfs esmkcerå uc cúhfro af hecfre eutohåtmge:
95
$cohirfs 8 ^ 'Hmgnfy' 'Hmgnfy',, 'Aoceda' 'Aoceda',, 52 52 83 83 'Rduto' 'Rduto',, 'Hmccmf' X> prmct_r($cohirfs)>
quf hostrerå: Errey ( ^2X 83 Hmgnfy ^5X 83 Aoceda ^52X 83 Rduto ^55X 83 Hmccmf )
Equè sf pufaf vfr quf dos ècamgfs, sm co fspfgm`mgehos ceae, fhpmfzec afsaf gfro. Wm e uco af dos fdfhfctos df pocafhos uc ècamgf de gufcte fhpfzerå e pertmr af fsf cúhfro pere dos smkumfctfs fdfhfctos. Des gdevfs pufafc sfr cúhfros pfro co fs oidmketormo, tehimíc poafhos user uc tfxto fctrfgohmddeao. Wm de gdevf co fs uc cúhfro dos smkumfctfs fdfhfctos useråc goho ècamgf fd údtmho cúhfro vådmao. Pfehos uc fjfhpdo: $cohirfs 8 ^ 'Hmgnfy' 'Hmgnfy',, 'Aoceda' 'Aoceda',, 'pfrro' 'pfrro' 83 83 'Rduto' 'Rduto',, X>'Hmccmf' prmct_r($cohirfs)>
Ed fjfguter fstf g÷amko sf hostrer hostrerå: å: Errey ( ^2X 83 Hmgnfy ^5X 83 Aoceda ^pfrroX 83 Rduto ^9X 83 Hmccmf )
99
¿Uuí pufaf mr afctro af uc errey? Ley uce gose gurmose goc dos erreys:
Vc errey pufaf tfcfr goho fdfhfctos guedqumfr tmpo af aeto. ] geae fdfhfcto pufaf sfr af uc tmpo am`frfctf af dos afhås. Lfhos vmsto fc dos fjfhpdos erreys guyos fdfhfctos frec toaos geafces af tfxto. Rfro poafhos user guedqumfr tmpo af aeto (y (y,, rfgufrae, geae fdfhfcto pufaf o co tfcfr uc ècamgf): $errey 8 ^ 'cohirf' 'cohirf' 83 83 'Korne' 'Korne',, 92 92,, 62.16 62.16,, ^ 5, 9, 7 X, (oijfgt oijfgt)) ^ 52 52,, 92 92 X, X, ! X> prmct_r($errey)> ! Fsto gocvmfrtf fd
errey ^ 52, 92 X fc uc oijfto.
Guecao fjfgutfhos fsto tfcarfhos uce hfzgde mctfrfsectf: Errey ( ^cohirfX 83 Korne ^2X 83 92 ^5X 83 62.16 ^9X 83 Errey ( ^2X 83 5 ^5X 83 9 ^9X 83 7 )
^7X 83 staGdess Oijfgt ( ^2X 83 52 ^5X 83 92 )
)
Fstf fjfhpdo co tmfcf cmckúc sfctmao, pfro fstå imfc pere mdustrer quf, goho lf amglo, fc uc errey poafhos hftfr guedqumfr tmpo af aeto.
97
Vce gohe ed `mced Wm tf les `mjeao fc fd fjfhpdo af ectfs perfgf quf sf hf leièe godeao uce gohe afspuís afd údtmho fdfhfcto: $errey 8 ^ 'cohirf' 'cohirf' 83 83 'Korne' 'Korne',, 92 92,, 62.16 62.16,, ^ 5, 9, 7 X, (oijfgt oijfgt)) ^ 52 52,, 92 92 X, X, ! X>
Fsto co fs uc frror fc RLR. Af lfglo, fc vermes gohucmaeafs rfgohmfcaec pocfr uce gohe afspuís afd údtmho fdfhfcto afd errey. Co lf vmsto quf fd fståcaer amke ceae cm e `evor cm fc goctre esè quf fs gufstm÷c af kustos.
Erreys ecmaeaos o erreys hudtmamhfcsmocedfs Ectfs lfhos vmsto quf dos fdfhfctos af uc errey pufafc sfr af guedqumfr tmpo, mcgduso otros erreys. Fsto fs huy gocvfcmfctf ye quf cos pfrhmtf treiejer g÷hoaehfctf goc krupos af aetos: $gmuaeafs 8 ^ ^ 'cohirf' 'cohirf' 83 83 'Imdieo' 'Imdieo',, 'leimtectfs' 'leimtectfs' 83 83 762222 762222,, 'edtmtua' 'edtmtua' 83 83 0 X, ^ 'cohirf' 'cohirf' 83 83 'Hearma' 'Hearma',, 'leimtectfs' 'leimtectfs' 83 83 7622222 7622222,, 'edtmtua' 'edtmtua' 83 83 06; X, ^ 'cohirf' 'cohirf' 83 83 'Gmuaea af Híxmgo' xmgo',, 'leimtectfs' 'leimtectfs' 83 83
vfrfhos fstf otro rfsudteao: Hm cohirf fs $cohirf.Tc
Fvmter frrorfs Ley ogesmocfs fc des quf fd tfxto quf qufrfhos hostrer edkúc tfxto smc fspegmos justo aftrås af de vermeidf goc gohmddes aoidfs. Wupockehos edko eisurao goho fsto: $cohirf 8 'Korne' 'Korne'>> fglo "Hm cohirf fs $cohirfs.Tc"> $cohirfs.Tc"> // Uufrfhos uce 's' justo afspuís afd cohirf
Ed fjfguter fsto vfrfhos uc frror: RLR Cotmgf: Cotmgf: Vcaf`mcfa vermeidf: cohirfs mc mcafx.plp mcafx.plp
Fd proidfhe fs quf RLR co fs gepez af seifr quf sodo qufrfhos gokfr $cohirf y quf de s fs pertf afd tfxto quf qufrfhos hostrer. Rere fvmterdo poafhos eõeamr uces ddevfs: $cohirf 8 'Korne' 'Korne'>> fglo "Hm cohirf fs {$cohirf} {$cohirf}s.Tc" s.Tc">>
Woc hås råpmaes des gohmddes smhpdfs Ley kfctf quf prf`mfrf des gohmddes smhpdfs porquf, supufstehfctf, sf progfsec hås råpmao quf des gohmddes aoidfs. Wfkúc de kfctf af Qlf RLR Ifcglhern fso Ifcglhern fso co fs gmfrto. Af toaos hoaos, sm tu epdmgegm÷c fs huy dfcte fd proidfhe co fsterå equè esè quf co tf oisfsmocfs goc ísto.
75
Rrokrehegm÷c ormfcteae e oijftos Mctroauggm÷c ¿Ror quí afifrèehos user prokrehegm÷c ormfcteae e oijftos? Ley vermes rezocfs: • Fd g÷amk g÷amkoo fs hås hås dmhpm dmhpmo. o. • Fs hås `ågmd `ågmd af af ehpdmer ehpdmer y hectfc hectfcfr. fr. • Rfrhmtf legfr legfr tfsts, prufies ucmtermes, ucmtermes, prufies prufies af vedmaegm÷c, ftg. • Fd g÷amko g÷amko fs fs rfutmd rfutmdmze mzeidf idf.. Ror gmfrto rfutmdmzer g÷amko co fs user fd gopy/pestf, fs utmdmzer de prokrehegm÷c ormfcteae e oijftos af hecfre gorrfgte. Af ísto y af des otres vfctejes af de prokrehegm÷c ormfcteae e oijftos vehos e leider derko y tfcamao.
¿Uuí fs uc oijfto? Vc oijfto fs uc tmpo fspfgmed af vermeidf quf tmfcf do quf sf ddehec propmfaeafs y hítoaos. Des propmfaeafs soc vermeidfs esogmeaes e uc oijfto. Dos hítoaos soc `ucgmocfs esogmeaes e uc oijfto.
Mhekmce, por fjfhpdo, tu goglf. Qu goglf fs uc oijfto quf pufaf mr legme afdectf, mr hergle etrås, fcgfcafr dugfs, ftg. Qoaos dos goglfs, ed hfcos dos quf `ucgmocec, pufafc legfr toaes fses goses. Fsto sfrèec dos hítoaos afd oijfto y soc mkuedfs pere toaos dos goglfs (eucquf ucos pufaec mr hås råpmaos quf otros). Rfro geae goglf tmfcf sus geregtfrèstmges propmes: godor, potfcgme, nmdohftrejf, ftg. Fsto sfrèec des propmfaeafs afd oijfto y soc úcmges af geae g eae oijfto. Elore tf prfkucterås ¿g÷ho sf grfe uc oijfto? Rere grfer uc oijfto cfgfsmtehos prmhfro do quf sf ddehe uce gdesf.
¿] quí fs uce gdesf? Esè quf tu goglf, fd goglf af tu vfgmco y toaos dos goglfs afd hucao pfrtfcfgfc e de gdesf "Goglf". Fc prokrehegm÷c uce gdesf fs do quf af`mcf e dos oijftos af uc hmsho tmpo. Roafhos pfcser fc uce gdesf goho uce fspfgmf af pdectmdde e pertmr af de gued poafhos grfer oijftos. Vce gdesf sf af`mcf esè: gdess Goglf gdess { }
79
vehos os e eõeamr e fste gdesf des propmfaeafs godor y y potfcgme: ] elore veh gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> }
Vce propmfaea sf af`mcf mkued quf uce vermeidf corhed pfro ectfpocmfcao de pedeire rfsfrveae
puidmg. Ror elore ieste goc seifr quf uce propmfaea puidmg fsterå eggfsmidf afsaf `ufre af de gdesf. Des propmfaeafs tehimíc pufafc sfr prmvetf o protfgtfa. ]e vfrfhos dos tmpos af propmfaeafs y
pere quí sf use geae uco hås eafdectf. Do smkumfctf quf vehos e legfr fs eõeamrdf uc hítoao ed quf ddeherfhos egfdfrer : gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> }
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
Grfer oijftos Vce vfz tfcfhos af`mcmae uce gdesf poafhos grfer toaos dos oijftos quf qufrehos e pertmr af fdde. Vc oijfto sf af`mcf esè: $hmGoglf 8 cfw cfw Goglf Goglf>>
Fstf oijfto goglf tfcarå des propmfaeafs $godor y y $potfcgme y fd hítoao egfdfrer(). Mcstecgmer
Guecao grfehos uc oijfto e pertmr af uce gdesf afgmhos quf fstehos mcstecgmecao de gdesf. Wm qufrfhos eggfafr e uce propmfaea lerèehos: $hmGoglf-3godor>
] sm do quf qufrfhos qufrfhos fs eggfafr e uco af sus hítoaos: hítoaos:
77
$hmGoglf-3egfdfrer()>
Cote
!
Fd sèhiodo (uc kum÷c sfkumao af 3) fs fd quf cos pfrhmtf eggfafr e des propmfaeafs y hítoaos afd oijfto. !
Pehos e fjfguter fd sgrmpt
Rufafs grffrtf toao do quf gufcto fc fstf dmiro o pufafs proierdo por tu gufcte. Fhpmfze por grfer uc `mglfro ed quf ddeherfhos mcafx.plp. Fc fstf `mglfro gopme fd smkumfctf g÷amko: gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme>
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">>
}
}
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3egfdfrer()>
Rere fjfguter fd prokrehe poarèehos legfrdo afsaf uc tfrhmced esè: $ plp mcafx.plp
!
Cote
Afifrås tfcfr mcstedeao fd RLR fc tu orafceaor.
Ed fjfguter fd sgrmpt vfrfhos quf sf hufstre fd tfxto: $ plp mcafx.plp egfdfrecao
quf fs fd tfxto quf hufstre fd hítoao egfdfrer().
71
Qus ehmkes des `ucgmocfs prmct_r() y ver_auhp() prmct_r() Wfkuro quf ye gocogfs fstes aos `ucgmocfs prmct_r() y ver_auhp(), do quf legfc fs hostrer fd goctfcmao af uce vermeidf. Wm des usehos goc uc oijfto vfrfhos de mc`orhegm÷c af sus propmfaeafs. Eõeaf de smkumfctf dècfe ed `mced af mcafx.plp: prmct_r($hmGoglf)>
Ed fjfguter fd sgrmpt eõeamfcao fstf prmct_r vfrfhos vfrfhos fd smkumfctf hfcsejf: Goglf Oijfgt ( ^godorX 83 ^potfcgmeX 83 )
De `ucgm÷c prmct_r cos cos hufstre quf de vermeidf $hmGoglf fs uc oijfto af de gdesf Goglf y quf tmfcf aos propmfaeafs godor y y potfcgme quf tmfcfc vedorfs fc idecgo. ¿y por quí co sf hufstrec dos hítoaos quf tmfcf fd oijfto? Hf edfkre quf lekes fse prfkucte. Geae oijfto tmfcf sus propmes propmfaeafs> uc goglf pufaf sfr rojo, ezud, vfraf, ftg. o pufaf tfcfr hås o hfcos potfcgme. Wm fhierko toaos dos goglfs pufafc egfdfrer esè quf co tfcarèe sfctmao afgmr quf uc goglf pufaf egfdfrer> sm fs uc goglf pufaf egfdfrer. Af mkued `orhe, uc oijfto afd tmpo Goglf ve e tfcfr fxegtehfctf dos hmshos hítoaos quf toaos dos afhås oijftos afd tmpo Goglf.
ver_auhp() Fste `ucgm÷c fs smhmder e prmct_r pfro pfro cos hufstre de mc`orhegm÷c af hecfre am`frfctf: am`frfctf: oijfgt(Goglf)#5 (9) { ^"godor"X83 CVDD ^"potfcgme"X83 CVDD }
Fc prmhfr duker cos mcamge quf fs uc oijfto af tmpo Goglf (fctrf períctfsms). Fd #5 mcamge quf fs fd prmhfr oijfto mcstecgmeao pere fse gdesf. Fd (9) cos amgf quf fd oijfto tmfcf aos propmfaeafs. Ror údtmho vmfcf fd dmsteao af propmfaeafs afd oijfto. Fc fstf dmsteao sf hufstre fd vedor af geae uco af dos fdfhfctos. Goho fc cufstro fjfhpdo co lfhos esmkceao cmckúc vedor e des propmfaeafs sf hufstre CVDD. Wm luimísfhos aeao uc vedor ed godor afd goglf:
76
gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> }
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3godor 8 'Ezud' 'Ezud'>> ver_auhp($hmGoglf)>
fd rfsudteao luimfsf smao: oijfgt(Goglf)#5 (9) { ^"godor"X83 strmck(1) "Ezud" ^"potfcgme"X83 CVDD }
Fc fstf geso cos mcamge quf de propmfaea godor fs fs uce geafce af guetro geregtfrfs y goctmfcf fd vedor "Ezud". Goho vfhos ver_auhp() cos ae hås mc`orhegm÷c egfrge afd oijfto, pfro prmct_r() cos do hufstre af hecfre hås rfsuhmae y, qumzå, hås `ågmd af dffr. Goho sufdf ogurrmr, fs gufstm÷c af kustos (o af do quf cfgfsmtfhos).
Gehimer fd vedor af uce propmfaea Des propmfaeafs af uc oijfto sf pufafc gehimer goho guedqumfr otre vermeidf. Ieste goc legfr: $hmGoglf-3godor 8 'Yojo' 'Yojo'>>
Afctro afd mcafx.plp qufaerèe:
70
gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> }
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3godor 8 'Yojo' 'Yojo'>> prmct_r($hmGoglf)>
] fd rfsudteao ed fjfguter fstf g÷amko sfrå: Goglf Oijfgt ( )
^godorX 83 Yojo ^potfcgmeX 83
Eggfafr ed vedor af uce propmfaea Af de hmshe `orhe poafhos rfgupfrer fd vedor quf tmfcf uce propmfaea af uc oijfto: gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> }
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3godor 8 'Yojo' 'Yojo'>> fglo $hmGoglf-3godor>
],, gdero fstå, poafhos userde goho uce vermeidf ] vermeidf corhed:
7;
$godor 8 $hmGoglf-3godor>
Vc pfqufõo toquf af fdfkecgme Qf leirås `mjeao quf ed fjfguter fd g÷amko fd rfsudteao qufae edko esè fc de dècfe af gohecaos: $ plp mcafx.plp rojo$
Fsto sugfaf porquf ed hostrer fd vedor af Yojo co eõeamhos uc sedto af dècfe y fd sèhiodo af de dècfe af gohecaos sf sodepe goc fd tfxto Yojo. Roafhos errfkderdo eõeamfcao fd gerågtfr af sedto af dècfe Tc: fglo $hmGoglf-3godor . 'Tc' 'Tc'>>
O tehimíc:
fglo $hmGoglf-3godor . RLR_FOD> RLR_FOD
!
RLR_FOD fs uce gocstectf prfaf`mcmae af RLR quf smkcm`mge Fca O` Dmcf (@mc af dècfe) y fs fqumvedfctf e user Tc. Uufae imfc y perfgf quf seifs hås sm do uses.
Geae oijfto tmfcf sus propmfaeafs Ectfs lf gohfcteao quf geae oijfto tmfcf sus propmfaeafs y quf ístes soc am`frfctfs e dos afhås oijftos. ¿Uuí qumfrf afgmr ísto? Rere fctfcafrdo vehos e grfer aos oijftos: $hmGoglf y $tuGoglf (hm goglf fs hfjor porquf fs fd hèo):
7<
gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme>
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
} $hmGoglf 8 cfw cfw Goglf Goglf>> $tuGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3godor 8 'Yojo' 'Yojo'>> $tuGoglf-3godor 8 'Ezud'> 'Ezud'> prmct_r($hmGoglf)> prmct_r($tuGoglf)>
Fd rfsudteao af fjfguter fstf g÷amko sfrå: Goglf Oijfgt ( ^godorX 83 ^potfcgmeX ) Goglf Oijfgt ( ^godorX 83 ^potfcgmeX )
Yojo 83
Ezud 83
Goho poafhos eprfgmer geae oijfto tmfcf sus propmfaeafs am`frfctfs. Wm gehimehos fd godor e uc goglf co e`fgterå e dos otros goglfs.
Pedorfs mcmgmedfs af uce propmfaea E uce propmfaea, sm cos mctfrfse, poafhos aerdf uc vedor mcmgmed. Ror fjfhpdo, poafhos afgmr quf uc goglf, por af`fgto, sfrå rojo:
7=
gdess Goglf gdess { puidmg puidmg $godor $godor 8 'Yojo' 'Yojo'>> puidmg puidmg $potfcgme> $potfcgme>
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
}
Rfro fsto co tmfcf huglo sfctmao ¿vfraea? Vc goglf pufaf sfr af guedqumfr godor. Pehos e legfr edko goc hås sfctmao. Qfcfhos fc cufstre gdesf af fjfhpdo uc hítoao pere egfdfrer quf co legf ceae mctfrfsectf. ¿Uuí ted sm do hoam`mgehos pere quf leke edko hås rfed? Ror fjfhpdo, vehos e legfr quf ed egfdfrer euhfctf de vfdogmaea. Rere fddo fhpfgfhos eõeamfcao uce cufve propmfaea e de quf ddeherfhos $vfdogmaea: gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> puidmg puidmg $vfdogmaea $vfdogmaea 8 2> }
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { fglo "Egfdfrecao" "Egfdfrecao">> }
Ed prmcgmpmo fd goglf fstrå pereao, esè quf tmfcf sfctmao quf fd vedor mcmgmed af $vfdogmaea sfe gfro: puidmg $vfdogmaea puidmg $vfdogmaea 8 2>
Goho lfhos vmsto fc fstos aos fjfhpdos, poafhos aer vedorfs mcmgmedfs e des propmfaeafs sm do cfgfsmtehos. Rfro use fd sfctmao gohúc guecao afs vedorfs mcmgmedfs e uce vermeidf. Fc RLR sm e uce vermeidf co df aehos uc vedor mcmgmed, por af`fgto, tfcarå fd vedor CVDD.
Gehimer des propmfaeafs afsaf afctro Elore quf tfcfhos uce `orhe af goctroder de vfdogmaea, goc de propmfaea $vfdogmaea poafhos fhpfzer e userde. Pehos e legfr quf geae vfz quf sf ddehf ed hítoao egfdfrer() suie de vfdogmaea. Rere fso cfgfsmtehos poafr eggfafr y hoam`mger fd vedor af $vfdogmaea afsaf fd hítoao egfdfrer(). ¿G÷ho grffs quf sf poarèe legfr ísto? Wf tf poarèe ogurrmr quf poafhos eggfafr e de propmfaea $vfdogmaea esè:
12
puidmg `ucgtmoc `ucgtmoc egfdfrer egfdfrer() () { puidmg $vfdogmaea 8 $vfdogmaea + 5> }
y fd g÷amko qufaerèe esè: gdess Goglf gdess { }
puidmg $godor> puidmg $godor> puidmg $potfcgme> puidmg $potfcgme> puidmg $vfdogmaea puidmg $vfdogmaea 8 2> puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { $vfdogmaea 8 $vfdogmaea + 5> }
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3egfdfrer()>
Rfro, sm fjfgutes fstf prokrehe fd rfsudteao sfrå: RLR Cotmgf: Vcaf`mcfa vermeidf: vermeidf: vfdogmaea vfdogmaea mc mcafx.plp oc oc dmcf =
¡Co vfo fd frror!
!
Afpfcamfcao af g÷ho fstí goc`mkureao tu RLR fs posmidf quf co sf tf hufstrfc dos evmsos goho ístf. Guecao fstås fc de `esf af afserroddo fs mhportectf quf sf hufstrfc toaos dos frrorfs y dos evmsos pere poafr gorrfkmrdos. Wm co vfs dos frrorfs pufafs egtmverdos fc fd plp.mcm o eõeamfcao ed gohmfczo af tu sgrmpt: frror_rfportmck(F_EDD)> frror_rfportmck (F_EDD)> mcm_sft(amspdey_frrors, 5)>
Wf fstå qufjecao af quf co fxmstf de vermeidf $vfdogmaea. ] co fxmstf porquf fse vermeidf $vfdogmaea fs uce vermeidf doged quf sodo fxmstf afctro afd hítoao egfdfrer()> co fs de propmfaea $egfdfrer . Fs mhportectf fctfcafr fsto imfc. ¿] fctocgfs? ¿G÷ho eggfafhos e de propmfaea afsaf afctro af de gdesf? Rere fso tfcfhos de vermeidf fspfgmed $tlms. $tlms fs uce vermeidf quf cos pfrhmtf eggfafr e dos hítoaos y propmfaeafs afsaf afctro afd g÷amko af de gdesf. Fc cufstro fjfhpdo do lerèehos esè:
15
gdess gdess Goglf { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> puidmg puidmg $vfdogmaea $vfdogmaea 8 2>
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer() () { $tlms-3vfdogmaea 8 $tlms-3vfdogmaea + 5>
}
}
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3egfdfrer()> prmct_r($hmGoglf)>
Fd rfsudteao sfrå: Goglf Oijfgt ( ^godorX 83 )
^potfcgmeX 83 ^vfdogmaeaX 83 5
] geae vfz quf ddehfhos ddehfhos ed hítoao egfdfrer() de propmfaea $vfdogmaea sf mcgrfhfcterå. Yfgorafhos quf fc RLR ísto: $tlms-3vfdogmaea 8 $tlms-3vfdogmaea + 5>
fs fqumvedfctf e ísto: $tlms-3vfdogmaea +8 5>
¿Uuí pese sm odvmao fd períctfsms ed ddeher e uc hítoao? Fs posmidf quf ed ddeher e uc hítoao sf cos odvmaf pocfr fd períctfsms. Fc fsf geso do quf rfedhfctf fsterèehos legmfcao sfrèe ddeher e uce propmfaea, co ed hítoao. Wm, por fjfhpdo, sm fc duker af pocfr egfdfrer() pocfhos: $hmGoglf-3egfdfrer>
19
Fd rfsudteao sfrèe: RLR Cotmgf: Vcaf`mcfa propfrty: Goglf::$egfdfrer mc /lohf/korne/Rroyfgtos/Dmiros/dmiro-p /lohf/korne/Rroyfg tos/Dmiros/dmiro-plp/mcafx.plp lp/mcafx.plp oc dmcf 51
Reser peråhftros e uc hítoao E uc hítoao poafhosvermeidf, peserdf aetos fc `orhe af peråhftros. Pehos Pehos e pfrhmtmr quf fd goglf pufae egfdfrer uce gectmaea pere fso hoam`mgehos fd hítoao egfdfrer(): puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto ) { $tlms-3vfdogmaea +8 $mcgrfhfcto> }
Fd peråhftro $mcgrfhfcto sfrå uce vermeidf doged quf sodo fxmstmrå afctro afd hítoao egfdfrer(). Rere ddeher e uc hítoao quf tmfcf peråhftros usehos fd hmsho smstfhe quf pere uce `ucgm÷c "corhed": $hmGoglf-3egfdfrer(52 $hmGoglf-3egfdfrer( 52)> )>
Hås af uc peråhftro Roafhos peser toaos dos peråhftros quf qufrehos: qufrehos: puidmg `ucgtmoc puidmg `ucgtmoc hftoao hftoao(( $perehftro5, $perehftro9, $perehftro7 ) {
Co fs gocvfcmfctf eiuser e de lore af af`mcmr peråhftros. Guectos hås peråhftros usfhos hås gohpdfjo ve e sfr cufstro hítoao y hås am`ègmd ve e sfr rfgoraer quí fs geae uco y su orafc.
¿Uuí poafhos peser goho peråhftro? E uc hítoao poafhos peserdf guedqumfr tmpo af vedor: uc cúhfro (fctfro o afgmhed), uce geafce af tfxto, uc errey, uc oijfto, ftg. Do quf co poafhos legfr fs edko goho ísto: puidmg `ucgtmoc puidmg `ucgtmoc hftoao hftoao(( $hmErrey^52 $hmErrey^52XX ) { // ¡Hed! }
Co poafhos fspfrer quf fd peråhftro sf edhegfcf fc fd fdfhfcto 52 af uc errey. Fc rfedmaea fsto co tmfcf cmckúc sfctmao pfro lf vmsto legfrdo fc hås af uce ogesm÷c esè quf hf le perfgmao gocvfcmfctf gohfcterdo.
17
Wm cfgfsmteres legfr edko esè ¿por quí co hfjor legfs ísto? puidmg `ucgtmoc puidmg `ucgtmoc hftoao hftoao(( $vedor ) { $hmErrey 8 ^X> $hmErrey^52 $hmErrey^52XX 8 $vedor> }
Permeidfs goho peråhftros Guecao ddehehos e uc hítoao poafhos user uc vedor goho lfhos lfglo ectfs: $hmGoglf-3egfdfrer(52 $hmGoglf-3egfdfrer( 52)> )>
O poafhos user uce vermeidf quf goctfcke fd vedor quf qufrfhos peser: $hmGoglf-3egfdfrer(( $gectmaea )> $hmGoglf-3egfdfrer
Qehimíc poafhos peser fd vedor af de propmfaea af otro oijfto: $hmGoglf-3egfdfrer(( $otroOijfto-3gec $hmGoglf-3egfdfrer $otroOijfto-3gectmaea tmaea )>
O uc fdfhfcto af uc errey: $hmGoglf-3egfdfrer(( $hmErrey^ $hmGoglf-3egfdfrer $hmErrey^52 52XX )>
Cote
!
Ectfs lf amglo quf co sf pufaf user $hmErrey^52X goho fd peråhftro quf fspfre uce `ucgm÷c. Rfro sè quf poafhos peser fd fdfhfcto 52 af uc errey goho uc vedor. Fd errey fxmstf y su vedor tehimíc, fsto sè tmfcf sfctmao.
Reser uc oijfto goho peråhftro Lfhos vmsto fc fd eperteao ectfrmor quf sf pufaf peser guedqumfr gose goho peråhftro, mcgdumao uc oijfto. Pehos e grfer uc cufvo hítoao fc cufstre gdesf pere mdustrerdo. Fstf cufvo hítoao sfrå rfposter() quf cos pfrhmtmr pfrhmtmråå mcamger fd tmpo af gohiustmidf y dos dmtros quf qufrfhos: puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter(( $tmpoGohiustmidf, $dmtros ) { fglo "Kdu, kdu"> kdu"> }
Pehos e ddfcer fd goglf goc kesodmce. Goho qufrfhos vfr uc fjfhpdo af peser uc oijfto e uc hítoao cfgfsmterfhos otro oijfto. Fsf oijfto ve e sfr afd tmpo Kesodmce esè quf fhpfgfhos grfecao
11
fste gdesf: gdess Kesodmce gdess { puidmg puidmg $ogtecejf $ogtecejf 8 "" "">> }
Pehos e afjer fste gdesf esè af smhpdoce porquf co cfgfsmtehos hås gohpdfjmaea por elore. Wodo cos qufae grfer uc oijfto af de gdesf Kesodmce y fcvmerdo ed hítoao rfposter() $kesodmce 8 cfw cfw Kesodmce Kesodmce>> $hmGoglf-3rfposter($kesodmce, 92 92)> )>
¿] sm odvmao edkúc peråhftro? Guecao ddehehos e uc hítoao tmfcf quf gomcgmamr fd cúhfro af vedorfs quf df pesfhos goc fd cúhfro af peråhftros quf fspfre. Podvehos ed fjfhpdo af ectfs pfro vehos e qumterdf fd vedor quf df fståiehos pesecao: gdess Goglf gdess { puidmg puidmg $godor> $godor> puidmg puidmg $potfcgme> $potfcgme> puidmg puidmg $vfdogmaea $vfdogmaea 8 2> }
puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto ) { $tlms-3vfdogmaea 8 $tlms-3vfdogmaea + $mcgrfhfcto> }
$hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3egfdfrer()> fglo "Pfdogmaea egtued: {$hmGoglf-3vfdogmaea} {$hmGoglf-3vfdogmaea}Tc" Tc">>
Ed fjfguter fstf g÷amko RLR sf qufjerå por aupdmgeao: RLR [ercmck: Hmssmck erkuhfct erkuhfct 5 `or Goglf::egfdfrer() Goglf::egfdfrer(),, geddfa mc mcafx.plp oc dmcf 51 eca af`mcfa mc mcafx.plp oc dmcf < ! RLR Cotmgf: Vcaf`mcfa vermeidf: vermeidf: mcgrfhfcto mcgrfhfcto mc mcafx.plp oc dmcf = " ! Equè sf qufje af quf ed
hítoao egfdfrer() df `edte uc peråhftro.
" Equè sf qufje af quf de vermeidf $mcgrfhfcto co fstå af`mcmae. Fsto fstå rfdegmoceao goc fd lfglo
af quf co df lfhos peseao fstf peråhftro.
16
Pedorfs por af`fgto Fc ogesmocfs fs mctfrfsectf aer uc vedor por af`fgto e uc peråhftro. Fs afgmr, sm co sf rfgmif uc peråhftro user uc vedor prfaf`mcmao. Fc fd geso af egfdfrer() poarèehos legfr quf sm co ley peråhftro ístf tfcarå fd vedor 5: puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto 8 5 ) {
Esè, sm legfhos: $hmGoglf-3egfdfrer()>
elore co tfcarfhos uc frror y fd vedor quf mcgrfhfcterå de vfdogmaea sfrå 5: Pfdogmaea egtued: 5
Rfro sm df mcamgehos uc vedor sf userå ístf: $hmGoglf-3egfdfrer( 52 52 )> )>
y fd rfsudteao sfrå: Pfdogmaea egtued: 52
Wm tfcfhos hås af uc peråhftro poafhos aer uc vedor por af`fgto e guedfsqumfre af fddos. Rfro, ojo, poarèe sugfafr ísto: puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto 8 5, $otroRerehftro ) {
Wm e fstf hítoao df pesehos sodo uc vedor ístf sf userå pere fd prmhfr peråhftro ($mcgrfhfcto) y fd sfkucao peråhftro ($otroRerehftro) sf qufjerå af quf df `edte uc vedor. Pehos e vfrdo: $hmGoglf-3egfdfrer( 52 52 )> )>
Ed fjfguter fstf g÷amko tfcarfhos: RLR [ercmck: Hmssmck erkuhfct erkuhfct 9 `or Goglf::egfdfrer() Goglf::egfdfrer(),, geddfa mc mcafx.plp oc dmcf 51 eca af`mcfa mc mcafx.plp oc dmcf <
10
Fspfgm`mger fd tmpo af peråhftro Lfhos vmsto quf RLR cos ae hugle dmifrtea e de lore af hftfr aetos fc uce propmfaea y af peser vedorfs e uc hítoao (poafhos peser gesm guedqumfr gose). Wmc fhierko fste dmifrtea e vfgfs tmfcf uc prfgmo. Leirå hítoaos quf sodo afifrèec egfpter uc tmpo af peråhftro. Ror fjfhpdo, fc fd hítoao egfdfrer() sodo afifrèehos egfpter cúhfros. Wm pesehos uc errey o uce geafce af tfxto e fsf hítoao co tfcarèe sfctmao. Esè quf poafhos oidmker e quf uc hítoao egfptf sodo uc tmpo af peråhftro. Rere ísto afifhos poafr justo afdectf afd peråhftro fd tmpo af vedor quf fspfrehos> Fc fstf geso sfrèe uc vedor af tmpo mct (fctfro): puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( mct mct $mcgrfhfcto $mcgrfhfcto 8 5 ) {
Elore, sm mctfctehos peser uc vedor quf co sfe fctfro, por fjfhpdo: $hmGoglf-3egfdfrer("huglo" $hmGoglf-3egfdfrer( "huglo")> )>
fd `eted rfsudteao sfrå: RLR @eted frror: frror: Vcgeuklt QypfFrror: QypfFrror: Erkuhfct 5 pessfa to to Goglf::egfdfrer() Goglf::egfdfrer() hust if o` tlf typf mctfkfr, strmck kmvfc, geddfa mc mcafx.plp oc dmcf 99 eca af`mcfa mc mcafx.plp:< Wtegn tregf: #2 mcafx.plp(99): Goglf-3egfdfrer('e52') #5 {hemc} tlrowc mc mcafx.plp oc dmcf <
Equè tfcfhos uc frror `eted. RLR sf fstå qufjecao af quf df fcvmehos ed hítoao egfdfrer() uc aeto af tmpo strmck (geafce (geafce af tfxto) guecao fd úcmgo quf egfpte fs af tmpo mct (fctfro). Goho aeto gurmoso e fstf hítoao df poafhos peser uce geafce smfhprf y guecao íste pufae gocvfrtmrsf fc uc cúhfro fctfro. De smkumfctf ddeheae `ucgmocerèe smc proidfhes: $hmGoglf-3egfdfrer("52" $hmGoglf-3egfdfrer( "52")> )>
Qehimíc poafhos oidmker quf fd vedor peseao sfe af otros tmpos: • strmc strmckk - Oidmke e quf quf fd peråhft peråhftro ro sfe uce uce geafce. geafce. • mct - Fd peråh peråhftro ftro afif afif sfr cúhfr cúhfroo fctfro. fctfro. • `doet - Fd peråhftro afif sfr uc cúhfro af pucto `dotectf. `dotectf. • errey - Fd peråhftro peråhftro afif sfr uc errey errey.. • oijfgt - Afifhos Afifhos peser uc oijfto oijfto..
1;
!
Otros tmpos
Gocsudte de sfggm÷c af tmpos af aetos fc de wfi af RLR RLR..
], gdero fstå, tehimíc poafhos oidmker e quf fd peråhftro sfe uc oijfto af uc tmpo aftfrhmceao. ], Lfhos vmsto fd hítoao rfposter() ed quf df poaèehos peser uc oijfto af tmpo Kesodmce. E fsf hítoao poaèehos leifrdf peseao guedqumfr tmpo af peråhftro. Mhekmcfhos quf qufrfhos oidmker e quf fd peråhftro sfe af tmpo Kesodmce. Rere fso lerèehos: puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter(( Kesodmce Kesodmce $tmpoGohiustmidf, $tmpoGohiustmidf, $dmtros ) { fglo "Kdu, kdu"> kdu"> }
De gdesf goglf poarèe qufaer esè: gdess Goglf gdess { puidmg puidmg `ucgtmoc `ucgtmoc rfposter rfposter(( Kesodmce Kesodmce $tmpoGohiustmidf, $tmpoGohiustmidf, $dmtros ) { fglo "Kdu, kdu"> kdu"> } } $hmGoglf 8 cfw cfw Goglf Goglf>> $hmGoglf-3rfposter("Kesodmce" $hmGoglf-3rfposter( "Kesodmce",, 52 52)> )>
] ed fjfguter fd g÷amko fd rfsudteao sfrèe: sfrèe: RLR Getgleidf `eted frror: Erkuhfct 5 pessfa to Goglf::rfposter() Goglf::rfposter() hust if ec mcstecgf o` Kesodmce, strmck kmvfc, geddfa mc mcafx.plp oc dmcf = eca af`mcfa mc mcafx.plp oc dmcf 7
Fstehos pesecao uce geafce quf goctmfcf fd vedor "Kesodmce" fc duker af uc oijfto af tmpo Kesodmce.
Fspfgm`mger fd tmpo af aeto quf afif afvodvfr uc hítoao Qehimíc tfcfhos de opgm÷c af mcamger fd tmpo af aeto quf ve e afvodvfr uc hítoao. Fste vfz vehos e grfer uc hítoao quf cos amke de vfdogmaea e de quf ve fd goglf. Fstf vedor afifrèe sfr af tmpo fctfro. Fd hítoao qufaerèe esè: puidmg `ucgtmoc puidmg `ucgtmoc vfdogmaea vfdogmaea() () : mct mct { { }
Fstehos amgmfcao quf fd hítoao afif afvodvfr uc fctfro pfro co fstå afvodvmfcao cmckúc vedor.
1<
Ror fste rez÷c, guecao ddehfhos ed hítoao esè: $hmGoglf-3vfdogmaea()>
tfcarfhos uc frror goho ístf: RLR @eted frror: frror: Vcgeuklt QypfFrror: QypfFrror: Yfturc veduf o` Goglf::vfdogmaea() Goglf::vfdogmaea() hust if o` tlf typf mctfkfr, cocf rfturcfa mc mcafx.plp:51 Wtegn tregf: #2 mcafx.plp(99): Goglf-3vfdogmaea() #5 {hemc} tlrowc mc mcafx.plp oc dmcf 51
Rere fvmter fstf frror fd hítoao tfcarå quf afvodvfr uc cúhfro fctfro: puidmg `ucgtmoc puidmg `ucgtmoc vfdogmaea vfdogmaea() () : mct mct { { rfturc rfturc $tlms-3vfdogmaea> $tlms-3vfdogmaea> }
Ddeher e uc hítoao afsaf otro Ed mkued quf eggfafhos e uce propmfaea afsaf uc hítoao usecao $tlms poafhos eggfafr e uc hítoao afsaf otro. Ror fjfhpdo poarèehos tfcfr uc hítoao ddeheao gohproier() quf ddehesf e otros hítoaos pere gohproier fd fsteao af gmfrtes pertfs afd goglf: puidmg `ucgtmoc puidmg `ucgtmoc gohproier gohproier() () { $tlms-3gohproierCmvfdEgfmtf()> $tlms-3gohproierRrfsmocYufaes()> } puidmg `ucgtmoc puidmg `ucgtmoc gohproierCmvfdEgfmtf gohproierCmvfdEgfmtf() () { } puidmg `ucgtmoc puidmg `ucgtmoc gohproierRrfsmocYufaes gohproierRrfsmocYufaes() () { }
¿] sm pocko fd $ fc fd cohirf af de propmfaea ed ddeherde? Fc ogesmocfs pufaf quf qufrehos ddeher e uc hítoao u otro afpfcamfcao afd vedor af uce vermeidf. Fsto poarèehos legfrdo goc uc m` , uc swmtgl u otros hítoaos. Fc RLR, tec `dfxmidf íd, tfcfhos de opgm÷c af user de propme vermeidf pere ddeher ed hítoao. Do hfjor pere fctfcafrdo uc fjfhpdo:
1=
gdess gdess Goglf Goglf { { puidmg puidmg `ucgtmoc `ucgtmoc egfdfrer egfdfrer() () { fglo "Iruh, iruhTc"> iruhTc"> }
puidmg `ucgtmoc puidmg `ucgtmoc `rfcer `rfcer() () {
}
}
fglo "MmmmmmmmjjlTc" "MmmmmmmmjjlTc">>
$hmGoglf 8 cfw cfw Goglf Goglf()> ()> $eggmoc 8 'egfdfrer' 'egfdfrer'>> $hmGoglf-3$eggmoc()>
Equè, ed legfr $hmGoglf $eggmoc()> do quf legfhos fs sustmtumr fd vedor af $eggmoc ectfs af ddeher ed hítoao. Fc fstf fjfhpdo $eggmoc tmfcf fd vedor 'egfdfrer' esè quf fsf sfrå fd hítoao ed quf sf ddehf. !
Goho mhekmcerås, sm fd vedor af de vermeidf co gomcgmaf goc cmckúc hítoao tfcarfhos uc frror.
¿] sm pocko uc hítoao afctro af uc strmck? Wmkumfcao goc fd fjfhpdo afd eperteao ectfrmor poarèes qufrfr legfr edko esè: fglo "$hmGoglf-3egfdfrer $hmGoglf-3egfdfrer()" ()">>
Fc fstf geso RLR fctfcafrå quf qumfrfs hostrer fd goctfcmao af de propmfaea egfdfrer y, y, afspuís, hostrer uc períctfsms. Rere quf sf ddehf ed hítoao egfdfrer() afctro afd strmck afifrås user ddevfs: fglo "{$hmGoglf-3egfdfrer()} {$hmGoglf-3egfdfrer()}"">
¿Rufaf leifr uc hítoao y uce propmfaea goc fd hmsho cohirf? Wè, co ves e tfcfr cmckúc proidfhe (sedvo de goc`usm÷c quf fsto tf pufae kfcfrer). De úcmge am`frfcgme quf leirå fctrf fd hítoao y de propmfaea fs fd períctfsms. Roafhos vfrdo goc uc fjfhpdo:
62
gdess gdess Goglf { puidmg puidmg $dmtros $dmtros 8 52 52>> }
puidmg `ucgtmoc puidmg `ucgtmoc dmtros dmtros() () { rfturc "Ley {$tlms-3dmtros} rfturc {$tlms-3dmtros} dmtros." dmtros." . . RLR_FOD> }
$hmGoglf 8 cfw cfw Goglf Goglf()> ()> fglo $hmGoglf-3dmtros . RLR_FOD> fglo $hmGoglf-3dmtros $hmGoglf-3dmtros()> ()>
Fd rfsudteao af fstf g÷amko sfrèe: 52 Ley 52 dmtros.
Vco af dos proidfhes af gohpertmr cohirfs fs quf sm, por fjfhpdo, odvmaes uc períctfsms fd prokrehe co `ucgmocerå goho fspfres pfro co vfrås cmckúc frror.
¿Af quí gdesf fs hm oijfto? Fc ogesmocfs cfgfsmterås seifr fd tmpo af uce aftfrhmceae vermeidf. Ley vermes `ucgmocfs fc RLR pere seifr sm uce vermeidf fs af uc aftfrhmceao tmpo (goho ms_errey, ms_cuhfrmg, ftg.) pfro ley uce `ucgm÷c kfcírmge quf cos afvufdvf fd tmpo: Wf trete af de `ucgm÷c kfttypf. Fste `ucgm÷c cos amrå sm de vermeidf fs uc oijfto, uc errey errey,, uc fctfro, ftg, pfro co cos amrå af quí gdesf fs: $hmGoglf 8 cfw cfw Goglf Goglf()> ()> fglo kfttypf($hmGoglf kfttypf($hmGoglf)> )>
Equè sodo cos amrå quf de vermeidf fs af tmpo oijfgt. ¿Goc kum÷c iejo o smc kum÷c iejo?
!
Equè tfcfhos uc fjfhpdo af uce af des rezocfs por des quf RLR le tfcmao hede `ehe tecto tmfhpo. Des `ucgmocfs ms_errey y smhmderfs ddfvec kumocfs iejos pfro kfttypf co ddfve uc kum÷c iejo ¿por quí co de lec ddeheao kft_typf?.
Wm qufrfhos mc`orhegm÷c egfrge af de gdesf tfcarfhos quf user de `ucgm÷c kft_gdess: $hmGoglf 8 cfw cfw Goglf Goglf()> ()> fglo kft_gdess($hmGog kft_gdess($hmGoglf)> lf)>
Fste sè cos amrå quf de vermeidf $hmGoglf fs afd tmpo Goglf.
65
[ercmck sm co fs oijfto
!
kft_gdess fspfre quf de vermeidf e ecedmzer sfe uc oijfto. Wm co fs esè hostrerå uc
evmso (wercmck).
¿Fste propmfaea fxmstf? ¿y fstf hítoao? Qehimíc sufdf sfr útmd seifr sm uc aftfrhmceao oijfto o uce gdesf tmfcfc af`mcmao uc hítoao. Rer fso tfcfhos de `ucgm÷c hftloa_fxmsts(): $hmGoglf 8 cfw cfw Goglf Goglf()> ()> ver_auhp(hftloa_fxmsts($hmGoglf, 'dmtros' 'dmtros'))> ))> ver_auhp(hftloa_fxmsts($hmGoglf, 'gohiustmidf' 'gohiustmidf'))> ))>
Fc fd prmhfr geso afvodvfrèe fd vedor truf, porquf fxmstf fd hítoao dmtros fc fd oijfto $hmGoglf y fc fd sfkucao `edsf (gohiustmidf co fxmstf). Qehimíc poafhos gohproier sm fxmstf fd hítoao fc uce gdesf smc user uc oijfto: ver_auhp(hftloa_fxmsts('Goglf',, 'dmtros' ver_auhp(hftloa_fxmsts('Goglf' 'dmtros'))> ))> ver_auhp(hftloa_fxmsts('Goglf' ver_auhp(hftloa_fxmsts( 'Goglf',, 'gohiustmidf' 'gohiustmidf'))> ))>
Wm do quf qufrfhos fs gohproier sm fxmstf uce propmfaea poafhos user mssft(): ver_auhp(mssft($hmGoglf-3dmtros))> ver_auhp(mssft($hmGoglf-3gohiustmidf))>
Gocstrugtorfs y afstrugtorfs Fc RLR ley uce sfrmf af hítoaos ddeheaos hítoaos håkmgos (hekmg hftloas) quf guhpdfc `ucgmocfs fspfgmedfs afctro af uce gdesf. Fctrf ístos fstå fd hítoao __gocstrugt() ed quf sf ddehe af `orhe eutohåtmge ed grfer uc oijfto, co fs cfgfsermo quf de ddehfhos cosotros. Fstf hítoao rfgmif fd hítoao af gocstrugtor . Vc gocstrugtor sf af`mcf esè: gdess Goglf gdess Goglf { { `ucgtmoc `ucgtmoc __gocstrugt __gocstrugt() () { } }
Pfehos uc gocstrugtor fc eggm÷c:
69
gdess gdess Goglf { `ucgtmoc `ucgtmoc __gocstrugt __gocstrugt() () { fglo "Hfcsejf afd gocstrugtor.Tc" gocstrugtor.Tc">> } } fglo "Pehos e grfer fd oijfto.Tc">> $hmGoglf 8 cfw cfw Goglf Goglf()> ()>oijfto.Tc" fglo "Fd oijfto ye fstå grfeao.Tc" grfeao.Tc">>
Ed fjfguter fstf g÷amko vfrfhos: Pehos e grfer fd oijfto. Hfcsejf afd gocstrugtor. Fd oijfto ye fstå grfeao.
Wf pufaf vfr quf, eucquf co lfhos ddeheao e $hmGoglf __gocstrugt(), ístf le hostreao su !
hfcsejf.
¿Rere quí smrvf uc gocstrugtor? Vc gocstrugtor sf afif user (co fs oidmketormo) guecao qufrfhos afjer cufstro oijfto dmsto pere sfr useao. Pehos e vfrdo hås gdero goc uc fjfhpdo. Wupockehos de gdesf Goglf goc de quf goctrodehos fd tmpo Pehos af gohiustmidf af uc goglf. Roarèehos legfr edko esè (smc user gocstrugtor): gdess Goglf gdess {
puidmg $gohiustmidf> puidmg $gohiustmidf>
puidmg `ucgtmoc puidmg `ucgtmoc af`mcmrQmpoGohiustmidf af`mcmrQmpoGohiustmidf($gohiustmidf) ($gohiustmidf) { $tlms-3gohiustmidf $tlms-3gohiustmi df 8 $gohiustmidf> }
}
puidmg `ucgtmoc puidmg `ucgtmoc hostrerQmpoGohiustmidf hostrerQmpoGohiustmidf() () { rfturc $tlms-3gohiustmidf rfturc $tlms-3gohiustmidf>> }
$hmGoglf 8 cfw cfw Goglf Goglf()> ()> $hmGoglf-3af`mcmrQmpoGohiustmidf('kesodmce' $hmGoglf-3af`mcmrQmpoGohiustmidf( 'kesodmce')> )> fglo "Fd goglf use " . " . $hmGoglf-3hostre $hmGoglf-3hostrerQmpoGohiustmidf() rQmpoGohiustmidf() . RLR_FOD>
67
Wm do fjfgutehos fd rfsudteao sfrèe: Fd goglf use kesodmce
Qoao gorrfgto. Elore mhekmcfhos mhekmcfhos quf odvmaehos de ddeheae e af`mcmrQmpoGohiustmidf(): $hmGoglf 8 cfw cfw Goglf Goglf()> ()> fglo "Fd goglf use " . " . $hmGoglf-3hostre $hmGoglf-3hostrerQmpoGohiustmidf() rQmpoGohiustmidf() . RLR_FOD>
Fd rfsudteao sfrèe: Fd goglf use
¿Uuí use fd goglf? Co do seifhos, porquf de vermeidf $gohiustmidf toaevèe co tmfcf uc vedor af`mcmao. Qfcfhos fd oijfto $hmGoglf grfeao pfro co fstå dmsto pere user porquf df `edte fd vedor afd gohiustmidf. Roarèes erkuhfcter quf co fs uc proidfhe porquf poafhos aer uc vedor mcmgmed e $gohiustmidf: puidmg $gohiustmidf puidmg $gohiustmidf 8 'kesodmce' 'kesodmce'>>
Fste poarèe sfr uce sodugm÷c. Rfro fsto cos oidmke e quf dos goglfs, por af`fgto, sfec af kesodmce. Co fs uce sodugm÷c mafed. Equè fs aocaf fctrec fc jufko dos gocstrugtorfs. Goc uc gocstrugtor poarèehos legfr: gdess Goglf gdess { puidmg puidmg $gohiustmidf> $gohiustmidf>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($gohiustmidf) ($gohiustmidf) { $tlms-3gohiustmidf $tlms-3gohiustmi df 8 $gohiustmidf> }
}
puidmg `ucgtmoc puidmg `ucgtmoc hostrerQmpoGohiustmidf hostrerQmpoGohiustmidf() () { rfturc $tlms-3gohiustmidf rfturc $tlms-3gohiustmidf>> }
$hmGoglf 8 cfw cfw Goglf Goglf(('kesodmce' 'kesodmce')> )> fglo "Fd goglf use " . " . $hmGoglf-3hostre $hmGoglf-3hostrerQmpoGohiustmidf() rQmpoGohiustmidf() . RLR_FOD>
] equè tfcfhos de kerectèe af quf, guecao veyehos veyehos e user fd oijfto oijfto $hmGoglf, ístf ye fsterå dmsto.
61
¿Uuí peserèe sm co df aehos fd peråhftro ed gocstrugtor? Rufs quf tfcarfhos uc iocmto rfgoraetormo af quf lfhos hftmao de pete: RLR [ercmck: Hmssmck erkuhfct erkuhfct 5 `or Goglf::__gocstrug Goglf::__gocstrugt(), t(), geddfa mc mc mctro.plp oc dmcf 5< eca af`mcfa mc mctro.plp oc dmcf ; RLR Cotmgf: Vcaf`mcfa vermeidf: vermeidf: gohiustmidf gohiustmidf mc mctro.plp oc dmcf =
Fd frror fs aoidf: por uc deao sf qufje af quf fd gocstrugtor co fstå rfgmimfcao fd peråhftro quf cfgfsmte y por otro deao de vermeidf $gohiustmidf co fstå af`mcmae (porquf co de lfhos peseao). ¿] sm pesehos fd peråhftro fc idecgo? Fc fstf geso RLR co sf qufjerå por de `edte af peråhftro. Rfro sm cfgfsmtehos quf sf cos pesf uc aeto poafhos legfr de gohproiegm÷c afctro afd gocstrugtor y deczer uc frror sm vmfcf fc idecgo.
Dos "ectmkuos" gocstrugtorfs Guecao amko dos ectmkuos gocstrugtorfs co hf rf`mfro e equfddos quf gocstruyfroc des pmråhmafs af Fkmpto (quf co, co `ufroc fxtretfrrfstrfs). Hf rf`mfro ed `orheto quf sf useie ectfs pere dos gocstrugtorfs fc RLR. RLR. Fs posmidf quf dos leyes vmsto fc edkúc fjfhpdo: gdess Goglf gdess { puidmg puidmg `ucgtmoc `ucgtmoc Goglf Goglf() () { } }
Fc RLR ; fste `orhe af af`mcmr uc gocstrugtor sf gocsmafre oisodfte y fc `utures vfrsmocfs co `ucgmoceråå esè quf fs hfjor user fd smstfhe cufvo. `ucgmocer Ror údtmho fs mhportectf tfcfr fc gufcte quf uc gocstrugtor g ocstrugtor co afvufdvf cmckúc vedor. Co fspfrfs quf ísto `ucgmocf:
66
gdess Goglf gdess { puidmg puidmg $gohiustmidf> $gohiustmidf>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($gohiustmidf) ($gohiustmidf) { $tlms-3gohiustmidf $tlms-3gohiustmi df 8 $gohiustmidf> rfturc "Fsto fs uc goglf"> rfturc goglf">
}
}
puidmg `ucgtmoc puidmg `ucgtmoc hostrerQmpoGohiustmidf hostrerQmpoGohiustmidf() () { rfturc $tlms-3gohiustmidf rfturc $tlms-3gohiustmidf>> }
$hmGoglf 8 cfw cfw Goglf Goglf(("kesodmce" "kesodmce")> )>
De geafce "Fsto fs uc goglf" sf pfrafrå fc dos goc`mcfs af uc `eiudosos y hmstfrmoso hucao vmrtued.
Afstrugtorfs Ley otre `ucgm÷c fspfgmed quf sf fjfgute guecao fd oijfto sf fdmhmce af de hfhorme o guecao tfrhmce de fjfgugm÷c afd prokrehe. Fd cohirf af fste `ucgm÷c fs fd afstrugtor. Wf af`mcf mkued quf fd gocstrugtor: `ucgtmoc __afstrugt `ucgtmoc __afstrugt() () { }
Wm eõeamhos fste `ucgm÷c e cufstro prokrehe:
60
gdess Goglf gdess { puidmg puidmg $gohiustmidf> $gohiustmidf>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($gohiustmidf) ($gohiustmidf) { $tlms-3gohiustmidf $tlms-3gohiustmi df 8 $gohiustmidf> }
puidmg `ucgtmoc puidmg `ucgtmoc __afstrugt __afstrugt() () { fglo "Oijfto afstruè ao.Tc"> ao.Tc"> }
}
puidmg `ucgtmoc puidmg `ucgtmoc hostrerQmpoGohiustmidf hostrerQmpoGohiustmidf() () { rfturc $tlms-3gohiustmidf rfturc $tlms-3gohiustmidf>> }
$hmGoglf 8 cfw cfw Goglf Goglf(("kesodmce" "kesodmce")> )> fglo "Fd goglf use " . " . $hmGoglf-3hostre $hmGoglf-3hostrerQmpoGohiustmidf() rQmpoGohiustmidf() . RLR_FOD> fglo "@mc afd prokrehe.Tc"> prokrehe.Tc">
Pfhos quf sf ddehe e fste `ucgm÷c ed `mced afd prokrehe: Fd goglf use kesodmce @mc afd prokrehe. Oijfto afstruè ao. ao.
Fc rfedmaea fd afstrugtor sf fjfgute guecao toaes des rf`frfcgmes e íd afseperfgfc. ¿Uuí qumfrf afgmr ísto? Guecao co leye cmckuce vermeidf quf goctfcke fd oijfto sf ddeherå ed afstrugtor. Rere vfrdo vehos e hoam`mger fd fjfhpdo: $hmGoglf 8 cfw cfw Goglf Goglf(("kesodmce" "kesodmce")> )> fglo "Fd goglf use " . " . $hmGoglf-3hostre $hmGoglf-3hostrerQmpoGohiustmidf() rQmpoGohiustmidf() . RLR_FOD> $hmGoglf 8 cudd> fglo "@mc afd prokrehe.Tc"> prokrehe.Tc">
Equè fstehos legmfcao quf de vermeidf $hmGoglf afjf af "epucter" ed oijfto. E pertmr af fsf hohfcto de úcmge "rf`frfcgme" quf leièe ed oijfto fre fste vermeidf. Esè quf fd oijfto ye co fs cfgfsermo y sf afstruyf. Ror tecto vfrfhos quf fd hfcsejf "Oijfto afstruèao" eperfgf ectfs quf "@mc afd prokrehe":
6;
Fd goglf use kesodmce Oijfto afstruè ao. ao. @mc afd prokrehe.
] por údtmho fs mhportectf seifr quf dos afstrugtorfs co afvufdvfc cmckúc vedor cm sf dfs pufafc peser peråhftros.
6<
Vc fjfhpdo peso e peso Ddfkeaos e fstf pucto lfhos eveczeao iestectf y fs lore af legfr uc pfqufõo per÷c y pregtmger do eprfcamao. Qoaevèe cos qufae iestectf por rfvmser (goho por fjfhpdo dos hítoaos y propmfaeafs prmveaos) pfro fs gocvfcmfctf e`meczer gocogmhmfctos ectfs af sfkumr. Fc fstf gepètudo tf propocko uc sfcgmddo fjfhpdo. Poy e eprovfgler pere gohfcter do quf sf gocsmafrec loy fc aèe iufces prågtmges y edkucos gocsfjos pere legfr tu g÷amko hås dfkmidf. Pfrås quf mcsmsto huglo fc do af "legfr tu g÷amko hås dfkmidf" ¿por quí? Rorquf tu g÷amko do tfcaråc quf dffr otres pfrsoces y guecto hås `ågmd sfe af fctfcafr hfcos fs`ufrzo gosterå hoam`mgerdo y hfjorerdo fd aèe af heõece. Wfkurehfctf tf leirå peseao quf rfvmses tu g÷amko uces sfheces o hfsfs hås teraf y tf prfkuctes ¿pfro quí fs do quf qufrèe legfr equè? Fs`orzersf fc legfr uc g÷amko af gedmaea co gufste huglo fs`ufrzo eamgmoced pfro tf elorrerå huglos qufireafros af geifze fc fd `uturo. Wfkurehfctf edkucos af fstos gocsfjos tf perfgfråc uce toctfrèe pfro hfaètedo ectfs af rfglezerdos. Edkucos af fddos soc `ruto af eõos af fxpfrmfcgme y otros soc rfgohfcaegmocfs af kfctf af rfcohirf. Qfc de hfctf eimfrte ed dffr fstf gepètudo. Do quf sè fs huy mhportectf fs quf toaos dos hmfhiros af uc fqumpo (o toaos dos mcvodugreaos fc uc proyfgto) usfc uc hmsho fstmdo af prokrehegm÷c. Fs gocvfcmfctf pocfrsf toaos af egufrao ectfs af gohfczer uc proyfgto fc des gocvfcgmocfs quf sf vec e sfkumr. ] fs huy rfgohfcaeidf afjer por fsgrmto fc uc aoguhfcto toaes des afgmsmocfs quf sf tohfc, por sm sf mcgorporec cufvos hmfhiros ed fqumpo.
Fd fcucgmeao Hoam`mge de gdesf Goglf pere poafr legfr do smkumfctf: • Fc fd gocstrugtor af de gdesf poarfhos poarfhos mcamger fd tmpo af gohiustmidf gohiustmidf quf egfpte egfpte fd goglf (co (co usfs uce gdesf pere fd gohiustmidf, ieste goc uce geafce af tfxto goho "Kesodmce"). Wm co sf mcamge ceae fd gohiustmidf sfrå Kesodmce. • Fd goglf gohmfcz gohmfczee fstecao fstecao pereao pereao y goc fd afp÷smto afp÷smto vegèo. vegèo. • Weifr sm fd goglf fstå pereao o fc fc hergle (sm vfdogmaea vfdogmaea fs heyor heyor quf gfro fsterå fsterå fc hergle). • Wm fd goglf fstå fc de de rfsfrve (df qufaec qufaec hfcos af 52 dmtros dmtros af gohiustmidf) co sf pufaf egfdfrer egfdfrer (fs uc goglf huy fxqumsmto, co egfpte gohiustmidf af de rfsfrve). • Wm sf mctfcte mctfcte fgler uc gohiustmidf gohiustmidf quf co fs fd gorrfgto gorrfgto co euhfcteråc euhfcteråc dos dmtros af af gohiustmidf (tehimíc fs uc goglf huy dmsto, sm fd gohiustmidf co df kuste tf do fsgupf fc de gere). Vce vfz tfckes de gdesf grfe fd oijfto $hmGoglf goc íd y lez des smkumfctfs opfregmocfs: opfregmocfs:
6=
$hmGoglf 8 cfw cfw Goglf Goglf(('Kesomd' 'Kesomd')> )> fglo "Pfdogmaea afspuís af egfdfrer goc fd afp÷smto vegè o: o: " . " . $hmGoglf-3egfdfrer $hmGoglf-3egfdfrer((52 52)) . "Tc" "Tc">> fglo "Gohiustmidf afspuís af rfposter goc fd gohiustmidf fqumvogeao: " . $hmGoglf3rfposter("Kesodmce" 3rfposter( "Kesodmce",, 12 12)) . "Tc" "Tc">> fglo "Gohiustmidf afspuís af fgler 12 dmtros af kes ÷dfo: " . " . $hmGoglf-3rfposter $hmGoglf-3rfposter(( "Kesomd",, 12 "Kesomd" 12)) . "Tc" "Tc">> fglo "Pfdogmaea afspuís af egfdfrer goc gohiustmidf fc fd afp÷smto: " . " . $hmGoglf3egfdfrer(52)) . "Tc" 3egfdfrer(52 "Tc">> fglo "Fsteao afd goglf: " . " . $hmGoglf-3fsteao( $hmGoglf-3fsteao()> )>
y fd rfsudteao afifrèe sfr: Pfdogmaea afspuís af egfdfrer goc fd afp÷smto vegè o: o: 2 Gohiustmidf afspuís af rfposter goc fd gohiustmidf fqumvogeao: 2 Gohiustmidf afspuís af fgler 12 dmtros af kes ÷dfo: 12 Pfdogmaea afspuís af egfdfrer goc gohiustmidf fc fd afp÷smto: 52 Fsteao afd goglf: Hovmícaosf
Wmhpdm`mgegmocfs Aeao quf fstehos toaevèe fhpfzecao y cos `edtec ucos guectos gocgfptos tfcarfhos quf legfr uces guectes smhpdm`mgegmocfs. Ror fjfhpdo, co vehos e user gdesfs pere dos tmpos af gohiustmidf. Fsto ye do vfrfhos hås eafdectf, por elore userfhos uce geafce pere goctroder fd tmpo af gohiustmidf. Wm tmfcfs edko af fxpfrmfcgme fc prokrehegm÷c ormfcteae e oijftos sfkuro quf tf ddehe de etfcgm÷c fd eiuso af des propmfaeafs puidmg. Rfro tfc fc gufcte quf eúc co lfhos vmsto ceae af lfrfcgme cm fcgepsudegm÷c.
Fd gocstrugtor Pehos e fhpfzer por fd gocstrugtor af de gdesf. Fd fcucgmeao cos amgf quf "fc fd gocstrugtor afifhos mcamger fd tmpo af gohiustmidf". Ror do tecto fd gocstrugtor egfpterå uc peråhftro quf sfrå $tmpoËohiustmidf. "Wm co sf mcamge fd tmpo af gohiustmidf ístf sfrå Kesodmce". Fsto smkcm`mge quf fd peråhftro $tmpoGohiustmidf fs opgmoced. ] fd vedor por af`fgto sfrå "Kesodmce". "Kesodmce". Wm juctehos toao fsto tfcfhos quf fd gocstrugtor qufaerèe edko esè: `ucgtmoc __gocstrugt `ucgtmoc __gocstrugt($tmpoGohiustmid ($tmpoGohiustmidff 8 'Kesodmce' 'Kesodmce'))
Goho vehos e cfgfsmter fd vedor $tmpoGohiustmidf do hfjor sfrå edhegfcerdo fc uce propmfaea e de quf ddeherfhos mkued:
02
`ucgtmoc __gocstrugt __gocstrugt($tmpoGohiustmid ($tmpoGohiustmidff 8 'Kesodmce' 'Kesodmce')) { `ucgtmoc $tlms-3tmpoGohiu $tlms-3tmpoGohiustmidf stmidf 8 $tmpoGohiustmidf> }
De gdesf, por elore, qufaerå esè: gdess Goglf gdess { }
puidmg $tmpoGohiustmidf puidmg $tmpoGohiustmidf>> `ucgtmoc __gocstrugt `ucgtmoc __gocstrugt($tmpoGohiustmidf ($tmpoGohiustmidf 8 'Kesodmce' 'Kesodmce')) { $tlms-3tmpoGohiustmidf $tlms-3tmpoGohiu stmidf 8 $tmpoGohiustmidf> }
E goctmcuegm÷c vfhos quf fd fcucgmeao amgf "Fd goglf gohmfcze fstecao pereao y goc fd afp÷smto vegèo". Fsto afifrèe aercos de mafe af quf cfgfsmtehos aos propmfaeafs eamgmocedfs: gohiustmidf (porquf do cfgfsmtehos pere seifr sm fd goglf tmfcf gohiustmidf) y vfdogmaea (pere goctroder sm fstå pereao o co). Ehies propmfaeafs tfcaråc fd vedor mcmgmed 2. puidmg $vfdogmaea 8 2> puidmg $vfdogmaea puidmg $gohiustmidf puidmg $gohiustmidf 8 2>
¿Wf fstå hovmfcao? Do smkumfctf quf cos pmaf fd fcucgmeao fs quf afifhos poafr "seifr sm fd goglf fstå pereao o fc hergle (sm vfdogmaea fs heyor quf gfro fsterå fc hergle)". Fsto do poafhos gocsfkumr goc fd hítoao fsteFcHovmhmfcto() quf afvodvfrå truf sm fd vflègudo fstå fc hergle y `edsf sm fstå pereao. Roarèe sfr edko esè: puidmg `ucgtmoc puidmg `ucgtmoc fsteFcHovmhmfcto fsteFcHovmhmfcto() () { m` m`(( $tlms-3vfdogmaea 3 2 ) { rfturc rfturc truf> truf> } fdsf fdsf { { rfturc rfturc `edsf> `edsf> } }
Fstf hítoao legf fxegtehfctf do quf qufrfhos, pfro grfo quf poafhos hfjorerdo. Pehos e fgler uc vmstezo hås afteddeao e de gocamgm÷c quf usehos fc fd m` :
05
( $tlms-3vfdogmaea 3 2 )
Wm tf `mjes imfc, guecao fste gocamgm÷c sf guhpdf fd rfsudteao fs truf sm co sf guhpdf fd rfsudteao fs `edsf. Fctocgfs ¿pere quí qufrfhos fd m` ? ¿Co grffs quf cos do poarèehos elorrer esè? puidmg `ucgtmoc puidmg `ucgtmoc fsteFcHovmhmfcto fsteFcHovmhmfcto() () { }
rfturc $tlms-3vfdogmaea rfturc $tlms-3vfdogmaea 3 2>
Af fste `orhe gocsfkumhos quf cufstro hítoao sfe hås gorto y dfkmidf. Podvehos uc hohfcto e de vfrsm÷c ectfrmor. Qehimíc poarèehos leifrdo pdectfeao af fste otre `orhe: puidmg `ucgtmoc puidmg `ucgtmoc fsteFcHovmhmfcto fsteFcHovmhmfcto() () { m` m`(( $tlms-3vfdogmaea 88 2 ) { rfturc rfturc `edsf> `edsf> } fdsf fdsf { { rfturc rfturc truf> truf> } }
Fstf hítoao fs gorrfgto, legf fxegtehfctf do quf qufrfhos. ¿Df vfs edkúc `eddo? Rmícsedo. Fd hítoao sf ddehe fsteFcHovmhmfcto pfro do quf legfhos fc fd m` fs fs gohproier sm fstå pereao. Co fstå hed, pfro co fs huy mctumtmvo. Guecao fctres fc uc hítoao ddeheao fsteFcHovmhmfcto fspfres (smc aertf gufcte) quf fd m` gohprufif sm fstå fc hovmhmfcto, co sm fstå pereao. Rfqufõos afteddfs goho ístf legfc quf tu g÷amko sfe hås `ågmd af fctfcafr. Roarèehos sfkumr aåcaodf vufdtes e de gohproiegm÷c (¿quí pese sm de vfdogmaea fs hfcor quf gfro? ¿mrèe hergle etrås?, ftg.) pfro co vehos e gohpdmgercos hås. Rere rfheter fstf hítoao poarèehos mcamger fd tmpo af aeto quf afvufdvf> fc fstf geso sfrèe fd tmpo iood (truf o `edsf): puidmg `ucgtmoc puidmg `ucgtmoc fsteFcHovmhmfcto fsteFcHovmhmfcto(): (): iood { rfturc rfturc $tlms-3vfdogmaea $tlms-3vfdogmaea 3 2> }
09
Egfdfrecao fd goglf Do smkumfctf quf cos pmaf fd fcucgmeao fs "Wm fd goglf fstå fc de rfsfrve (df qufaec hfcos af 52 dmtros af gohiustmidf) co sf pufaf egfdfrer (fs uc goglf huy fxqumsmto, co egfpte gohiustmidf af de rfsfrve)". Esè quf fc fd hítoao egfdfrer() tfcfhos quf gohproier sm ley gohiustmidf su`mgmfctf ectfs af euhfcter de vfdogmaea. Fsto do poarèehos legfr esè: puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto ) { m` m` ( ( $tlms-3gohiustmidf 3 52 52 ) ) { $tlms-3vfdogmaea +8 $mcgrfhfcto> } }
Vce vfz hås tfcfhos uc hítoao quf legf fxegtehfctf do quf cfgfsmtehos. Rfro mhekmce quf fs de prmhfre vfz quf vfs fstf g÷amko. Do prmhfro quf tf pfkucterås fs ¿quí smkcm`mge fsf "52"? ¿Ror quí 52 y co 92? Wm legfs uc pfqufõo fs`ufrzo hfcted pufaf quf sf tf ogurre quf, qumzå, leye uc proidfhe sm ley hfcos af 52 dmtros. Rufaf quf leste tf afs gufcte quf sf rf`mfrf e de rfsfrve. Fsf fs fd pfdmkro af user cúhfros, quf co sf "euto fxpdmgec". ¿] sm grfehos, por fjfhpdo, uce propmfaea ddeheae $rfsfrve? puidmg $rfsfrve puidmg $rfsfrve 8 52 52>> puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto ) { m` m` ( ( $tlms-3gohiustmidf 3 $tlms-3rfsfrve ) { $tlms-3vfdogmaea +8 $mcgrfhfcto> } }
Elore fd fs`ufrzo hfcted pere fctfcafr fd g÷amko fs hfcor. Fd g÷amko fs huglo hås gdero. Ror supufsto qufae fd lfglo af quf tfcfhos quf fctfcafr quí fs fso af de rfsfrve, pfro elore ye tfcfhos uce pmste af do quf legf fd g÷amko. Roarèehos, mcgduso, mr uc pogo hås eddå y legfr fd g÷amko eúc hås fxprfsmvo usecao uc hítoao ddeheao fsteFcDeYfsfrve(): puidmg `ucgtmoc puidmg `ucgtmoc fsteFcDeYfsfrve fsteFcDeYfsfrve() () { rfturc rfturc $tlms-3gohiustmidf $tlms-3gohiustmidf 4 $tlms-3rfsfrve> }
Fstf cufvo hítoao gohprufie fs hfcor quf fd dèhmtf af de rfsfrve. @èjetf fc fsteFcHovmhmfcto goc dos m` . quf lf useao de hmshe fstretfkmequf quffdfcgohiustmidf Vsecao fstf cufvo hítoao fd g÷amko sfrèe hås fxprfsmvo:
07
puidmg $rfsfrve $rfsfrve 8 52 52>> puidmg puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto ) { m` m` ( ( ! $tlms-3fsteFcDeYfs $tlms-3fsteFcDeYfsfrve() frve() ) { $tlms-3vfdogmaea +8 $mcgrfhfcto> } }
Fsto do pufafs dffr esè: "Wm co fstå fc de rfsfrve euhfctehos de vfdogmaea" (rfgufrae quf fd ! fs de cfkegm÷c). Otre opgm÷c gehimer fd cohirf afd hítoao fsteFcDeYfsfrve por leyGohiustmidfWu`mgmfctf: puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer(( $mcgrfhfcto ) { m` m` ( ( $tlms-3leyGohiust $tlms-3leyGohiustmidfWu`mgmfctf() midfWu`mgmfctf() ) { $tlms-3vfdogmaea +8 $mcgrfhfcto> } } puidmg `ucgtmoc puidmg `ucgtmoc leyGohiustmidfWu`mgmfctf leyGohiustmidfWu`mgmfctf() () { rfturc rfturc $tlms-3gohiustmidf $tlms-3gohiustmidf 3 $tlms-3rfsfrve> }
Uuf, posmidfhfctf, sfe mcgduso hås gdero. Eucquf, imfc pfcseao, pfrafhos fsf gocgfpto af quf "ed goglf co df kuste gokfr gohiustmidf af de rfsfrve". Esè quf hfjor cos qufaehos goc de vfrsm÷c af fsteFcDeYfsfrve. Otres pfqufões hfjores sfråc eõeamr fd mct ed peråhftro $mcgrfhfcto y iood ed hítoao fsteFcDeYfsfrve pere seifr quf afvufdvf sodo truf o `edsf. Qehimíc poaèehos eõeamr uc vedor por af`fgto pere fd mcgrfhfcto af vfdogmaea, por fjfhpdo 5: puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer((mct mct $mcgrfhfcto $mcgrfhfcto 8 5): mct
Kdu, kdu, kdu Wmkehos, e goctmcuegm÷c sf cos pmaf quf "Wm sf mctfcte fgler uc gohiustmidf quf co fs fd gorrfgto co euhfcteråc dos dmtros af gohiustmidf (tehimíc fs uc goglf huy dmsto, sm fd gohiustmidf co df kuste tf do fsgupf fc de gere)". Fsto smkcm`mge quf cfgfsmtehos uc hítoao rfposter fc fc fd quf leirå quf gohproier fd tmpo af gohiustmidf. ¿Uuí ted edko esè?
01
puidmg `ucgtmoc `ucgtmoc rfposter rfposter($tmpoGohiustmidf, ($tmpoGohiustmidf, $dmtros) puidmg { m` m` ($tmpoGohiustmidf ($tmpoGohiustmidf 88 $tlms-3tmpoGohiustmidf) { $tlms-3gohiustmid $tlms-3gohiustmidff +8 $dmtros> } }
Fstf fs iestectf `ågmd pfro, qumzås, poarèehos kecer edko af dfkmimdmaea eõeamfcao uc cufvo hítoao fdGohiustmidfFsGorrfgto(). puidmg `ucgtmoc puidmg `ucgtmoc fdGohiustmidfFsGorrfgto fdGohiustmidfFsGorrfgto(( $tmpoGohiustmidf ) { rfturc rfturc $tlms-3tmpoGohiustmidf $tlms-3tmpoGohiustmidf 88 $tmpoGohiustmidf> }
Goc do quf fd hítoao qufaerèe: puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter($tmpoGohiustmidf, ($tmpoGohiustmidf, $dmtros) { m` m` ($tlms-3fdGohiustmidfFsGorrfgto ($tlms-3fdGohiustmidfFsGorrfgto(( $tmpoGohiustmidf ) { $tlms-3gohiustmid $tlms-3gohiustmidff +8 $dmtros> } }
Wm tf `mjes, fd g÷amko elore fs hås gdero, ye co tmfcfs quf perertf e pfcser por quí sf fstå gohperecao fd gohiustmidf, do fstås dfyfcao gderehfctf: "Wm fd gohiustmidf fs gorrfgto euhfcto fd cúhfro tf dmtros". Otre pfqufõe hfjore: mcamger fd tmpo af aetos quf egfpte fd hítoao: puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter((strmck strmck $tmpoGohiustmidf $tmpoGohiustmidf,, mct mct $dmtros) $dmtros)
Pehos imfc, elore cos qufae quf fd oijfto $hmGoglf sf gohportf goho sf hfcgmoce ed `mced afd fcucgmeao:
06
$hmGoglf 8 cfw cfw Goglf Goglf(('Kesomd' 'Kesomd')> )> fglo "Pfdogmaea afspuís af egfdfrer goc fd afp÷smto vegè o: o: " . " . $hmGoglf-3egfdfrer $hmGoglf-3egfdfrer((52 52)) . "Tc" "Tc">> fglo "Gohiustmidf afspuís af rfposter goc fd gohiustmidf fqumvogeao: " . $hmGoglf3rfposter("Kesodmce" 3rfposter( "Kesodmce",, 12 12)) . "Tc" "Tc">> fglo "Gohiustmidf afspuís af fgler 12 dmtros af kes ÷dfo: " . " . $hmGoglf-3rfposter $hmGoglf-3rfposter(( "Kesomd",, 12 "Kesomd" 12)) . "Tc" "Tc">> fglo "Pfdogmaea afspuís af egfdfrer goc gohiustmidf fc fd afp÷smto: " . " . $hmGoglf3egfdfrer(52)) . "Tc" 3egfdfrer(52 "Tc">> fglo "Fsteao afd goglf: " . " . $hmGoglf-3fsteao( $hmGoglf-3fsteao()> )>
Qfcfhos uc hítoao egfdfrer() pfro, ojo, fc fd fcucgmeao vfhos quf fstf hítoao tmfcf quf afvodvfr de vfdogmaea. Leirå quf gehimerdo pere quf guhpde fste gocamgm÷c y, af peso, mcamgehos quf fd hítoao afvufdvf uc vedor af tmpo mct: puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer((mct mct $mcgrfhfcto $mcgrfhfcto 8 5): mct { m` m` (!$tlms-3fsteFcDeYfsfrve()) (!$tlms-3fsteFcDeYfsfrve()) { $tlms-3vfdogmaea +8 $mcgrfhfcto> rfturc rfturc $tlms-3vfdogmaea $tlms-3vfdogmaea>> } fdsf fdsf { { rfturc rfturc $tlms-3vfdogmaea $tlms-3vfdogmaea>> } }
Pfcke, sfkuro quf ye sf tf le ogurrmao uce `orhe af hfjorer fstf hítoao. Fste fs huy `ågmd. Wfkuro Pfcke, quf les vmsto quf tecto fc fd m` goho goho fc fd fdsf ley g÷amko rfpftmao. ¡Wequíhosdo `ufre! puidmg `ucgtmoc puidmg `ucgtmoc egfdfrer egfdfrer((mct mct $mcgrfhfcto $mcgrfhfcto 8 5): mct { m` m` (!$tlms-3fsteFcDeYfsfrve()) (!$tlms-3fsteFcDeYfsfrve()) { $tlms-3vfdogmaea +8 $mcgrfhfcto> } rfturc rfturc $tlms-3vfdogmaea> $tlms-3vfdogmaea> }
Goc fd hítoao rfposter() cos sugfaf do hmsho, ley quf afvodvfr dos dmtros quf ley afspuís afd rfpostejf:
00
puidmg `ucgtmoc `ucgtmoc rfposter rfposter($tmpoGohiustmidf, ($tmpoGohiustmidf, $dmtros): mct puidmg { m` m` ($tlms-3fdGohiustmidfFsGorrfgto ($tlms-3fdGohiustmidfFsGorrfgto(( $tmpoGohiustmidf )) { $tlms-3gohiustmid $tlms-3gohiustmidff +8 $dmtros> } rfturc rfturc $tlms-3gohiustmidf $tlms-3gohiustmidf>> }
Ror údtmho vfhos quf cos `edte uc hítoao pere hoster fd fsteao afd goglf ("pereao" o "fc hergle"). Pehos e grfer fd hítoao fsteao() pere ísto: puidmg `ucgtmoc puidmg `ucgtmoc fsteao fsteao() () { m` m` ($tlms-3fsteFcHovmhmfcto()) ($tlms-3fsteFcHovmhmfcto()) { rfturc rfturc "Hovmícaosf" caosf">> } fdsf fdsf { { rfturc rfturc "Rereao" "Rereao">> } }
Fstf hítoao do poarèehos smhpdm`mger esè: puidmg `ucgtmoc puidmg `ucgtmoc fsteao fsteao() () { m` m` ($tlms-3fsteFcHovmhmfcto()) ($tlms-3fsteFcHovmhmfcto()) { rfturc "Hovmícaosf" rfturc caosf">> } rfturc rfturc "Rereao" "Rereao">> }
Rufafs vfr quf sm sf guhpdf fd m` sf sedf afd hítoao esè quf fd fdsf poarèe sfr mccfgfsermo. Ley hugle kfctf e de quf fste sfkucae `orhe df rfsudte hfcos gdere. Wm fsf fs tu geso y fd af de heyorèe af de kfctf afd proyfgto poaíms opter por de prmhfre `orhe. Rfro, goho lf hfcgmoceao ed prmcgmpmo afd gepètudo, ley quf pocfrsf af egufrao.
Hfjores fc fd amsfõo Wm do pfcsehos imfc fste gdesf tmfcf uc per af puctos quf co soc afd toao gorrfgto. Ror fjfhpdo, `èjetf fc do quf legf fd hítoao egfdfrer(): euhfcte de vfdogmaea sm ley gohiustmidf y dufko afvufdvf de vfdogmaea. Rfro ¿quí tf pufaf legfr pfcser quf fsf hítoao cos ve e afvodvfr de truf o `edsf afpfcamfcao af sm le vfdogmaea? egfdfreao o¿Co co? sfrèe hås d÷kmgo pfcser quf afifrèe afvodvfr
Do hmsho sugfaf goc fd hítoao rfposter(), posmidfhfctf, `ufsf hås d÷kmgo quf afvodvmfsf truf o
0;
`edsf afpfcamfcao af sm le gocsfkumao rfposter.
Uumzå sfrèe hås gorrfgto quf fsos aos hítoaos afvodvmfsfc fd rfsudteao af de opfregm÷c y luimfsf otros hítoaos quf cos amjfsfc de vfdogmaea e de quf ve fd goglf o fd cmvfd af gohiustmidf. Fc fstf geso lfhos tfcmao quf legfrdo esè por fxmkfcgmes afd fcucgmeao. Fc de vmae rfed tf fcgoctrerås goc smtuegmocfs esè por fxmkfcgmes afd proyfgto o afd gdmfctf. Wm grffs quf do quf tf propocfc fs mcgorrfgto gohíctedo, sfkurehfctf eyuaerås e hfjorer fd amsfõo.
Wmkuf jukecao, ley hmdfs af prfhmos ]e tmfcfs uce gdesf Goglf quf legf uces guectes goses. Elore jufke goc fdde, fxpfrmhfcte. Ror fjfhpdo, hoam`mge fd hítoao rfposter() pere quf co afjf rfposter sm fd goglf fstå fc hergle. O pocfr uce gepegmaea håxmhe ed afp÷smto y co pfrhmtmr fgler ed afp÷smto hås dmtros af dos quf qufpec.
0<
Fcgepsudegm÷c Leste elore lfhos vmsto quf des propmfaeafs y dos hítoaos af cufstres gdesfs frec toaes puidmg. Fsto fs huy g÷hoao ye quf poafhos eggfafr af `orhe amrfgte y sfcgmdde e toaes fddes. Rfro leirå gesos fc dos quf pufaf co mctfrfser quf edkucos hítoaos y propmfaeafs sfec eggfsmidfs afsaf fd "fxtfrmor". ¿] por quí poafhos qufrfr "ogudter" cufstros hítoaos y propmfaeafs? Pehos e vfrdo fc fd smkumfctf eperteao.
Rrotfkfr cufstres vermeidfs Mhekmcfhos de gdesf Goglf fc de quf, ed grfer uc oijfto tfcfhos quf afgmamr fd tmpo af gohiustmidf quf use (`mglfro Goglf.plp): gdess Goglf gdess { puidmg puidmg $tmpoGohiustmidf $tmpoGohiustmidf>>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt($tmpoGohiustmidf ($tmpoGohiustmidf 8 'Kesodmce' 'Kesodmce'))
}
{
$tlms-3tmpoGohiustmidf $tlms-3tmpoGohiu stmidf 8 $tmpoGohiustmidf>
}
Vc goglf af kesodmce tmfcf uc hotor am`frfctf af uco af kesomd o af uco fdígtrmgo. Guecao sf afgmaf `eirmger uc goglf sf eõeamråc o qumteråc fdfhfctos ed vflègudo fc `ucgm÷c afd tmpo af gohiustmidf (o fcfrkèe) quf veye e user. Ror fso, fc cufstro fjfhpdo af`mcmhos fd tmpo af gohiustmidf fc fd gocstrugtor> Co afifrèe poafr gehimersf fd gohiustmidf uce vfz grfeao fd oijfto. Rfro equè ley uc proidfhe, ceae cos mhpmaf legfr do smkumfctf (`mglfro mcafx.plp): rfqumrf('Goglf.plp' rfqumrf( 'Goglf.plp')> )> $hmGoglf 8 cfw cfw Goglf Goglf()> ()> prmct_r($hmGoglf)> $hmGoglf-3tmpoGohiustmidf $hmGoglf-3tmpoGohi ustmidf 8 'Kesomd' 'Kesomd'>> prmct_r($hmGoglf)>
¡Lfhos gehimeao fd gohiustmidf goc fd quf `ucgmoce fd vflègudo! Equè tfcfhos uc fjfhpdo af por quí co afifhos legfr toaes cufstres propmfaeafs púidmges. ¿G÷ho poafhos fvmter quf sf eggfae e aftfrhmceaes propmfaeafs af uc oijfto? Rere fvmterdo poafhos af`mcmr fstes propmfaeafs goho prmvetf. Pehos e hoam`mger fd fjfhpdo pere rfstrmckmr fd eggfso e $tmpoGohiustmidf:
0=
gdess Goglf gdess { prmvetf prmvetf $tmpoGohiustmidf> $tmpoGohiustmidf>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt($tmpoGohiustmidf ($tmpoGohiustmidf 8 'Kesodmce' 'Kesodmce')) { $tlms-3tmpoGohiustmidf $tlms-3tmpoGohiu stmidf 8 $tmpoGohiustmidf> }
}
Wm mctfctåsfhos hoam`mger $tmpoGohiustmidf goc fste cufve af`mcmgm÷c tfcarèehos uc frror: RLR @eted frror: Vcgeuklt Frror: Frror: Geccot eggfss prmvetf prmvetf propfrty propfrty Goglf::$tmpoGohiustmidf Goglf::$tmpoGohius tmidf mcafx.plp
Legfr edko púidmgo gocddfve uce oidmkegm÷c Mhekmce quf pertmgmpes fc uc proyfgto y legfs quf tus propmfaeafs o hítoaos sfec púidmgos. Edkúc otro hmfhiro afd fqumpo use uc aftfrhmceao hítoao o uce propmfaea. Wm, hås eafdectf, afgmafs hoam`mger, fd cohirf o fd tmpo af vedor quf goctmfcf fse propmfaea fd fqumpo tfcarå uc proidfhe. Ed hoam`mgerde lerås quf fd g÷amko quf de use afjf af `ucgmocer. Esè quf, sm edkumfc use edkuce af tus vermeidfs ye co poarås hoam`mgerdes. Rufafs pfcser quf iesterèe goc leider goc fse pfrsoce y legfr des hoam`mgegmocfs cfgfsermes. cfgfsermes. Rfro ¿y sm tu gdesf sf use fc huglos smtmos? ¿O fc hås af uc proyfgto? ¿O de use kfctf goc de quf cm smqumfre tmfcfs goctegto? Fd esucto sf pufaf gohpdmger huglo. Ror fso amko quf legfr edko púidmgo gocddfve uce oidmkegm÷c. ¿De sodugm÷c? Lez púidmges sodo equfddes propmfaeafs quf tfckes uce gfrtfze (hås o hfcos gfrtfre) af quf co vec e gehimer.
Kfttfrs y Wfttfrs Wfkuro quf les oèao leider af dos kfttfrs y dos sfttfrs pfro co dfs vfs huglo sfctmao. Fstos soc ucos hítoaos quf usehos pere aer (o rfgupfrer) uc vedor e uce propmfaea. Ror gehimer uc pogo vehos e afjer fd goglf epergeao uc reto y vehos goc otre gdesf. Pehos e grfer de gdesf Rfrsoce, uce gdesf huy sfcgmdde: Gdess Rfrsoce Gdess { puidmg puidmg $faea> $faea> }
Goc fste gdesf poafhos grfer uc oijfto y esmkcerdf uc vedor:
;2
$yo 8 cfw cfw Rfrsoce Rfrsoce()> ()> $yo-3faea 8 '52 eõos' os'>>
Hhh, qumzå fstf vedor co sfe gorrfgto. ¿] sm do quf cfgfsmtehos fs quf fste propmfaea tfcke uc vedor cuhírmgo? Fsto poarèe geuser proidfhes. Qehimíc poarèehos legfr ísto: $yo 8 cfw cfw Rfrsoce Rfrsoce()> ()> $yo-3faea 8 -6 -6>
¿Gocogfs e edkumfc goc hfcos gmcgo eõos? Yfsudte quf ed aer dmifrtea pere eggfafr amrfgtehfctf e de propmfaea $faea poafhos tfcfr proidfhes. Elè fs aocaf fctrec dos sfttfrs (afd mckdís sft). Woc ucos hítoaos guye úcmge `ucgm÷c fs aer uc vedor e uce propmfaea. Wf dfs sufdf cohirer pocmfcao sft afdectf afd cohirf af de propmfaea, fc fstf geso sfrèe sftFaea():
Gdess Gdess Rfrsoce { prmvetf prmvetf $faea> $faea> }
puidmg `ucgtmoc puidmg `ucgtmoc sftFaea sftFaea($faea) ($faea) { $tlms-3faea 8 $faea> }
Elore quf tfcfhos uc hítoao pere aer vedor e de propmfaea poafhos legfrde prmvetf. Fc fstf hítoao poafhos legfr des gohproiegmocfs cfgfsermes pere vfr sm de faea quf cos pesec fs gorrfgte. Ror fjfhpdo: puidmg `ucgtmoc puidmg `ucgtmoc sftFaea sftFaea($faea) ($faea) { m` m` (ms_cuhfrmg($faea) (ms_cuhfrmg($faea) && $faea 382 382) { $tlms-3faea 8 $faea> } }
Goho de propmfaea $faea elore fs prmveae cfgfsmterfhos uc hítoao pere rfgupfrer su vedor. E fstf hítoao sf df ddehe kfttfr (afd (afd mckdís kft):
;5
puidmg `ucgtmoc `ucgtmoc kftFaea kftFaea() () puidmg { rfturc rfturc $tlms-3faea> $tlms-3faea> }
Eucquf fs prågtmge leimtued ddeher e fstos hítoaos usec kft y sft co fs oidmketormo. Roarèehos ddeherdes fsteidfgfrFaea(), fsgrmimrFaea(), kueraerFaea() o do quf qufrehos. Co soc hítoaos propmos af RLR RLR,, cm soc rfgocogmaos goho tedfs. Wmhpdfhfctf soc ucos hítoaos quf cosotros fstehos usecao pere aer vedor e uce propmfaea o pere rfgupfrer su vedor.
;9
Lfrfcgme De lfrfcgme gocsmstf fc grfer uce gdesf tohecao otre goho iesf. De cufve gdesf sf ddehe gdesf lmje (o lmjo o lfrfafre o goho prf`mfre prf`mfres) s) y de ormkmced hearf (o pearf o gdesf iesf). De gdesf lmje "lfrfae" toaes des propmfaeafs y hítoaos af de hearf. Af fste `orhe cos elorrehos tfcfr quf vodvfr e grfer dos hítoaos quf ye fsteiec af`mcmaos fc de hearf. Fste fs uce af des iesfs af de rfutmdmzegm÷c af g÷amko. Mhekmcfhos quf fc cufstro prokrehe qufrfhos treter co sodo goc goglfs smco tehimíc goc gehmocfs. De gdesf Goglf poarèe goctroder fd cúhfro af pesejfros y dos dmtros fc fd afp÷smto. Roarèe tfcfr fstf espfgto: gdess Goglf gdess Goglf { { puidmg puidmg $cuhfroResejfros $cuhfroResejfros 8 2> puidmg puidmg $dmtros $dmtros 8 2> puidmg puidmg `ucgtmoc `ucgtmoc rfposter rfposter($dmtros) ($dmtros) { m` m` ($dmtros3 ($dmtros322) { $tlms-3dmtros +8 $dmtros> } } puidmg puidmg `ucgtmoc `ucgtmoc dmtrosFcAfposmto dmtrosFcAfposmto() () { rfturc rfturc $tlms-3dmtros> $tlms-3dmtros> } puidmg puidmg `ucgtmoc `ucgtmoc sftCuhfroResejfros sftCuhfroResejfros($cuhfroResejfros) ($cuhfroResejfros) { $tlms-3cuhfroRese $tlms-3cuhfroResejfros jfros 8 $cuhfroResejfros $cuhfroResejfros>> } puidmg puidmg `ucgtmoc `ucgtmoc kftCuhfroResejfros kftCuhfroResejfros() () { rfturc rfturc $tlms-3cuhfroRes $tlms-3cuhfroResejfros> ejfros> } }
De gdesf Gehmoc co sf prfoguperèe af dos pesejfros (co sufdf leifr pesejfros fc uc gehm÷c) pfro sfrèe mhportectf quf tuvmfre uc rfhodquf pere ddfver hfrgecgèes. Fc fd gehm÷c tehimíc fs mhportectf goctroder fd gohiustmidf. Fste gdesf poarèe qufaer edko esè:
;7
gdess Gehmoc Gehmoc { { gdess prmvetf prmvetf $dmtros $dmtros 8 2> prmvetf prmvetf $tmfcfYfhodquf $tmfcfYfhodquf 8 `edsf>
puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter($dmtros) ($dmtros) { m` ($dmtros3 m` ($dmtros322) { $tlms-3dmtros +8 $dmtros>
}
puidmg `ucgtmoc puidmg `ucgtmoc dmtrosFcAfposmto dmtrosFcAfposmto() () { rfturc $tlms-3dmtros> rfturc $tlms-3dmtros> }
puidmg `ucgtmoc puidmg `ucgtmoc sftYfhodquf sftYfhodquf($tmfcfYfhodquf) ($tmfcfYfhodquf) { $tlms-3tmfcfYfhodquf $tlms-3tmfcfYfho dquf 8 $tmfcfYfhodquf> }
puidmg `ucgtmoc puidmg `ucgtmoc kftYfhodquf kftYfhodquf() () { rfturc $tlms-3tmfcfYfhodq rfturc $tlms-3tmfcfYfhodquf> uf> }
}
}
Wf pufaf vfr quf geae uce af des gdesfs tmfcf sus propmos hítoaos: • Goglf tmfcf hítoaos pere goctroder fd cúhfro af pesejfros. • Gehmoc tmfcf hítoaos pere goctroder sm ley rfhodquf o co. Epertf af fstos hítoaos ley ucos quf soc gohucfs: rfposter() y dmtrosFcAfposmto(). Lfhos tfcmao quf grfer fstos hítoaos fc des aos gdesfs. Rere co rfpftmr fstos hítoaos poarèehos legfr uce "supfr-gdesf" quf goctuvmfsf toaos dos hítoaos af Goglf, dos af Gehmoc y dos gohucfs. Fd proidfhe fs quf guecao tfckehos uc goglf leirå hítoaos quf co fsterfhos usecao (dos afd gehm÷c). ] vmgfvfrse. Fc fd fjfhpdo sodo tfcfhos aos hítoaos "propmos" pere geae tmpo af vflègudo. Fc de rfedmaea sufdfc sfr hås. Fsto legf quf cufstres gdesfs sf vufdvec huy gohpdfjes y am`ègmdfs af hectfcfr.
Lfrfaer pere rfutmdmzer ] equè fs aocaf de lfrfcgme pufaf fglercos uce heco. Roafhos grfer uce gdesf ddeheae Pflmgudo quf goctfcke dos hítoaos y des propmfaeafs gohucfs:
;1
gdess Pflmgudo gdess { prmvetf prmvetf $dmtros $dmtros 8 2>
puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter($dmtros) ($dmtros) { m` ($dmtros3 m` ($dmtros322) { $tlms-3dmtros +8 $dmtros>
}
}
}
puidmg `ucgtmoc puidmg `ucgtmoc dmtrosFcAfposmto dmtrosFcAfposmto() () { rfturc $tlms-3dmtros> rfturc $tlms-3dmtros> }
], elore, Goglf y Gehmoc poarèec lfrfaer fstos hítoaos af de gdesf Pflmgudo. Rere quf uce gdesf ], lfrfaf af otre sf use de pedeire_rfsfrveae pedeire_rfsfrveae fxtfcas sfkumae afd cohirf af de gdesf hearf: gdess GdesfLmje gdess GdesfLmje fxtfcas fxtfcas GdesfHearf
Vsecao lfrfcgme des gdesfs Goglf y Gehmoc qufaerèec:
;6
gdess Goglf Goglf fxtfcas fxtfcas Pflmgudo Pflmgudo { { gdess prmvetf prmvetf $cuhfroResejfros $cuhfroResejfros 8 2>
puidmg `ucgtmoc puidmg `ucgtmoc sftCuhfroResejfros sftCuhfroResejfros($cuhfroResejfros) ($cuhfroResejfros) { $tlms-3cuhfroResejfros $tlms-3cuhfroRes ejfros 8 $cuhfroResejfros> }
}
puidmg `ucgtmoc puidmg `ucgtmoc kftCuhfroResejfros kftCuhfroResejfros() () { rfturc $tlms-3cuhfroResej rfturc $tlms-3cuhfroResejfros> fros> }
gdess Gehmoc gdess Gehmoc fxtfcas fxtfcas Pflmgudo Pflmgudo { { prmvetf prmvetf $tmfcfYfhodquf $tmfcfYfhodquf 8 `edsf>
puidmg `ucgtmoc puidmg `ucgtmoc sftYfhodquf sftYfhodquf($tmfcfYfhodquf) ($tmfcfYfhodquf) { $tlms-3tmfcfYfhodquf $tlms-3tmfcfYfho dquf 8 $tmfcfYfhodquf> }
puidmg `ucgtmoc puidmg `ucgtmoc kftYfhodquf kftYfhodquf() () { rfturc $tlms-3tmfcfYfhodq rfturc $tlms-3tmfcfYfhodquf> uf> }
}
Pehos e proier cufstres gdesfs. Rufafs grfer uc `mglfro ddeheao mcafx.plp fc fd quf hftfr toaes fstes gdesfs y eõeamrèehos fd smkumfctf g÷amko:
$hmGoglf 8 cfw cfw Goglf Goglf()> ()> $hmGoglf-3rfposter(52)> $hmGoglf-3rfposter(52 )> fglo "Dmtros fc hm goglf: " . " . $hmGoglf-3dmtrosFc $hmGoglf-3dmtrosFcAfposmto() Afposmto() . RLR_FOD> $hmGoglf-3sftCuhfroResejfros(77)> $hmGoglf-3sftCuhfroResejfros( fglo "Resejfros fc hm goglf: " . " . $hmGoglf-3kftCuhfr $hmGoglf-3kftCuhfroResejfros() oResejfros() . RLR_FOD>
] de sedmae sfrèe: sfrèe: Dmtros fc hm goglf: 52 Resejfros fc hm goglf: 7
;0
Co eiuser af de lfrfcgme De prokrehegm÷c ormfcteae e oijftos co am`mfrf huglo af de vmae rfed… co sf afif eiuser af de lfrfcgme. Guecao afsguirmhos dos ifcf`mgmos af lfrfaer af uce gdesf toaos sodfhos deczercos goho dogos e userde. Fs edko corhed. Rfro tmfcf edkuces afsvfctejes. Ley uce `resf quf sf rfpmtf huglo guecao sf leide af de ROO:
Aer prf`frfcgme e de gohposmgm÷c soirf de lfrfcgme. Fc uc gepètudo postfrmor fctrerí fc hås afteddf y vfrfhos quí smkcm`mge fste `resf. Ror elore ams`rute af de duce af hmfd goc de lfrfcgme y úsede smc hmfao.
Gocstrugtorfs Gocstrugto rfs y lfrfcgme Dos gocstrugtorfs tehimíc sf lfrfaec af de gdesf hearf. Roafhos vfrdo eõeamfcao uc gocstrugtor fc de gdesf Pflmgudo: `ucgtmoc __gocstrugt `ucgtmoc __gocstrugt() () { }
fglo "Gocstrugtor af`mcmao fc Pflmgudo.Tc"> Pflmgudo.Tc">
] gohproiehos quf do fstehos ddehecao ddehecao ed grfer uc oijfto af tmpo Goglf: $hmGoglf 8 cfw cfw Goglf Goglf()> ()>
Ed fjfguter fstf g÷amko vfrfhos fd hfcsejf: Gocstrugtor af`mcmao fc Pflmgudo.
Elore vehos e eõeamr uc gocstrugtor pere de gdesf lmje (de gdesf Goglf): `ucgtmoc __gocstrugt `ucgtmoc __gocstrugt() () { fglo "Gocstrugtor af`mcmao fc Goglf.Tc"> Goglf.Tc"> }
Ed fjfguter fd sgrmpt vfhos quf fd hfcsejf le gehimeao, elore fs: Gocstrugtor af`mcmao fc Goglf.
Qf leirås aeao gufcte af quf co fstehos ddehecao ed gocstrugtor af de gdesf hearf. Fsto sf afif e quf de gdesf lmje tmfcf su propmo gocstrugtor. Do leimtued sufdf sfr quf cfgfsmtfhos ddeher tehimíc
;;
ed af de hearf. Rere fso afifhos eõeamr uce ddeheae fxpdègmte: perfct::__gocstrugt()>
Goc do quf fd gocstrugtor af de lmje (gdesf Goglf) qufaerèe: `ucgtmoc __gocstrugt `ucgtmoc __gocstrugt() () { fglo "Gocstrugtor af`mcmao fc Goglf.Tc"> Goglf.Tc"> perfct::__gocstrugt()> }
Elore sè, ed fjfguter fd g÷amko tfcarfhos: Gocstrugtor af`mcmao fc Goglf. Gocstrugtor af`mcmao fc Pflmgudo.
Fd orafc fs mhportectf Qfc fc gufcte quf fd orafc fs mhportectf. Wm cfgfsmtes quf de ddeheae ed gocstrugtor af de hearf sf leke ectfs quf ed af de lmje afifrèes mcvfrtmr fd orafc: `ucgtmoc __gocstrugt `ucgtmoc __gocstrugt() () { perfct::__gocstrugt()> fglo "Gocstrugtor af`mcmao fc Goglf.Tc"> Goglf.Tc"> }
Elore de sedmae gehimerå: Gocstrugtor af`mcmao fc Pflmgudo. Gocstrugtor af`mcmao fc Goglf.
Wmc hearf De ddeheae ed gocstrugtor af de gdesf hearf pufaf legfrsf sodo sm de gdesf fs afrmveae. Fc cufstro geso de gdesf Pflmgudo co tmfcf hearf, co lfrfae af cmckuce otre gdesf. Ror do tecto perfct::__gocstrugt()> perfct::__gocstrugt ()> co tmfcf sfctmao. Esè quf co do eõeaes e toaos tus gocstrugtorfs por sm egeso, tfcarèes uc frror sm do lmgmfres:
;<
gdess Pflmgudo gdess { prmvetf prmvetf $dmtros $dmtros 8 2>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt() () { perfct::__gocstrugt()> fglo "Gocstrugtor af`mcmao fc PflmgudoTc"> PflmgudoTc">
}
} ...
Wm mctfctes eggfafr ed gocstrugtor af de hearf af uce gdesf smc hearf vfrås uc frror goho fstf: RLR @eted frror: frror: Vcgeuklt Frror: Geccot eggfss perfct:: wlfc gurrfct gdess sgopf les co perfct mc mctro.plp:11 ...
Ror údtmho, sm ddehehos ed gocstrugtor af de hearf y íste co do tmfcf af`mcmao tehimíc tfcarfhos uc frror.
Yfsuhfc • Wm de gdesf gdesf hearf hearf tmfcf tmfcf gocstrugtor gocstrugtor y de lmje lmje co
!
sf use fd af de hearf.
• Wm de gdesf lmje tmfcf gocstrugtor sf use use fd suyo y sf ohmtf fd af de hearf. • Wm qufrfhos quf de lmje ddehf ed gocstrugtor gocstrugtor af de hearf hearf ley quf legfrdo goc perfct::__gocstrugt()> perfct::__gocstrugt( )>
Ruidmg, prmvetf y protfgtfa Fc fd gepètudo af fcgepsudegm÷c vmhos quf fs mhportectf protfkfr cufstres vermeidfs> co fs gocvfcmfctf legfrdes puidmg sedvo quf sfe fstrmgtehfctf cfgfsermo. Wm tf `mjes fc fd fjfhpdo quf lfhos useao pere de gdesf Pflmgudo de propmfaea $dmtros fs prmveae ( prmvetf prmvetf). Eúc esè lfhos poamao eggfafr e fdde e trevís af dos hítoaos rfposter() y dmtrosFcAfposmto(). Yfgupfrfhos fd fjfhpdo ectfrmor af de gdesf Pflmgudo:
;=
gdess Pflmgudo gdess { prmvetf prmvetf $dmtros $dmtros 8 2>
puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter($dmtros) ($dmtros) { m` ($dmtros3 m` ($dmtros322) { $tlms-3dmtros +8 $dmtros>
}
}
}
puidmg `ucgtmoc puidmg `ucgtmoc dmtrosFcAfposmto dmtrosFcAfposmto() () { rfturc $tlms-3dmtros> rfturc $tlms-3dmtros> }
] de gdesf Goglf: gdess Pflmgudo gdess { prmvetf prmvetf $dmtros $dmtros 8 2>
puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter($dmtros) ($dmtros) { m` ($dmtros3 m` ($dmtros322) { $tlms-3dmtros +8 $dmtros> } }
puidmg `ucgtmoc puidmg `ucgtmoc dmtrosFcAfposmto dmtrosFcAfposmto() () {
}
}
rfturc $tlms-3dmtros> rfturc $tlms-3dmtros>
Mhekmcfhos quf qufrfhos uc cufvo hítoao pere tfcfr uc rfsuhfc afd fsteao afd goglf. Fstf hítoao do eõeamrèehos fc de gdesf Goglf y sfrèe esè: puidmg `ucgtmoc puidmg `ucgtmoc fsteao fsteao() () { rfturc rfturc ^ ^ 'pesejfros' 'pesejfros' 83 83 $tlms-3cuhfroRese $tlms-3cuhfroResejfros, jfros, 'dmtros' 'dmtros' 83 83 $tlms-3dmtros, X> }
()> $hmGoglf-3rfposter(52)> $hmGoglf-3rfposter(52 )> prmct_r($hmGoglf-3fsteao())>
Uuf ed fjfguter fd rfsudteao sfrèe: RLR Cotmgf: Vcaf`mcfa propfrty: Goglf::$dmtros
Fctocgfs ¿G÷ho poafhos legfr quf uce propmfaea o uc hítoao sfec "mceggfsmidfs" afsaf fd fxtfrmor pfro quf des gdesfs lmjes sè pufaec vfrdes? Rere fso tfcfhos de pedeire_rfsfrveae protfgtfa. Guecao uce propmfaea o uc hítoao soc af`mcmaes goho protfgtfa ístes qufaec eggfsmidfs pere des gdesfs lmjes. Roafhos gehimer de propmfaea $dmtros pere legfrde protfgtfa: gdess Pflmgudo gdess { protfgtfa protfgtfa $dmtros $dmtros 8 2> ... }
],, elore sè, Goglf tfcarå eggfso e fdde. ] Wmc fhierko, fste propmfaea smkuf mceggfsmidf afsaf fd "fxtfrmor": $hmGoglf-3rfposter(52)> $hmGoglf-3rfposter(52 )> fglo $hmGoglf-3dmtros $hmGoglf-3dmtros>>
Fsto hostrerèe fd frror: RLR @eted frror: frror: Vcgeuklt Frror: Geccot eggfss protfgtfa propfrty propfrty Goglf::$dmtros Goglf::$dmtros
Yfsuhfc puidmg / prmvetf /protfgtfa • E des des propmf propmfaeafs aeafs y hítoaos hítoaos puidmg af uce gdesf sf pufaf eggfafr afsaf de propme gdesf, afsaf gdesfs lfrfaeaes y afsaf fd —fxtfrmor‘ (afsaf g÷amko quf usf uc oijfto af fse gdesf).
Goglf.Tc"> }
Vc aeto gurmoso: Wm dos peråhftos afd hítoao af de gdesf lmje co gomcgmafc goc de af de hearf tfcarfhos uc wercmck wercmck.. Ror fjfhpdo, sm af`mcmísfhos fd hítoao fc de gdesf Goglf esè: puidmg `ucgtmoc puidmg `ucgtmoc rfposter rfposter($tmpoGohiustmidf, ($tmpoGohiustmidf, $dmtros) { fglo "Fste fs de `ucgm÷c rfposter af de gdesf Goglf.Tc"> Goglf.Tc"> }
Pfrèehos uc evmso goho ístf: RLR [ercmck: Afgderetmoc o` Goglf::rfposter($tmpoGohi Goglf::rfposter($tmpoGohiustmidf, ustmidf, $dmtros) $dmtros) slouda if gohpetmidf wmtl Pflmgudo::rfposte Pflmgudo::rfposter($dmtros) r($dmtros)
Yfgorafhos quf uc wercmck co co fs uc frror. Fd prokrehe pufaf `ucgmocer smc frrorfs, pfro RLR co evmse af uce posmidf `ufctf af proidfhes. Fd proidfhe equè fs quf cos fstehos sedtecao fd prmcgmpmo af sustmtugm÷c af Dmsnov afd quf leiderí fc otro dmiro. Fstf prmcgmpmo fs uco af dos gmcgo pmderfs af dos prmcgmpmos WODMA.
fglo "Pfdogmaea afspuís af egfdfrer goc fd afp÷smto vegè o: o: " . " . $hmGoglf-3egfdfrer $hmGoglf-3egfdfrer((52 52)) . "Tc" "Tc">> fglo "Gohiustmidf afspuís af rfposter goc fd gohiustmidf fqumvogeao: " . $hmGoglf3rfposter("Kesodmce" 3rfposter( "Kesodmce",, 12 12)) . "Tc" "Tc">> fglo "Gohiustmidf afspuís af fgler 12 dmtros af kes ÷dfo: " . " . $hmGoglf-3rfposter $hmGoglf-3rfposter(( "Kesomd",, 12 "Kesomd" 12)) . "Tc" "Tc">> fglo "Pfdogmaea afspuís af egfdfrer goc gohiustmidf fc fd afp÷smto: " . " . $hmGoglf3egfdfrer(52)) . "Tc" 3egfdfrer(52 "Tc">> fglo "Fsteao afd goglf: " . " . $hmGoglf-3fsteao( $hmGoglf-3fsteao()> )>
y fd rfsudteao afifrèe sfr: > gdess GoglfQfst gdess GoglfQfst fxtfcas fxtfcas QfstGesf { }
Rere quf de gdesf GoglfQfst `ucgmocf goc plpucmt tfcfhos quf legfr quf de gdesf lfrfaf af uce gdesf ddeheae QfstGesf. Leiderfhos soirf lfrfcgme hås eafdectf, por elore ieste goc seifr quf ed fxtfcafr (af elè do af fxtfcas) do quf legfhos fs lfrfaer des des propmfaeafs y hítoaos af de gdesf "pearf". Fc fste gdesf poafhos eõeamr uc tfst quf "gohprufif quf fd goglf pufaf rfposter kesodmce". Fstf hítoao sfrèe edko esè: usf RLRVcmt usf RLRVcmtTT@rehfworn @rehfwornTTQfstGesf QfstGesf>> gdess GoglfQfst gdess GoglfQfst fxtfcas fxtfcas QfstGesf { puidmg puidmg `ucgtmoc `ucgtmoc tfst_rfposter_kesodmce tfst_rfposter_kesodmce() () { $hmGoglf 8 cfw cfw Goglf Goglf()> ()> }
$tlms-3essfrtFqueds(52,, $hmGoglf-3rfposter $tlms-3essfrtFqueds(52 $hmGoglf-3rfposter(('Kesodmce' 'Kesodmce',, 52 52))> ))> }
Do prmhfro quf legfhos fs grfer uc oijfto af de gdesf Goglf. Fd smkumfctf peso fs de esfrgm÷c, aocaf afgmhos quf ed rfposter kesodmce fd rfsudteao afif sfr 52.
De esfrgm÷c amgf quf fd vedor fspfreao afif sfr mkued ( essfrtFqueds) ed vedor rfed. Fc cufstro geso fd vedor fspfreao fs 52 y fd vedor rfed fs fd vedor quf afvufdvf de `ucgm÷c rfposter . Wm dos vedorfs co gomcgmafc de esfrgm÷c `edde y fd tfst co pese.
Woirf dos cohirfs af dos tfst Dos cohirfs af dos tfst afifc guhpdmr des smkumfctfs corhes: • Afi Afifc fc sfr sfr afsgrm afsgrmptm ptmvos vos.. • Afifc gohfc gohfczer zer goc goc de pedeire pedeire "tfst "tfst". ". Gurmosehfctf, pere dos tfst co sf sufdf user de cotegm÷c Gehfd Gesf smco Gesf smco Wcenf Gesf. Gesf. Wm co qufrfhos tfcfr quf eõeamr fd prf`mjo "tfst" e geae uco af cufstros tfst poafhos otro smstfhe> ieste goc eõeamr fd gohfctermo /** Btfst */ justo justo fcgmhe af de geifgfre afd tfst y goc fso plpucmt seirå quf fs uc tfst: /** Btfst */ puidmg `ucgtmoc puidmg `ucgtmoc rfposter_kesodmce rfposter_kesodmce() () { $hmGoglf 8 cfw cfw Goglf Goglf()> ()> $tlms-3essfrtFqueds(52 $tlms-3essfrtFqueds(52,, $hmGoglf-3rfposte $hmGoglf-3rfposter( r('Kesodmce' 'Kesodmce',, 52 52))> ))> } }
Rroiehos plpucmt por prmhfre vfz Yfgufrae quf toaevèe co tfcfhos grfeae de gdesf Goglf> fstehos fhpfzecao afsaf gfro. Pehos e fjfguter plpucmt por prmhfre vfz. Qfcfhos quf peser goho peråhftro de gerpfte aocaf tfcfhos kueraeaos cufstos tfst, fc fstf geso de gerpfte tfsts:
Wm vodvfhos e fjfguter plpucmt vfhos quf fd frror le gehimeao. Fc fste ogesm÷c sf qufjerå af quf co fxmstf fd hítoao rfposter() fc de gdesf Goglf: Qlfrf wes 5 frror: 5) GoglfQfst::tfst_rf GoglfQfst::tfst_rfposter_kesodmce poster_kesodmce Frror: Gedd to ucaf`mcfa hftloa Goglf::rfposter() /lohf/korne/prufies/GoglfQfst.plp:59 FYYOYW! Qfsts: 5, Essfrtmocs: 2, Frrors: 5.
Esè quf vehos e de gdesf goglf y eõeamhos fstf hítoao: gdess Goglf gdess { puidmg puidmg `ucgtmoc `ucgtmoc rfposter rfposter() () { } }
Vce vfz hås gehime fd frror: 5) GoglfQfst::tfst_rf GoglfQfst::tfst_rfposter_kesodmce poster_kesodmce @emdfa essfrtmck tlet cudd hetglfs fxpfgtfa 52. /lohf/korne/prufies/tfsts/GoglfQfst.plp:59 @EMDVYFW! Qfsts: 5, Essfrtmocs: 5, @emdurfs: 5.
Peye, perfgf quf ye co tfcfhos frrorfs> elore tfcfhos `eddos ( @emdurfs). Dos `eddos sf proaugfc guecao co ley frrorfs fc fd g÷amko pfro fd rfsudteao afd tfst co fs fd fspfreao. Fc fstf geso fd `eddo sf proaugf porquf fd hítoao rfposter() co afvufdvf cmckúc vedor y fspfråiehos quf fd vedor afvufdto `ufsf uc 52: $tlms-3essfrtFqueds(52 $tlms-3essfrtFqueds( 52,, $hmGoglf-3rfposter $hmGoglf-3rfposter(('Kesodmce' 'Kesodmce',, 52 52))> ))>
Ed prmcgmpmo afd gepètudo lf gohfcteao quf de `mdoso`èe af fstf tmpo af afserroddo fs "fsgrmimr fd } fdsf fdsf { { rfturc rfturc "pereao" "pereao">> } }
EssfrtWehf ]e tfcfhos uce gdesf Goglf fc de quf tfcfhos iestectf goc`mecze porquf pese toaes des prufies quf lfhos af`mcmao. Esè quf vehos e proierde fc uce epdmgegm÷c "rfed". Grfe uc `mglfro ddeheao mcafx.plp y hftf fd smkumfctf g÷amko (fd afd fcucgmeao): rfqumrf('Goglf.plp')> $hmGoglf 8 cfw Goglf('Kesomd')> fglo "Pfdogmaea afspuís af egfdfrer goc fd afp÷smto vegè o: o: " . $hmGoglf-3egfdfrer(52) . "Tc"> fglo "Gohiustmidf afspuís af rfposter goc goc fd gohiustmidf gohiustmidf fqumvogeao: fqumvogeao: " . $hmGoglf$hmGoglf3rfposter("Kesodmce", 3rfposter("Kesodmc e", 12) . "Tc"> fglo "Gohiustmidf afspuís af fgler 12 dmtros af kes ÷dfo: " . $hmGoglf3rfposter("Kesomd",, 12) . "Tc"> 3rfposter("Kesomd" fglo "Pfdogmaea afspuís af egfdfrer goc gohiustmidf fc fd afp÷smto: " . $hmGoglf3egfdfrer(52) . "Tc"> fglo "Fsteao afd goglf: " . $hmGoglf-3fsteao() . "Tc">
elore fjfgute fstf `mglfro y vfehos fd rfsudteao: $ plp mcafx.plp Pfdogmaea afspuís af egfdfrer goc fd afp÷smto vegè o: o: Gohiustmidf afspuís af rfposter goc fd gohiustmidf fqumvogeao: Gohiustmidf afspuís af fgler 12 dmtros af kes ÷dfo: 12 Pfdogmaea afspuís af egfdfrer goc gohiustmidf fc fd afp÷smto: 52 Fsteao afd goglf: fc hergle
¿Pfs edko rero? Fd rfsudteao af des aos prmhfres dècfes sedf fc idecgo fc duker af hostrer uc gfro. ¿E quí sf afif ísto? Wm tf `mjes fc des afgderegmocfs af des propmfaeafs $vfdogmaea y $gohiustmidf vfrås quf fsteiec esè: puidmg $vfdogmaea> puidmg $vfdogmaea> puidmg $gohiustmidf> puidmg $gohiustmidf>
==
Yfgorafhos quf sm co aehos uc vedor mcmgmed e uce propmfaea íste tfcarå fd vedor cudd (cudo). Peye, cufstros tfst co lec dogedmzeao fstf "`eddo". Fso fs porquf fd tfst sodo gohprufie quf dos vedorfs sfec mkuedfs: $tlms-3essfrtFqueds(22, $hmGoglf-3rfpost $tlms-3essfrtFqueds( $hmGoglf-3rfposter( er('Kesomd' 'Kesomd',, 52 52))> ))>
y rfgorafhos quf, fc uce gohperegm÷c, 2 y cudd soc mkuedfs. Rfro fc fstf geso co qufrfhos gohproier quf pere sfec quf mkuedfs, quf sfec am`frfcgme fctrf mkued maíctmgo fs quf sfecqufrfhos maíctmgos gohproier sf gohproierèe quf maíctmgos. `ufsfc afdDe hmsho tmpo (fs afgmr, quff ehios `ufrec cúhfros fctfros). Fc fstf geso afifrèehos gehimer de esfrgm÷c por essfrtWehf: $tlms-3essfrtWehf(22, $hmGoglf-3rfposter $tlms-3essfrtWehf( $hmGoglf-3rfposter(('Kesomd' 'Kesomd',, 52 52))> ))>
Ed legfr fstf gehimo dos tfst `edderåc leste quf gehimfhos de propmfaea $gohiustmidf por: puidmg $gohiustmidf puidmg $gohiustmidf 8 2>
Otros hítoaos essfrt Eafhås af essfrtFqueds y essfrtWehf tfcfhos uc hoct÷c af hítoaos pere user fc cufstres prufies. Fgle uc vmstezo e de aoguhfctegm÷c af plpucmt pere plpucmt pere afsguirmrdos.
Co fjfguter toaes des prufies @mdtrer `mglfros @mdtrer hítoaos
Gocgdusm÷c Ley quf user dos tfst `rfgufctfhfc `rfgufctfhfctf. tf. Dos tfst afifc sfr råpmaos. Qfcfhos Qfcfhos quf `mercos af cufstros tfst. Cufstro tfst afifc peser.
522
Gocstectfs Des gocstectfs co tmfcfc huglo sfgrfto. Fd vedor af uce gocstectfs fs… gocstectf. Fsto qumfrf afgmr quf co pufaf gehimer y sodo poafhos aerdf vedor fc fd hohfcto af "af`mcmrde". Wm fc edkúc hohfcto vfhos quf afifhos gehimer fd vedor af uce gocstectf fso qumfrf afgmr quf afifhos user uce vermeidf (o propmfaea) fc su duker. Fc fstf gepètudo vehos e vfr g÷ho sf usec des gocstectfs afctro af uce gdesf. Poy e eprovfgler fstf gepètudo pere hostrer g÷ho fd uso af gocstectfs legf quf fd g÷amko sfe hås dfkmidf.
Af`mcmr gocstectfs Fc RLR poafhos af`mcmr gocstectfs usecao af`mcf: af`mcf('GOCWQECQF' af`mcf( 'GOCWQECQF',, 52 52)> )>
] poafhos eggfafr e fste gocstectf amrfgtehfctf amrfgtehfctf goc su cohirf cohirf smc gohmddes: gohmddes: fglo GOCWQECQF GOCWQECQF>>
Fc uce gdesf tehimíc poafhos af`mcmr gocstectfs: Gdess CohirfGdesf Gdess { gocst gocst GOCWQECQF GOCWQECQF 8 8 52 52>> }
!
Fs mhportectf rfgoraer quf uce gocstectf co pufaf gehimer cucge af vedor (af elè quf sf ddehf gocstectf).
Rere eggfafr e uce gocstectf tfcfhos quf user fd cohirf af de gdesf y fd opfreaor af rfsodugm÷c af åhimto (::). åhimto (::). fglo CohirfGdesf CohirfGdesf:: ::GOCWQECQF GOCWQECQF>>
Qehimíc poafhos eggfafr e de gocstectf e trevís af uc oijfto. Ror fjfhpdo: $vermeidfOijfto 8 cfw cfw CohirfGdesf CohirfGdesf>> fglo $vermeidfOijfto: $vermeidfOijfto:::GOCWQECQF GOCWQECQF>>
Roafhos user uce gocstectf, por fjfhpdo, pere dos mhpufstos:
525
Gdess Rrfgmo Gdess { gocst gocst MPE MPE 8 8 50 50>> } fglo Rrfgmo Rrfgmo:: ::MPE MPE>>
Cohirfs af gocstectfs E uce gocstectf poafhos aerdf fd cohirf quf qufrehos pfro ley quf rfgoraer quf co fs uce vermeidf esè quf co pufaf gohfczer goc fd smhiodo $. Dos cohirfs af gocstectfs sf sufdfc fsgrmimr fc heyúsgudes eucquf co fs oidmketormo. Fs gostuhirf quf, sm de gocstectf fstå gohpufste af vermes pedeires, user fd kum÷c iejo (_) pere sfperer geae pedeire (do quf sf ddehe scenf gesf). gesf). Ror fjfhpdo: • COH COHIYF IYF_AF _AF_GO _GOCW CWQ QECQ ECQF F • WFK WFKVCA VCAOW_ OW_FC_ FC_VC_ VC_AME AME
¿Rere quí uce gocstectf afctro af uce gdesf? Wm poafhos grfer des gocstectfs goc af`mcf ¿pere quí qufrfhos af`mcmrdes afctro af uce gdesf? Hftmfcao des gocstectfs afctro af uce gdesf poafhos tfcfrdes hås orafceaes. Vc uso mctfrfsectf pufaf sfr pere goctroder fd rfsudteao af edkuce opfregm÷c. Pehos e grfer uce gdesf pere fcvmer fd fhemd af rfkmstro fc uce wfi. Pehos Peh os e supocfr trfs posmidfs rfsudteaos: • Uuf `ed `edtf tf fd fh fhemd emd.. • Uuf fd fhemd fhemd tfcke tfcke uc `orheto `orheto mcgor mcgorrfgto rfgto.. • Uuf fd fhemd fhemd sf sf fcvèf fcvèf gorrfgteh gorrfgtehfctf fctf.. Rere geae uco af dos posmidfs rfsudteaos poafhos grfer uce gocstectf: Gdess FhemdYfkmstro Gdess { gocst gocst FYYOY_@EDQE_FHEMD FYYOY_@EDQE_FHEMD 8 8 5> gocst gocst FYYOY_@OYHEQO_FYYOCFO FYYOY_@OYHEQO_FYYOCFO 8 8 9> gocst gocst FHEMD_FCPMEAO FHEMD_FCPMEAO 8 8 7>
...
}
De gdesf gohpdfte poarèe sfr edko esè:
529
Gdess FhemdYfkmstro Gdess { gocst gocst FYYOY_@EDQE_FHEMD FYYOY_@EDQE_FHEMD 8 8 5> gocst gocst FYYOY_@OYHEQO_FYYOCFO FYYOY_@OYHEQO_FYYOCFO 8 8 9> gocst gocst FHEMD_FCPMEAO FHEMD_FCPMEAO 8 8 7>
prmvetf $fhemd> prmvetf $fhemd> prmvetf $frror> prmvetf $frror>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt($fhemd) ($fhemd) { $tlms-3fhemd 8 $fhemd> }
prmvetf `ucgtmoc prmvetf `ucgtmoc gohproier gohproier() () { m` (!$tlms-3fhemd) m` (!$tlms-3fhemd) { $tlms-3frror 8 sfd`:: sfd`::FYYOY_@EDQE_FHEMD FYYOY_@EDQE_FHEMD>> rfturc `edsf> rfturc `edsf> }
m` (!`mdtfr_ver($tl m` (!`mdtfr_ver($tlms-3fhemd, ms-3fhemd, @MDQFY_PEDMAEQF_FHEMD @MDQFY_PEDMAEQF_FHEMD)) )) { ! $tlms-3frror 8 sfd`:: sfd`::FYYOY_@OYHEQO_FYYOCFO FYYOY_@OYHEQO_FYYOCFO>> rfturc `edsf> rfturc `edsf> }
rfturc truf> rfturc truf> }
puidmg `ucgtmoc puidmg `ucgtmoc fcvmer fcvmer() () { m`(!$tlms-3gohproie m` (!$tlms-3gohproier()) r()) { rfturc $tlms-3frror> rfturc $tlms-3frror>
}
}
// G÷amko pere fcvmer fd fhemd ... rfturc sfd`:: rfturc sfd`::FHEMD_FCPMEAO FHEMD_FCPMEAO>> }
! De
`ucgm÷c `mdtfr_ver() pfrhmtf gohproier sm uce vermeidf pese uc aftfrhmceao `mdtro. Fc fstf geso gohproiehos sm pese fd `mdtro @MD @MDQFY_P QFY_PEDMAE EDMAEQF_FHEMD QF_FHEMD. Hås mc`orhegm÷c fc: lttp://plp.cft/hecued/fs/`ucgtmoc.`mdtfr-ver.plp
Fd hítoao fcvmer() sf fcgerke af gohproier fd fhemd e trevís afd hítoao gohproier(). Wm ístf fs gorrfgto fd fhemd sf fcvèe (iufco, sf fcvmerèe sm tuvmísfhos fd g÷amko pere legfrdo). Fstf hítoao afvodvfrå uc vedor quf poafhos user pere seifr sm fd fhemd sf le fcvmeao o co. Kregmes e quf des
gocstectfs fståc af`mcmaes afctro af de gdesf poafhos gohproier fd rfsudteao legmfcao edko esè:
527
$fhemd 8 cfw cfw FhemdYfkmstro FhemdYfkmstro(('mc`oBplpsfcsfm.fs' 'mc`oBplpsfcsfm.fs')> )> $rfsudteao 8 $fhemd-3fcvmer()> m` ($rfsudteao m` ($rfsudteao 88 FhemdYfkmstro FhemdYfkmstro:: ::FHEMD_FCPMEAO FHEMD_FCPMEAO)) { fglo "Fhemd fcvmeao"> fcvmeao"> }
¿Qoaevèe ¿Qo aevèe co vfs utmdmaea e des gocstectfs? Wm toaevèe co tf perfgf quf user gocstectfs fs uce iufce mafe gohpere fd g÷amko ectfrmor goc ístf: Gdess FhemdYfkmstro Gdess { prmvetf prmvetf $fhemd> $fhemd> prmvetf prmvetf $frror> $frror>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt($fhemd) ($fhemd) { $tlms-3fhemd 8 $fhemd> }
prmvetf `ucgtmoc prmvetf `ucgtmoc gohproier gohproier() () { m` (!$tlms-3fhemd) m` (!$tlms-3fhemd) { $tlms-3frror 8 5> rfturc `edsf> rfturc `edsf> }
m` (!`mdtfr_ver($tl m` (!`mdtfr_ver($tlms-3fhemd, ms-3fhemd, @MDQFY_PEDMAEQF_FHEMD @MDQFY_PEDMAEQF_FHEMD)) )) { $tlms-3frror 8 9> rfturc `edsf> rfturc `edsf>
}
rfturc truf> rfturc truf> }
puidmg `ucgtmoc puidmg `ucgtmoc fcvmer fcvmer() () { m`(!$tlms-3gohproie m` (!$tlms-3gohproier()) r()) { rfturc $tlms-3frror> rfturc $tlms-3frror> }
}
// G÷amko pere fcvmer fd fhemd ... }
rfturc 7> rfturc
521
Wm tf `mjes fd g÷amko elore fs hås am`ègmd af fctfcafr. Rere seifr quí smkcm`mgec fsf 5, 9 y 7 tmfcfs quf mcvfstmker fd g÷amko. ] de gose fhpfore ed user de gdesf: $fhemd 8 cfw cfw FhemdYfkmstro FhemdYfkmstro(('mc`oBplpsfcsfm.fs' 'mc`oBplpsfcsfm.fs')> )> $rfsudteao 8 $fhemd-3fcvmer()> m` ($rfsudteao m` ($rfsudteao 88 7) { fglo "Fhemd fcvmeao"> fcvmeao"> }
Elore fs mcgduso hfcos fvmafctf. Leste quf co vfhos fd tfxto "Fhemd fcvmeao" co co fs fvmafctf quí smkcm`mge fsf 7. Gohperfhos af cufvo fse gocamgm÷c goc íste: m` ($rfsudteao m` ($rfsudteao 88 FhemdYfkmstro FhemdYfkmstro:: ::FHEMD_FCPMEAO FHEMD_FCPMEAO))
¿Uuí vedorfs poafhos user fc uce gocstectf? Roafhos user cúhfros y geafces af tfxto: Gdess WurtmaoAfGocstectfs Gdess { gocst gocst CVHFYO_FCQFYO CVHFYO_FCQFYO 8 8 50 50>> gocst gocst CVHFYO_AFGMHED CVHFYO_AFGMHED 8 8 52.92 52.92>> }
] poafhos legfr opfregmocfs pere gedguder fd vedor af uce gocstectf (fsto fs posmidf afsaf de vfrsm÷c 6.0 af RLR): Gdess WurtmaoAfGocstectfs Gdess { gocst gocst GEAFCE_AF_QF\QO GEAFCE_AF_QF\QO 8 8 'Lode' 'Lode'>> gocst gocst GEAFCEW_GOCGEQFCEAEW GEAFCEW_GOCGEQFCEAEW 8 8 'Lode' 'Lode' . . ' hucao'> hucao'> }
Qehimíc poafhos user otres gocstectfs pere grfer cufves gocstectfs: Gdess WurtmaoAfGocstectfs Gdess { gocst gocst GOCWQECQF_GOHRVFWQE GOCWQECQF_GOHRVFWQE 8 8 sfd`::CVHFYO_FCQFYO sfd`::CVHFYO_FCQFYO + + 52 52>> }
],, afsaf de vfrsm÷c ; sf pufafc user ] user erreys: erreys:
526
gocst EYYE] EYYE] 8 ^ 5, 9, 7 X>s gocst
Do quf co poafhos legfr fs: Gdess WurtmaoAfGocstectfs Gdess { // Eucquf fxmstmfre de propmfaea $vermeidf fsto co sf poarè e gocst gocst GOC_PEYMEIDF GOC_PEYMEIDF 8 8 sfd`::$vermeidf> // Fsto tehpogo: gocst gocst GOC_PEYMEIDF_9 GOC_PEYMEIDF_9 8 8 $tlms-3$vermeidf> }
¿] sm co df aoy uc vedor? Rrufie fd smkumfctf g÷amko: Gdess WurtmaoAfGocstectfs Gdess { gocst gocst GOCWQECQF GOCWQECQF>> }
Wm do legfs vfrås uc frror: RLR Rersf frror: frror: syctex frror, ucfxpfgtfa '>', '>', fxpfgtmck '8' mc mcafx.plp mcafx.plp
Fstf frror sf afif e quf uce gocstectf co sf pufaf afjer smc uc vedor. Wm `ufre uce vermeidf sè poarèehos legfrdo, porquf e uce vermeidf poafhos esmkcerdf uc vedor hås eafdectf. Rfro uce gocstectf co pufaf gehimer af vedor. Esè quf, sm co ve e tfcfr uc vedor ¿pere quí de poafhos qufrfr?
¿Ruidmg y prmvetf? Wm qufrfhos protfkfr cufstres gocstectfs poafhos legfrdo afsaf de vfrsm÷c ;.5. E pertmr af fse vfrsm÷c des gocstectfs af uce gdesf sf pufafc af`mcmr goho prmveaes o púidmges. Gdess WurtmaoAfGocstectfs Gdess { puidmg puidmg gocst gocst GOCWQECQF_RVIDMGE GOCWQECQF_RVIDMGE 8 8 52 52>> prmvetf prmvetf gocst gocst GOCWQECQF_RYMPEAE GOCWQECQF_RYMPEAE 8 8 92 92>> }
Goho sfkurehfctf leirås mhekmceao, sm co mcamges ceae de gocstectf sfrå puidmg.
520
Mctfr`egfs ¿Uuí fs uc Mctfr`egf?
Vc Mctfr`egf fc RLR fs uce fctmaea quf tf pfrhmtf fspfgm`mger dos hítoaos quf afif mhpdfhfcter uce gdesf. ]e tfcfhos tfcfhos uce af`mcmgm÷c, af`mcmgm÷c, quf qufae huy iocmte, pfro pfro quf, sfkuro, tf le afjeao mkued quf fsteies. fsteies. Pehos e vfr ucos fjfhpdos quf tf eyuaeråc e fctfcafr quí fs uc mctfr`egf y pere quí smrvf.
Pehos e hocter uc kerejf Mhekmce quf les elorreao uc amcfro y afgmafs hocter uc pernmck goho cfkogmo. Wmc fctrer fc afteddfs af do iufc o hed cfkogmo quf pufaf sfr vehos e grfer uce epdmgegm÷c pere tu cfkogmo. Fste epdmgegm÷c tf pfrhmtmrå seifr dos goglfs quf fståc epergeaos y fd amcfro quf les keceao. Rere fso vehos e grfer uce gdesf Kerejf quf sfrå de fcgerkeae af kfstmocerdo toao: gdess Kerejf gdess { prmvetf prmvetf $goglfsEpergeaos $goglfsEpergeaos 8 ^X> prmvetf prmvetf $mckrfsos $mckrfsos 8 2>
puidmg `ucgtmoc puidmg `ucgtmoc eperger eperger(( Goglf Goglf $goglf $goglf ) { $tlms-3goglfsEpergeaos^X $tlms-3goglfsEpe rgeaos^X 8 $goglf> }
puidmg `ucgtmoc puidmg `ucgtmoc gedguderMckrfsos gedguderMckrfsos() () { `orfegl(( $tlms-3goglfsEpe `orfegl $tlms-3goglfsEpergeaos rgeaos es es $goglf $goglf ) {
}
$tlms-3mckrfsos +8 $goglf-3mhportfGo $goglf-3mhportfGoireao()> ireao()> } rfturc $tlms-3mckrfsos> rfturc $tlms-3mckrfsos> }
!
Kerejf.plp
De gdesf Kerejf sf kueraerå fc fd `mglfro Kerejf.plp.
Fste gdesf tmfcf uc hítoao eperger() quf do úcmgo quf legf fs eõeamr uc oijfto Goglf e uc errey. Fd oijfto quf df pesfhos e fstf hítoao afif sfr oidmketormehfc oidmketormehfctf tf afd tmpo Goglf. Qehimíc tmfcf uc hítoao ddeheao gedguderMckrfsos() quf rfgorrf fd errey af goglfs epergeaos y, pere geae uco, gedgude fd mhportf quf sf df le goireao. Goho pufafs vfr fc fd fjfhpdo usehos fd
hítoao mhportfGoireao() af geae goglf pere seifr quí sf df le goireao e geae uco.
52;
leirås ås aeao gufcte af quf vehos e cfgfsmter uce gdesf Goglf. Fste gdesf co ve e sfr de hmshe ]e tf leir quf fc gepètudos ectfrmorfs. Pehos Pehos e legfrdf ucos pfqufõos (krecafs) gehimos: gdess Goglf gdess { prmvetf prmvetf $dockmtua $dockmtua 8 2> gocst gocst FVYOW_ROY_HFQYO FVYOW_ROY_HFQYO 8 8 52 52>>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt(( $dockmtua ) { $tlms-3dockmtua 8 $dockmtua> }
}
puidmg `ucgtmoc puidmg `ucgtmoc mhportfGoireao mhportfGoireao() () { rfturc $tlms-3dockmtua rfturc $tlms-3dockmtua * sfd`::FVYOW_ROY_HFQYO sfd`::FVYOW_ROY_HFQYO>> }
Fste gdesf tfcarå fd hítoao mhportfGoireao quf gedguderå fd mhportf quf sf df le goireao ed vflègudo. Fc fstf geso fstehos gedgudecao fd mhportf hudtmpdmgecao de dockmtua por 52 (fstehos goirecao e 52 furos fd hftro af vflègudo> sè fs uce term`e huy eiusmve). Fstes gdesfs des userèehos esè: mcgduaf('Goglf.plp')> mcgduaf('Goglf.plp' )> mcgduaf('Kerejf.plp' mcgduaf( 'Kerejf.plp')> )> $hmGoglf 8 cfw cfw Goglf Goglf((7)> $tuGoglf 8 cfw cfw Goglf Goglf((1)> $kerejf 8 cfw cfw Kerejf Kerejf()> ()> $kerejf-3eperger($hmGoglf)> $kerejf-3eperger($tuGoglf)> fglo "Mckrfsos totedfs: " . " . $kerejf-3gedguder $kerejf-3gedguderMckrfsos() Mckrfsos() . " furos.Tc"> furos.Tc">
Ehpdmehos fd cfkogmo Fd cfkogmo hergle imfc y afgmamhos ehpdmerdo. Pehos e pfrhmtmr de fctreae tehimíc af gehmocfs. Rfro e dos gehmocfs dfs vehos e goirer am`frfctf. Goho ley pogos epergehmfctos gfrge vehos e eprovfglercos> dfs vehos e goirer 56 furos por hftro gueareao. ], eafhås, df vehos e suher 6 hftros e de dockmtua afd gehm÷c. De gdesf Gehmoc qufaerèe esè:
52<
gdess Gehmoc gdess { prmvetf prmvetf $dockmtua $dockmtua 8 2> gocst gocst FVYOW_ROY_HFQYO FVYOW_ROY_HFQYO 8 8 56 56>>
`ucgtmoc __gocstrugt `ucgtmoc __gocstrugt(( $dockmtua ) { $tlms-3dockmtua 8 $dockmtua> }
}
puidmg `ucgtmoc puidmg `ucgtmoc mhportfGoireao mhportfGoireao() () { rfturc ($tlms-3dockmtua rfturc ($tlms-3dockmtua + 6) * sfd`::FVYOW_ROY_HFQYO sfd`::FVYOW_ROY_HFQYO>> }
Elore cos vehos ed `mglfro mcafx.plp f mctfctehos hftfr uc gehm÷c fc fd kerejf eõeamfcao fstes dècfes ed `mced afd `mglfro:
$hmGehmoc 8 cfw cfw Gehmoc Gehmoc((52 52)> )> $kerejf-3eperger($hmGehmoc)>
y eõeamhos fd mcgduaf ed prmcgmpmo: mcgduaf('Gehmoc.plp' mcgduaf( 'Gehmoc.plp')> )>
Ed fjfguter fstf g÷amko vehos e tfcfr uc proidfhe: RLR Getgleidf `eted frror: Erkuhfct 5 pessfa to Kerejf::eperger() Kerejf::eperger() hust if ec mcstecgf o` Goglf, mcstecgf o` Gehmoc kmvfc, geddfa mc mcafx.plp oc dmcf 51 eca af`mcfa mc Kerejf.plp oc dmcf <
Fd hítoao eperger() fspfre quf sf df fcvèf uc oijfto Goglf pfro df lfhos peseao uc oijfto Gehmoc. Ol, ol, ¿y elore quí legfhos? Rufaf quf sf tf ogurre hoam`mger fd hítoao eperger() pere quf pufae egfpter guedqumfr tmpo af peråhftro. Rfro fsto tf pufaf geuser proidfhes ye quf sf df poarèe peser uc oijfto quf co tuvmfsf fd hítoao mhportfGoireao() y tfcarèehos uc frror. Fctocgfs poarèes pfcser: ¿] sm afjo quf fctrf guedqumfr tmpo af vedor pfro dufko uso uc m` pere goctroder quf dos oijftos soc af tmpo Goglf o Gehmoc. Roarèe sfr uce sodugm÷c, pfro tu g÷amko fhpmfze e sfr gohpdmgeao. Eafhås, sm qumfrfs egfpter hotos tfcarås quf hoam`mger de gdesf Kerejf. ¿] g÷ho errfkdehos fstf afsekumseao?
Rufs equè fs aocaf pufafc eyuaercos dos mctfr`egfs. ¿Uuí tmfcfc fc gohúc dos goglfs y dos
52=
gehmocfs? ¡Ehios soc vflègudos! ¿Co sfrèe herevmddoso quf eperger() puamfsf egfpter goho peråhftro uc vflègudo, smc mhporter quf sfe Goglf o Gehmoc? Rufs sè, kregmes e uc mctfr`egf sf pufaf. Pehos e vfrdo. Do prmhfro fs grfer fd mctfr`ez Pflmgudo (fc fd `mglfro Pflmgudo.plp ): mctfr`egf Pflmgudo mctfr`egf { }
puidmg `ucgtmoc puidmg `ucgtmoc mhportfGoireao mhportfGoireao()> ()>
Vc mctfr`egf sf grfe usecao de pedeire rfsfrveae mctfr`egf. Roafhos eõeamrdf hítoaos pfro co propmfaeafs. ] fc dos hítoaos af uc mctfr`egf co pufaf leifr g÷amko (ye vfrfhos hås eafdectf pere quí smrvf fstf hítoao fc idecgo). Pehos e vfr g÷ho poafhos userdo pere sodugmocer cufstro proidfhe. Fhpfzehos por hoam`mger de Pehos gdesf Goglf pere quf mhpdfhfctf fd mctfr`egf Pflmgudo: gdess Goglf gdess Goglf mhpdfhfcts mhpdfhfcts Pflmgudo
!
¿Mhpdfhfcter?
E fsto quf fstehos legmfcao sf ddehe mhpdfhfcter uc uc mctfr`egf.
] legfhos do hmsho hmsho goc de gdesf Gehmoc: gdess Gehmoc gdess Gehmoc mhpdfhfcts mhpdfhfcts Pflmgudo
Elore, ehies gdesfs soc vflègudos. Ror údtmho hoam`mgehos fd hítoao eperger() af de gdesf Kerejf pere quf egfptf goho peråhftros oijftos afd tmpo Pflmgudo: puidmg `ucgtmoc puidmg `ucgtmoc eperger eperger(( Pflmgudo Pflmgudo $vflmgudo $vflmgudo ) { $tlms-3vflmgudosE $tlms-3vflmgudosEpergeaos^X pergeaos^X 8 $vflmgudo> }
Dos oijftos afd tmpo Goglf y dos afd tmpo Gehmoc soc toaos afd tmpo Pflmgudo (porquf mhpdfhfctec fd mctfr`ez Pflmgudo). Fd hítoao eperger() elore egfpte oijftos afd tmpo Pflmgudo esè quf poarfhos fcvmerdf oijftos Goglf y Gehmoc trecqumdehfctf. ¡Rroidfhe sodugmoceao!
¿Rere quí tmfcf hítoaos fd mctfr`ez? Podvehos Pod vehos e fgler uc vmstezo ed mctfr`egf quf lfhos grfeao:
552
mctfr`egf Pflmgudo mctfr`egf { puidmg puidmg `ucgtmoc `ucgtmoc mhportfGoireao mhportfGoireao()> ()> }
¿Rere quí qufrfhos fstf hítoao sm co pufaf tfcfr ceae af g÷amko afctro? Fste fs otre af des herevmddes af dos mctfr`egfs> des gdesfs quf do mhpdfhfctfc afifråc af`mcmr af`mcmr fstf hítoao. Wm e de gdesf Gehmoc o e de gdesf Goglf dfs `edtesf fd hítoao mhportfGoireao() tfcarèehos proidfhes> fd hítoao gedguderMckrfsos() af de gdesf Kerejf cfgfsmte fsf hítoao. Wm co fxmstf vehos e tfcfr uc frror. Kregmes e quf lfhos eõeamao fsf hítoao fc fd mctfr`egf tecto Goglf goho Gehmoc afifc af`mcmr fd hítoao mhportfGoireao(). Wm fstf hítoao `edtesf fc de gdesf Gehmoc vfrèehos fstf frror: RLR @eted frror: frror: Gdess Gehmoc goctemcs 5 eistregt hftloa eca hust tlfrf`orf tlfrf`orf if afgderfa eistregt or mhpdfhfct tlf rfhemcmck hftloas (Pflmgudo::mhportfGoireao) mc Gehmoc.plp oc dmcf 57
¿] por quí co grfer uce gdesf Pflmgudo fc duker af uc mctfr`ez? Fs gmfrto, poarèehos legfr quf Pflmgudo `ufsf uce gdesf corhed y quf Goglf y Gehmoc lfrfaesfc af fdde. Fd prokrehe `ucgmocerèe gorrfgtehfctf. Wmc fhierko ye co fsterfhos oidmkeaos e tfcfr fd hítoao mhportfGoireao(). Fc fstf geso poarèe leifr proidfhes porquf edkumfc (qumzå cosotros) quf usf fste gdesf fc uce epdmgegm÷c poarèe mctfcter peser uc oijfto smc fd hítoao mhportfGoireao().
Geregtfrèstmges af dos mctfr`egfs fc RLR Wf pufafc fxtfcafr Ed mkued quf lfhos vmsto goc des gdesfs "corhedfs" aocaf poaèehos user fxtfcafs pere grfer gdesfs lfrfaeaes, fc dos mctfr`egfs tehimíc poafhos fxtfcafr otros mctfr`egfs.
Wf pufafc eõeamr gocstectfs Ectfs lfhos vmsto quf e uc mctfr`egf co sf df pufafc eõeamr propmfaeafs. Rfro sè poafhos eõeamrdf gocstectfs. Fc cufstro fjfhpdo poarèehos eõeamr uce gocstectf quf `mjf fd håxmho af vflègudos quf pufafc fctrer:
555
mctfr`egf Pflmgudo mctfr`egf { gocst gocst HE\_PFLMGVDOW HE\_PFLMGVDOW 8 8 522 522>> }
puidmg `ucgtmoc puidmg `ucgtmoc mhportfGoireao mhportfGoireao()> ()>
Do quf co poafhos legfr fs af`mcmr uce gocstectf fc uc mctfr`ez y rfaf`mcmrde fc uce gdesf quf de mhpdfhfcte. Ror fjfhpdo, fstf g÷amko aerèe proidfhes: mctfr`egf Pflmgudo mctfr`egf { gocst gocst FVYOW_ROY_HFQYO FVYOW_ROY_HFQYO 8 8 6> }
puidmg `ucgtmoc puidmg `ucgtmoc mhportfGoireao mhportfGoireao()> ()>
Ed fjfguter fd mcafx.plp tfcarèehos uc frror smhmder e ístf: RLR @eted frror: Geccot mclfrmt mclfrmt prfvmousdy-mclfrmtfa prfvmousdy-mclfrmtfa or ovfrrmaf gocstect FVYOW_ROY_HFQYO `roh mctfr`egf Pflmgudo mc Goglf.plp oc dmcf 7
Qoaos dos hítoaos af uc mctfr`egf soc púidmgos mctfr`egf soc Lfhos vmsto quf uc mctfr`egf sf use, fctrf otres goses, pere oidmker e quf des gdesfs quf do mhpdfhfctec tfckec ucos aftfrhmceaos hítoaos. Fs goho sm luimfre uc "goctreto" fctrf fd mctfr`egf y de gdesf: sm qumfrfs mhpdfhfcterhf tfcarås quf guhpdmr fstes gocamgmocfs (grfer ucos hítoaos aftfrhmceaos). Fstos hítoaos soc dos quf de gdesf afif afjer "fxpufstos" ed hucao fxtfrmor, esè quf afifc sfr púidmgos.
559
Gdesfs eistregtes Ror rfsuhmr huglo amrfhos quf uce gdesf eistregte fs uc mctfr`egf ed quf sf df pufafc af`mcmr hítoaos y propmfaeafs. Ed mkued quf uc mctfr`egf co sf pufaf Mcstecgmer Mcstecgmer,, fs afgmr, co poafhos grfer uc oijfto e pertmr af uce gdesf eistregte. Vce gdesf eistregte sf af`mcf: eistregt gdess eistregt gdess CohirfGdesf CohirfGdesf { { }
¿Rere quí uce gdesf eistregte? Lfhos vmsto quf poafhos user uc mctfr`egf pere oidmker e dos oijftos quf do mhpdfhfctec e quf tfckec use sfrmf af hítoaos. Rfro fs rfspocseimdmaea af dos oijftos af`mcmr fsos hítoaos. Rfro ley smtuegmocfs fc des quf eisodutehfctf toaos dos oijftos quf usec uc hmsho mctfr`ez tmfcfc pertfs afd g÷amko fc gohúc. Podvehos Podvehos e cufstres gdesfs Goglf y Gehmoc. Fc fd gepètudo ectfrmor tfcèehos uce gdesf Kerekf pere kfstmocer fd cfkogmo af uc pernmck. Mhekmcfhos quf qufrfhos ehpdmer fd cfkogmo y o`rfgfhos uc sfrvmgmo af dmhpmfze af vflègudos. Cos kusterèe eõeamr uc hítoao ddeheao dmhpmer fc toaes des gdesfs Pflmgudo. ] tehimíc uce propmfaea ddeheae dmhpmo pere goctroder sm fd vflègudo fstå dmhpmo. Fstf hítoao y de propmfaea sfrèec edko esè (fs uc hítoao smhpd÷c quf do úcmgo quf legf fs gehimer fd vedor af de propmfaea dmhpmo e truf): puidmg $dmhpmo puidmg $dmhpmo 8 `edsf> puidmg puidmg `ucgtmoc `ucgtmoc dmhpmer dmhpmer() () { m` m`(( !$tlms-3dmhpmo ) { $tlms-3dmhpmo 8 truf> } }
Qfcarèehos quf eõeamr fd hítoao y de propmfaea fc toaes des gdesfs Pflmgudo quf tfcfhos (Goglf y Gehmoc) y toaes des quf grffhos fc fd `uturo. Eafhås, pere esfkurercos af quf des cufves gdesfs af tmpo Pflmgudo tfckec fstf hítoao tfcarèehos quf eõeamrdo ed mctfr`egf. ], gdero, guecao grffhos uce cufve gdesf Pflmgudo pufaf quf cos odvmafhos af grfer de propmfaea dmhpmo. ¿G÷ho sodugmocehos toaos fstos proidfhes? Wfkuro quf ye gocogfs de rfspufste ¡goc uce gdesf eistregte!
Qfcfhos quf fhpfzer por hoa`mger fd mctfr`egf Pflmgudo:
557
mctfr`egf Pflmgudo mctfr`egf { puidmg puidmg `ucgtmoc `ucgtmoc mhportfGoireao mhportfGoireao()> ()> }
y gocvfrtmrdo fc uce gdesf eistregte: eistregt gdess eistregt gdess Pflmgudo { puidmg puidmg eistregt eistregt `ucgtmoc `ucgtmoc mhportfGoireao mhportfGoireao()> ()> }
Goho pufafs vfr ley aos gehimos mhportectfs: • Lf Lfho hoss gehim gehimea eaoo mctfr`egf por eistregt gdess. • Lfho Lfhoss eõea eõeama maoo eistregt e de af`mcmgm÷c afd hítoao mhportfGoireao(). Wm qufrfhos quf uc hítoao co tfcke g÷amko afifhos afgdererdo goho eistregt. mhportfGoireao() goho eistregt oidmkehos e toaes des gdesfs lmjes e quf Ed afgderer hítoao af`mcec fstf fd hítoao (mkued quf peseie goc dos hítoaos af uc mctfr`egf).
Elore quf lfhos gocvfrtmao Pflmgudo fc uce gdesf eistregte ye poafhos eõeamrdf fd cufvo hítoao y de cufve propmfaea: eistregt gdess eistregt gdess Pflmgudo { prmvetf prmvetf $dmhpmo $dmhpmo 8 `edsf>
puidmg eistregt puidmg eistregt `ucgtmoc `ucgtmoc mhportfGoireao mhportfGoireao()> ()>
}
puidmg puidmg `ucgtmoc `ucgtmoc dmhpmer dmhpmer() () { m`(( !$tlms-3dmhpmo ) { m` $tlms-3dmhpmo 8 truf> } }
Qoaevèe co lfhos tfrhmceao, sm fjfgutehos fd `mglfro mcafx.plp tfcarfhos uc frror: RLR @eted fr frror: ror: Goglf geccot mhpdfhfct Pflmgudo Pflmgudo - mt ms cot ec mctfr`egf mc Goglf.plp oc dmcf 7
Wf cos fstå qufjecao porquf Pflmgudo ye co fs uc mctfr`egf smco uce gdesf eistregte. Rere
sodugmocerdo ieste goc gehimer de gdesf Goglf af ísto:
551
gdess Goglf Goglf mhpdfhfcts mhpdfhfcts Pflmgudo gdess
e ísto: gdess Goglf gdess Goglf fxtfcas fxtfcas Pflmgudo
] lerèehos do hmsho hmsho goc de gdesf Gehmoc.
Vser fd cufvo hítoao Fstf cufvo hítoao quf lfhos grfeao poafhos userdo af fste `orhe pere dmhpmer toaos dos vflègudos epergeaos: puidmg `ucgtmoc puidmg `ucgtmoc dmhpmer dmhpmer() () { `orfegl `orfegl($tlms-3vflmgudosEpergeaos ($tlms-3vflmgudosEpergeaos es es $vflmgudo $vflmgudo ) { $vflmgudo-3dmhpmer()> }
}
Ojo, de propmfaea dmhpmo fs prmveae Wm tf `mjes fc de af`mcmgm÷c af de gdesf eistregte Pflmgudo vfrås quf fstå afgdereae goho prmvetf. Do lf lfglo esè porquf des gdesfs lmjes co de utmdmzec. Wm ístes tuvmfrec quf eggfafr e fse propmfaea poarèec legfrdo e trevís af uc Kfttfr Kfttfr o o uc Wfttfr Wfttfr.. Qehimíc poarèes legfr de propmfaea protfgtfa o puidmg, afpfcamfcao af des fxmkfcgmes afd proyfgto.
¿Uuí hítoaos afifc sfr eistregtos y guådfs co? Fc uce gdesf eistregte dos hítoaos pufafc sfr eistregtos o co. Wfrèe gocvfcmfctf fctfcafr guåcao legfr uc hítoao eistregto y guåcao co. Wm eisodutehfctf toaes des gdesfs lmjes vec e user uc aftfrhmceao hítoao goc fd hmsho g÷amko ístf co afifrèe sfr eistregto. Esè toaes des gdesfs quf do lfrfaec poaråc rfutmdmzerdo. Wm fd hítoao pufaf vermer af uce gdesf e otre afifrèes af`mcmrdo goho eistregto y afjer quf geae gdesf lmje af`mce su propmo g÷amko.
¿Ror quí co sf pufaf mcstecgmer uce gdesf eistr eistregte? egte? Ley uc fjfhpdo quf sufdo user pere fstos gesos, de gdesf @rute:
556
eistregt gdess gdess @rute eistregt { eistregt eistregt puidmg puidmg `ucgtmoc `ucgtmoc godor godor()> ()> }
puidmg `ucgtmoc puidmg `ucgtmoc tmpo tmpo() () { rfturc "Fstf proaugto fs uce `rute"> rfturc `rute" > }
gdess Dmhoc gdess Dmhoc fxtfcas fxtfcas @rute { puidmg puidmg `ucgtmoc `ucgtmoc godor godor() () { rfturc 'Fd dmh÷c fs Ehermddo'> rfturc Ehermddo'> } } gdess Cerecje gdess Cerecje fxtfcas fxtfcas @rute { }
puidmg puidmg `ucgtmoc `ucgtmoc godor godor() () { rfturc 'De cerecje fs Cerecje'> rfturc Cerecje'> }
Equè tfcfhos uce gdesf eistregte @rute y aos gdesfs lmjes: Dmhoc y Cerecje. Geae uce tmfcf uc hítoao godor() quf afvufdvf fd godor af de `rute. Pmfcao fstf g÷amko ¿pmfcses quf tfcarèe sfctmao grfer uc oijfto afd tmpo @rute? Qfcarèes quf af`mcmr fd hítoao godor(), pfro ¿af quí godor fs de `rute? De `rute co tmfcf uc godor aftfrhmceao, afpfcafrå afd tmpo af `rute quf sfe. Ror fso, fc fstf geso, co tfcarèe sfctmao grfer uc oijfto _@rute. ] goho co ley quf grffrsf toao do quf cos gufctec vehos e gohproier quf `rute, f`fgtmvehfctf, co sf pufaf mcstecgmer. Hftf fstf g÷amko fc fd `mglfro mcafx.plp (y grfe fd `mglfro @rute.plp goc de gdesf @rute): mcgduaf('@rute.plp')> mcgduaf('@rute.plp' )> $`rute 8 cfw cfw @rute @rute()> ()>
Fstf fs fd frror quf vehos e tfcfr sm fjfgutehos fstf g÷amko: RLR @eted frror: frror: Vcgeuklt Frror: Geccot mcstectmetf mcstectmetf eistregt gdess prufie mc mcafx.plp:95
550
¿Guåcao user uce gdesf eistregte? Vce gdesf eistregte sfrå gocvfcmfctf guecao cfgfsmtfhos gohpertmr g÷amko fctrf gdesfs afd hmsho tmpo y, eafhås, qufrehos oidmker e quf fstes gdesfs afiec af`mcmr aftfrhmceaos hítoaos.
¿Ror quí co user smfhprf gdesfs eistregtes? Vce iufcefsprfkucte sf sufdf pdectfer kfctf guecao afsguirf dos mctfr`egfs y des gdesfs eistregtes ¿Ror quí quf co user smfhprf gdesfs de eistregtes? De prfkucte fs iufce porquf uce gdesf eistregte perfgf quf cos ae hås `dfxmimdmaea quf uc mctfr`egf> cos pfrhmtf af`mcmr quí hítoaos afifc tfcfr des gdesfs af fsf tmpo y, eafhås, cos pfrhmtf hftfr g÷amko fc fddos. Ley vermes iufces rezocfs por des quf co afifhos user smfhprf uce gdesf eistregte. De hås mhportectf fs quf uce gdesf sodo pufaf lfrfaer af otre gdesf. Fc gehimo uce gdesf pufaf mhpdfhfcter hås af uc mctfr`egf.
¿Uuí otres opgmocfs ley? Leirå gesos fc dos quf co fsterå gdero sm user uc mctfr`egf o uce gdesf eistregte… o cmckuco af dos aos. Fc dos smkumfctfs gepètudos vehos e vfr otres opgmocfs quf soc dos tremt y y otro smstfhe quf fs fd af mcyfggm÷c af afpfcafcgmes.
55;
Qremts Lekehos uc pfqufõo rfsuhfc af do quf tfcfhos leste elore: • Guecao ley vermes gdesfs smhmderfs smhmderfs quf tmfcfc tmfcfc vermos hítoaos hítoaos mkuedfs poafhos poafhos user lfrfcgme. Af`mcmhos uce gdesf iesf goc sus propmos hítoaos y ístos dos lfrfaec des gdesfs lmjes. • Wm de gdesf iesf co tmfcf tmfcf sfctm sfctmao ao mcstecgmerde mcstecgmerde cucge cucge y qufrfhos oidmker e quf des gdesfs lmjes tfckec quf af`mcmr aftfrhmceaos hítoaos poafhos user uce gdesf eistregte. • Wm tfcfhos vermes gdesfs goc uc gohportehmfcto gohportehmfcto perfgmao y qufrfhos oidmkerdes oidmkerdes e quf af`mcec af`mcec aftfrhmceaos hítoaos poafhos user mctfr`egfs. Fd proidfhe af des gdesfs eistregtes y af de lfrfcgme fs quf uce gdesf sodo pufaf tfcfr uce hearf (goho fc de vmae rfed). Ror goctre, uce gdesf sè quf pufaf mhpdfhfcter vermos mctfr`egfs. Rfro, gdero, fc dos mctfr`egfs co poafhos hftfr ceae af g÷amko. Fctocgfs ¿quí poafhos legfr guecao uce gdesf ve e mhpdfhfcter aos mctfr`egfs y, y, eafhås, tmfcf g÷amko fc gohúc. ¡Uuí amdfhe!
¿Uuí fs uc tremt? Rere sodugmocer de dmhmtegm÷c quf tmfcf RLR goc de lfrfcgme (sodo pufaf lfrfaer af uce gdesf) sf mctroaujfroc dos tremt . Yfsuhmfcao huglo poafhos afgmr quf uc tremt pfrhmtf eõeamr `ucgmocedmaea e uce gdesf. Fs uce `orhe af legfr "gopme/pfke" af g÷amko smc tfcfr quf legfr "gopme/pfke"" af vfraea. "gopme/pfke Pehos e grfer uc tremt pere vfr g÷ho `ucgmoce. Fc fstf geso vehos e grfer aos hítoaos pere egtmver y afsegtmver fd [m`m fc uc vflègudo (quf fstå huy af hoae fsto afd [m`m fc dos goglfs): tremt [m`m [m`m { { puidmg puidmg `ucgtmoc `ucgtmoc egtmver[m`m egtmver[m`m() () { rfturc truf> rfturc truf> } }
puidmg `ucgtmoc puidmg `ucgtmoc afsegtmver[m`m afsegtmver[m`m() () { rfturc `edsf> rfturc `edsf> }
!
Vc tremt co sf pufaf mcstecgmer> co poafhos grfer uc oijfto e pertmr af uc tremt.
Rere eõeamr fd g÷amko afd tremt fc uce gdesf ieste goc user: usf [m`m usf [m`m>>
Ror fjfhpdo, fc de gdesf Gehmoc quf lfhos useao ectfrmorhfctf ectfrmorhfctf::
55<
gdess Gehmoc Gehmoc fxtfcas fxtfcas Pflmgudo Pflmgudo { { gdess usf usf [m`m [m`m>> prmvetf prmvetf $tmfcfYfhodquf $tmfcfYfhodquf 8 `edsf> puidmg puidmg `ucgtmoc `ucgtmoc sftYfhodquf sftYfhodquf($tmfcfYfhodquf) ($tmfcfYfhodquf) { $tlms-3tmfcfYfhod $tlms-3tmfcfYfhodquf quf 8 $tmfcfYfhodquf> } puidmg puidmg `ucgtmoc `ucgtmoc kftYfhodquf kftYfhodquf() () { rfturc rfturc $tlms-3tmfcfYfho $tlms-3tmfcfYfhodquf> dquf> } }
Elore, sm grfehos uc oijfto Gehmoc tfcarfhos amspocmidfs dos hítoaos egtmver[m`m() y afsegtmver[m`m():
$gehmoc 8 cfw cfw Gehmoc Gehmoc()> ()> $gehmoc-3egtmver[m`m()>
¿Ror quí user uc Qremt? Elore quf lfhos vmsto do quf soc afifrèehos prfkuctercos ¿afio userdos? ¿guåcao ley quf userdos? Pehos e vfr aos fjfhpdos, uco fc fd quf poafhos user lfrfcgme pere sodugmocer fd proidfhe y otro Pehos fc fd quf de lfrfcgme tmfcf dmhmtegmocfs. Rere fhpfzer mhekmcfhos uc `eirmgectf af vflègudos quf legf gehmocfs y goglfs. Fc su getådoko ley aos hoafdos af goglfs y aos hoafdos af gehmocfs. Dos aos hoafdos gehmocfs tmfcfc geregtfrèstmges gohucfs (por fjfhpdo ehios tmfcfc uc rfhodquf). Dos hoafdos af goglfs tehimíc tmfcfc geregtfrèstmges gohucfs fctrf fddos (por fjfhpdo pufafc ddfver pesejfros). Rere rfprfsfcter fsto poafhos user uce gdesf iesf ddeheae Pflmgudo quf pufaf goctfcfr hítoaos y propmfaeafs gohucfs e toaos dos vflègudos. Dufko poafhos grfer uce gdesf Gehmoc, quf sfrå lmje af de gdesf Pflègudo quf mcgdumfrå toaes des geregtfrèstmges propmes af uc gehm÷c. Ror údtmho poafhos tfcfr uce gdesf pere geae hoafdo af gehm÷c goc sus geregtfrèstmges úcmges. Goc dos goglfs lerèehos edko smhmder. Lfhos rfsufdto fd proidfhe goc lfrfcgme. Elore mhekmcfhos quf fd `eirmgectf qumfrf eõeamr [m`m sodo fc uc hoafdo af gehm÷c y fc uco af sus goglfs. Goho co toaos dos vflègudos tfcaråc [m`m fstå gdero quf fstes cufves geregtfrèstmges co pufafc mr afctro af de gdesf Pflmgudo. Qehpogo poafhos hftfr fd [m`m fc de gdesf Gehmoc cm fc de gdesf Goglf porquf sus lmjes pufafc co cfgfsmterdo.
Esè quf dos hítoaos rfdegmoceaos goc fd [m`m tfcarfhos quf hftfrdos afctro af dos hoafdos af
55=
gehm÷c y goglf quf usec [m`m. Fc fste smtuegm÷c cos fcgoctrerèehos goc uc hoafdo af goglf quf tmfcf ucos hítoaos pere goctroder fd wm`m y uc hoafdo af gehm÷c quf tfcarå fsos hmshos hítoaos rfpftmaos. Fc prmcgmpmo co ley ceae hedo fc fso, pfro ye tfcfhos g÷amko aupdmgeao (dos hmshos hítoaos fc aos smtmos am`frfctfs). ¿] co leièehos amglo quf uce af des iesfs af de prokrehegm÷c ormfcteae e oijftos fre prfgmsehfctf fvmter de aupdmgmaea af g÷amko? Rufs fc fste smtuegm÷c fs aocaf cos vmfcf huy imfc uc tremt. Iesterèe goc eõeamr fd tremt [m`m e dos hoafdos af goglf y gehm÷c quf do usec y dmsto.
Pfctejes af dos Qremts Goc dos tremts poafhos fvmter de aupdmgmaea af g÷amko, quf fs edko quf fstå huy imfc. Egeiehos af vfr uc fjfhpdo aocaf cos elorre fsgrmimr fd hmsho g÷amko aos vfgfs. Rere sodugmocer fsf hmsho proidfhe tehimíc poarèehos leifr useao gdesfs mctfrhfames. Ror fjfhpdo poarèehos leifr grfeao uce gdesf Pflmgudo pere dos vflègudos "corhedfs" smc [m`m y otre ddeheae Pflmgudo[m`m pere dos hoafdos goc [m`m. Dos hítoaos afd [m`m mrèec fc de gdesf Pflmgudo[m`m ] gdero, leirèe quf grfer des gdesfs Gehmoc y Gehmoc[m`m y Goglf y Goglf[m`m. ¡Hfcuae gohpdmgegm÷c! ¿] quí peserèe sm eafhås afd [m`m ley edkuce otre geregtfrèstmge smhmder quf fstå prfsfctf fc ucos hoafdos y fc otros co? ¡Rufaf sfr uc eutíctmgo mc`mfrco! Esè quf fste fs otre vfcteje af dos tremt cos eyuae e fvmtehos de lfrfcgme gohpdfje.
Rroidfhes af dos Qremts Vc tremt cos pufaf sfr huy útmd guecao tfcfhos quf eõeamr uce sfrmf af hítoaos mkuedfs e gdesfs quf co pufafc lfrfaer af uce gdesf iesf gohúc. Rfro, goho gesm toao fc de vmae, ley pertfs iufces y pertfs hedes. Rere fhpfzer do af dos tremts sf mctroaujo fc RLR pere sodugmocer fd proidfhe quf leièe goc de lfrfcgme. Fc RLR uce gdesf sodo pufaf tfcfr uce gdesf hearf (co fxmstf de lfrfcgme húdtmpdf) y dos tremts soc uc pfqufõo "epeõo" quf cos pfrhmtf rfutmdmzer g÷amko af hecfre sfcgmdde.
Vco af dos proidfhes af dos tremts fs quf fs huy `ågmd eõeamr cufves geregtfrèstmges e uce gdesf. ] guecao legfhos fso cos fstehos sedtecao uco af dos gmcgo prmcgmpmos WODMA: fd af rfspocseimdmaea úcmge. Fd prmcgmpmo af rfspocseimdmaea úcmge amgf quf uce gdesf (o uc hítoao) afif guhpdmr goc uce úcmge `ucgm÷c (o, goho amjo Yoifrt G. Hertmc "afifrèe tfcfr uce úcmge rez÷c pere gehimer"). Fc otro dmiro leiderí soirf dos prmcgmpmos WODMA epdmgeaos e RLR. Af `orhe smhmder, ed sfr tec `ågmd eõeamr hås y hås tremts e uce gdesf poafhos mr eõeamfcao gohpdfjmaea gesm smc aercos gufcte. Ror otro deao poafhos fster aupdmgecao g÷amko. Goho, guecao fsgrmimhos g÷amko, co tfcfhos `ågmdhfctf eggfsmidfs dos hítoaos af dos tremts quf use cufstre gdesf, fs `ågmd aupdmger dos hítoaos. Fs posmidf quf co sfehos gocsgmfctfs af quf uc tremt tmfcf uc hítoao quf cfgfsmtehos y grffhos uco smhmder. Goc dos famtorfs af g÷amko hoafrcos co fs krec proidfhe porquf poafhos vfr dos
hítoaos quf lfrfae uce gdesf. Eúc esè, smfhprf fxmstf fd rmfsko.
592
Co eiusfs af dos Qremts Dos tremts pufafc sfr edko `ectåcsmtmgo pfro, mcsmsto, co eiusfs af fddos. Fc prokrehegm÷c ormfcteae e oijftos sf sufdf afgmr quf smfhprf afifs aer prmormaea e de gohposmgm÷c soirf de lfrfcgme. Af fstf gocgfpto af de gohposmgm÷c voy e leider fc uc pr÷xmho gepètudo. Fs edko huy mhportectf esè quf sf hfrfgf su propmo gepètudo.
Geregtfrèstmges af dos tremts ¿Rufaf tfcfr hítoaos eistregtos? Wè, uc tremt pufaf mcgdumr hítoaos eistregtos pere oidmker e des gdesfs quf do usec e af`mcmrdos. @ucgmocec mkued quf dos hítoaos eistregtos "corhedfs". Ror fjfhpdo, fc cufstro tremt [m`m poarèehos qufrfr oidmker e quf de gdesf quf do usf tfcke uc hítoao ddeheao `ufctfEdmhfctegmoc[m`m() quf poarèe mcamger g÷ho sf fcglu`e fd routfr wm`m ed vflègudo. Fstf hítoao eistregto sfrèe edko esè: eistregt puidmg eistregt puidmg `ucgtmoc `ucgtmoc `ufctfEdmhfctegmoc[m`m `ufctfEdmhfctegmoc[m`m()> ()>
goc do quf [m`m qufaerèe: tremt [m`m [m`m { { puidmg puidmg `ucgtmoc `ucgtmoc egtmver[m`m egtmver[m`m() () { rfturc truf> rfturc truf> }
puidmg `ucgtmoc puidmg `ucgtmoc afsegtmver[m`m afsegtmver[m`m() () { rfturc `edsf> rfturc `edsf> }
}
eistregt puidmg eistregt puidmg `ucgtmoc `ucgtmoc `ufctfEdmhfctegmoc[m`m `ufctfEdmhfctegmoc[m`m()> ()>
] de gdesf quf usf usf fd tremt fsterèe oidmkeae e af`mcmr fstf hítoao.
¿Wf pufaf user hås af uc Qremt? Wè, fc uce gdesf poafhos eõeamr tectos tremt goho qufrehos.
¿Rufaf tfcfr propmfaeafs? Wè, uc tremt pufaf tfcfr propmfaeafs puidmg, prmvetf y protfgtfa. Rfro rfgorafhos quf ed user uc tremt fc uce gdesf fs goho legfr gopme/pfke.
¿Uuí qumfrf afgmr ísto? Pehos e vfr do quf mhpdmge fsto afd gopmer/pfker goc uc fjfhpdo. Hmre fstf
595
g÷amko huy smhpdm`mgeao: tremt [m`m { prmvetf prmvetf $fsteao[m`m $fsteao[m`m 8 `edsf> } gdess Gehmoc gdess Gehmoc fxtfcas fxtfcas Pflmgudo {
usf [m`m usf [m`m>>
puidmg puidmg `ucgtmoc `ucgtmoc fsteao[m`m fsteao[m`m() () { rfturc $tlms-3fsteao[m`m> rfturc $tlms-3fsteao[m`m> } } $gehmoc 8 cfw cfw Gehmoc Gehmoc()> ()> fglo $gehmoc-3fsteao[ $gehmoc-3fsteao[m`m()> m`m()>
Goho seifhos ye por do quf lfhos vmsto fc lfrfcgme des propmfaeafs prmvetf co soc eggfsmidfs afsaf fd g÷amko af uce gdesf lmje. Qfcmfcao fso fc hfctf fs leimtued pfcser quf $fsteao[m`m co sfrå eggfsmidf afsaf de gdesf Gehmoc. Wmc fhierko, sm fjfgutes fd g÷amko ectfrmor vfrås quf co ley cmckúc proidfhe. De rez÷c fs fd gopme/pfke quf lf hfcgmoceao. Fd g÷amko afd tremt ley quf vfrdo goho sm fstuvmfre mcgrusteao afctro af de gdesf Gehmoc> co ley lfrfcgme cm ceae smhmder. Esè quf sm tfcfhos aos tremts quf mcgduyfc aos propmfaeafs goc fd hmsho cohirf vehos e tfcfr uc proidfhe. Pfehos uc fjfhpdo: tremt [m`m { prmvetf prmvetf $gocfgteaoMctfrcft $gocfgteaoMctfrcft 8 `edsf> } tremt Mctfrcft1K { prmvetf prmvetf $gocfgteaoMctfrcft $gocfgteaoMctfrcft 8 truf> } gdess Gehmoc gdess Gehmoc fxtfcas fxtfcas Pflmgudo { usf usf [m`m [m`m,, Mctfrcft1K Mctfrcft1K>> }
Fsto cos ve e provoger uc frror `eted. RLR sf qufjerå af quf fxmstfc aos propmfaeafs goc fd hmsho
cohirf pfro mcgohpetmidfs (fc uc tremt fd vedor fs truf y fc fd otro `edsf).
599
Wm ehies propmfaeafs tuvmfsfc fd hmsho vedor co sf proaugmrèe uc frror. Roarèes pfcser quf esè qufae toao sodugmoceao. Rfro elore mhekmce quf, gesuedmaeafs af de vmae, aos tremts usec uce propmfaea e de quf ehios ddehec mkued pfro quf sf use pere goses am`frfctfs. Equè tfcarèehos proidfhes y, y, sfkuro, quf am`ègmdfs af aftfgter. De horedfje af fste lmstorme fs quf dos tremts fståc imfc pfro, goho vfs, tmfcfc iestectf pfdmkro.
¿] sm de gdesf y fd tremt tmfcfc uc hítoao goc fd hmsho cohirf? Wm uce gdesf use uc tremt íste pufaf af`mcmr hítoaos guyos cohirfs gomcgmafc goc dos afd tremt. Ror fjfhpdo: gdess Gehmoc gdess Gehmoc fxtfcas fxtfcas Pflmgudo { usf usf [m`m [m`m>>
puidmg `ucgtmoc puidmg `ucgtmoc fsteao[m`m fsteao[m`m() () { fglo "Hítoao af de gdesf Gehmoc"> Gehmoc"> }
} tremt [m`m { puidmg puidmg `ucgtmoc `ucgtmoc fsteao[m`m fsteao[m`m() () { fglo "Hítoao afd tremt [m`m"> [m`m"> } } $gehmoc 8 cfw cfw Gehmoc Gehmoc()> ()> $gehmoc-3fsteao[m`m()>
Fc fstf geso sf userèe fd hítoao fsteao[m`m() af de gdesf. Rfro ectfs af quf tf decgfs e user fsto afifs tfcfr fc gufcte aos goses: • De afgderegm÷c af ehios hítoaos afif sfr mkued. mkued. Wm co soc mkuedfs RLR sf qufjerå deczecao deczecao uc evmso.. evmso • Wedvo quf qumfres rffhpdezer fd hítoao fxmstfctf fc fd tremt legfr ísto pufaf sfr huy hede mafe. Uuf co tfckes uc frror o uc evmso co qumfrf afgmr quf tu g÷amko co fstf hed.
¿] sm sf usec aos tremts quf tmfcfc uc hítoao goc fd hmsho cohirf? Fsto ye fhpmfze e sfr hås gohpdmgeao. Rere fhpfzer, sm ley aos tremts goc uce `ucgm÷c quf tmfcf fd hmsho cohirf sf ve e proaugmr uc frror `eted. Pehos e vfrdo goc uc fjfhpdo:
597
gdess Gehmoc Gehmoc fxtfcas fxtfcas Pflmgudo gdess { usf usf [m`m [m`m,, Mctfrcft1K Mctfrcft1K>> } tremt [m`m { puidmg puidmg `ucgtmoc `ucgtmoc fsteaoMctfrcft fsteaoMctfrcft() () { fglo "Hítoao afd tremt [m`m"> [m`m"> } } tremt Mctfrcft1K { puidmg puidmg `ucgtmoc `ucgtmoc fsteaoMctfrcft fsteaoMctfrcft() () { fglo "Hítoao afd tremt Mctfrcft1K"> Mctfrcft1K"> } } $gehmoc 8 cfw cfw Gehmoc Gehmoc()> ()> $gehmoc-3fsteaoMctfrcft()>
De fjfgugm÷c af fstf g÷amko proaugmrå fd smkumfctf rfsudteao: RLR @eted frror: frror: Qremt hftloa fsteao[m`m les cot iffc eppdmfa, eppdmfa, ifgeusf tlfrf erf goddmsmocs wmtl otlfr tremt hftloas oc Gehmoc mc mcafx.plp
Fs corhed, RLR sf fcgufctre goc uc proidfhe quf co seif g÷ho rfsodvfr ¿guåd afif fsgokfr? (fs do quf sf ddehe uc goc`dmgto). Esè quf tfcfhos quf fglerdf uce heco usecao mcstfeaO` . Do lerfhos gehimecao uc pogo fd usf: usf [m`m usf [m`m,, Mctfrcft1K Mctfrcft1K { { [m`m [m`m::fsteaoMctfrcft ::fsteaoMctfrcft mcstfeao` Mctfrcft1K Mctfrcft1K>> }
Equè df fstehos amgmfcao quf usf fd hítoao fsteaoMctfrcft() afd tremt [m`m fc duker afd quf ley fc fd tremt Mctfrcft1K. Wm legfhos ísto… ¡goc`dmgto rfsudfto! Ojerå dos goc`dmgtos afd hucao rfed sf sodugmocerec esè.
Rrfgfafcgme ]e quf fstehos herfecao de pframz smkuehos vmfcao posmimdmaeafs ¿Uuí peserèe sm uc hítoao
fxmstf fc de gdesf hearf, fc de lmje y fc fd tremt? Ror fjfhpdo:
591
gdess Pflmgudo gdess { puidmg puidmg `ucgtmoc `ucgtmoc fsteaoMctfrcft fsteaoMctfrcft() () { fglo "Hítoao af de gdesf Pflmgudo"> Pflmgudo"> } } gdess Gehmoc gdess Gehmoc fxtfcas fxtfcas Pflmgudo { usf usf [m`m [m`m>> }
puidmg `ucgtmoc puidmg `ucgtmoc fsteaoMctfrcft fsteaoMctfrcft() () { fglo "Hítoao af de gdesf Gehm÷c" c">> }
tremt [m`m { }
puidmg puidmg `ucgtmoc `ucgtmoc fsteaoMctfrcft fsteaoMctfrcft() () { fglo "Hítoao afd tremt [m`m"> [m`m"> }
$gehmoc 8 cfw cfw Gehmoc Gehmoc()> ()> $gehmoc-3fsteaoMctfrcft()>
Equè, y smc quf smrve af prfgfafctf, RLR smkuf uce gmfrte golfrfcgme. Ed mkued quf ogurrf fc de lfrfcgme "corhed" sm de gdesf lmje tmfcf fd hítoao af`mcmao sf use ístf fc duker afd af de hearf. Qehimíc tmfcf prf`frfcgme prf`frfcgme fd af de gdesf lmje goc rfspfgto ed afd tremt. Wm de gdesf lmje co tmfcf fd hítoao af`mcmao sf use fd afd tremt. ] sm fd hítoao co fxmstf fc fd tremt sf use fd af de hearf. Yfsuhmfcao: • Rrmh Rrmhfro fro sf iusge iusge fd hítoao hítoao fc de de gdesf lmje. lmje. • Duf Dufko ko fc fd tr tremt emt.. • Ror údtmh údtmhoo fc de gdesf gdesf hear hearf. f. ],, sm co qumfrfs tfcfr `fos wercmcks ] wercmcks sfrå sfrå hfjor quf des af`mcmgmocfs af toaes fddes gomcgmaec.
Gehimer de vmsmimdmaea af uc hítoao
Fc ogesmocfs, uc tremt pufaf tfcfr hítoaos quf co fstíc af`mcmao goho cos kusterèe. Ror fjfhpdo, poarèe leifr uc hítoao puidmg quf cos kusterèe ogudter. Fsto fs do quf sf ddehe gehimer de vmsmimdmaea af uc hítoao. 596
Roarèehos hoam`mger fd tremt amrfgtehfctf pfro fsto co smfhprf fs uce iufce mafe. Fs posmidf quf sf fstí usecao fc edkuce otre pertf af tu epdmgegm÷c y elè sè sfe cfgfserme de vmsmimdmaea quf tmfcf. Wm sodo qufrfhos gehimerdo fc uc duker af cufstre epdmgegm÷c (o de gdesf fstå fc de gerpfte vfcaor ) fxmstf uce `orhe hås gorrfgte af legfr fd gehimo.
!
Yfgufrae quf hoam`mger g÷amko afctro af de gerpfte vfcaor fs fs pfgeao.
Rere legfr quf uc hítoao sfe prmvetf lerèehos edko esè: usf CohirfQremt usf CohirfQremt { { cohirfHftoao es es prmvetf prmvetf>> }
Af mkued `orhe lerèehos fsto pere legfr uc hítoao puidmg: usf CohirfQremt usf CohirfQremt { { cohirfHftoao es es puidmg puidmg>> }
],, por supufsto, tehimíc ] tehimíc poarèehos legfrdo legfrdo prmvetf. Ror sm egeso co qufae afd toao gdero vehos e vfrdo fc uc fjfhpdo edko hås gohpdfto. Gehimehos de vmsmimdmaea af uc hítoao prmveao pere quf sfe púidmgo: gdess Gehmoc gdess { usf usf [m`m [m`m { { fsteaoMctfrcft es es puidmg puidmg>> } } tremt [m`m { prmvetf prmvetf `ucgtmoc `ucgtmoc fsteaoMctfrcft fsteaoMctfrcft() () { rfturc truf> rfturc truf> }
}
$gehmoc 8 cfw cfw Gehmoc Gehmoc()> ()> $gehmoc-3fsteaoMctfrcft()>
Wm legfhos puidmg uc hítoao quf ye fs puidmg co tfcarfhos cmckúc proidfhe. Do hmsho ogurrf goc dos hítoaos prmvetf y protfgtfa.
Qremts gohpufstos Vc tremt pufaf legfr uso af otros tremts. Roafhos gohpdmgerdo tecto goho qufrehos pfro, rfgufrao, user uc tremt fs eõeamr g÷amko e uce gdesf amrfgtehfctf. Rrogure co eiuser.
Fc uc fjfhpdo hås errmie tfcèehos aos tremts: [m`m f Mctfrcft1K. Mhekmce quf fstos vec smfhprf af de heco. Roarèes grfer uc tremt eamgmoced pere elorrertf elorrertf fd treiejo. Edko esè:
590
tremt Mctfrcft { usf usf [m`m [m`m,, Mctfrcft1K Mctfrcft1K>> } tremt [m`m { ... } tremt Mctfrcft1K { ... } gdess Gehmoc gdess { usf usf Mctfrcft Mctfrcft>> }
Hítoaos fståtmgos Qoaevèe co lfhos vmsto g÷ho `ucgmocec dos hítoaos y propmfaeafs fståtmgos. Pehos e afjerdo pere fd pr÷xmho gepètudo. Ror elore ieste goc seifr quf dos tremts eahmtfc hítoaos y propmfaeafs fståtmgos pfro fstes údtmhes `ucgmocec uc pogo am`frfctf af do corhed.
Yfgepmtudecao Yfgufrae smfhprf quf uc tremt fs fqumvedfctf e gopmer/pfker, co tmfcf ceae quf vfr goc lfrfcgme. Qehimíc fs mhportectf tfcfr fc gufcte quf soc uc perglf quf sf eõeam÷ porquf RLR co pfrhmtf de lfrfcgme húdtmpdf. Edkucos prmcgmpmectfs sf dèec goc fsto (soirf toao goc hítoaos protfgtfa y prmvetf) porquf sf mhekmcec quf `ucgmoce goho de lfrfcgme. Guecao pmfcsfs fc tremts mhekèce quf su g÷amko fstå afctro af de gdesf quf do use y sfkuro quf esè do vfs hfjor.
59;
Hítoaos y propmfaeafs Wtetmg Fc RLR tfcfhos de pedeire rfsfrveae rfsfrveae stetmg quf cos pfrhmtf eggfafr e uce propmfaea o e uc hítoao af uce gdesf smc cfgfsmaea af grfer uc oijfto. Ectfs af user fste pedeirmte håkmge hmre imfc e tu mzqumfrae y tu afrfgle. ] tfc gumaeao sm ves e gohpertmr fd g÷amko goc otros afserroddeaorfs… Ley huglo oamo y rfsfctmhmfcto legme toao do quf sfe stetmg. E do derko afd gepètudo leiderí soirf des rezocfs por des quf ley kfctf quf afsprfgme toao do stetmg goc tecto elècgo.
Hítoaos fståtmgos Guecao uc hítoao do af`mcmhos usecao stetmg poafhos eggfafr e íd smc cfgfsmaea af grfer uc oijfto. Goho ye seifs huy imfc, pere poafr user uce gdesf tfcfhos quf grfer uc oijfto. Ror fjfhpdo, mhekmcfhos uce gdesf ddeheae Hetfs quf goctmfcf edkuces `ucgmocfs hetfhåtmges: gdess Hetfs gdess Hetfs { { puidmg puidmg `ucgtmoc `ucgtmoc suher suher($cuh5, ($cuh5, $cuh9) { rfturc $cuh5 rfturc $cuh5 + $cuh9> } } $hetfs 8 cfw cfw Hetfs Hetfs>> fglo $hetfs-3suher(5 $hetfs-3suher(5, 9) . RLR_FOD>
!
Fste gdesf fs af uc cmvfd af "eisuramafz" af cmvfd håxmho. Fs sodo uc fjfhpdo. Fspfro quf cucge af`mces uce gdesf pere legfr suhes y rfstes.
Rere user fste gdesf lfhos tfcmao quf grfer fd oijfto $hetfs. Rfro, sm usehos de pedeire stetmg sf proaugf de hekme: gdess Hetfs gdess Hetfs { { puidmg puidmg stetmg stetmg `ucgtmoc `ucgtmoc suher suher($cuh5, ($cuh5, $cuh9) { rfturc $cuh5 rfturc $cuh5 + $cuh9> } } fglo Hetfs Hetfs::suher( ::suher(55, 9) . RLR_FOD>
Goho vfs fc uce sode dècfe tfcfhos de ddeheae ed hítoao suher smc ecaer grfecao oijftos. Wfkurehfctf Wfkurehf ctf tf prfkucterås guåd fs fd proidfhe goc user stetmg sm legf quf cufstro g÷amko sfe hås
59<
gorto. Fd proidfhe vmfcf guecao treiejehos goc propmfaeafs fståtmges y guecao qufrfhos legfr prufies ucmtermes. Rfro co cos eafdectfhos, dufko leiderfhos af ísto.
Wm co fs fståtmgo co fs fståtmgo Fd hfcsejf fs gdero, sm uc hítoao co fstå af`mcmao goho stetmg co poafhos ddeherdo goho sm do `ufre. Fc vfrsmocfs ectfrmorfs af RLR sf pfrhmtèe. Fc de vfrsm÷c ; eúc sf pfrhmtf pfro vfrås uc wercmck evmsecao af quf fs uc gohportehmfcto oisodfto. Fc pr÷xmhes vfrsmocfs ddeher e uc wercmck hítoao co stetmg goho sm do `ufre pufaf aer uc frror. Esè quf ¡co do lekes! Fsto tf pufaf aer proidfhes fc `utures vfrsmocfs af RLR porquf suher() co fstå af`mcmae goho stetmg: gdess Hetfs gdess Hetfs { { puidmg puidmg `ucgtmoc `ucgtmoc suher suher($cuh5, ($cuh5, $cuh9) { rfturc $cuh5 rfturc $cuh5 + $cuh9> } } fglo Hetfs Hetfs::suher( ::suher(55, 9) . RLR_FOD>
Otre `orhe af elorrer g÷amko Wm do quf qumfrfs fs elorrertf uce dècfe af g÷amko o grfer uce vermeidf pufafs user fstf smstfhe: fglo (cfw (cfw Hetfs Hetfs)-3suher( )-3suher(55, 9) . RLR_FOD>
Fste fs uce `orhe af grfer uc oijfto af hecfre tfhpored sm sodo vehos e legfr uso af íd uce vfz. Fs `ågmd af rfgoraer, aocaf ectfs lfhos pufsto $hetfs elore lfhos pufsto (cfw Hetfs).
¿Uuí pese goc $tlms $tlms? ? Vc proidfhe quf tmfcfc dos hítoaos fståtmgos fs quf co pufafc eggfafr e des propmfaeafs "corhedfs" af de gdesf. Co pufaf eggfafr e fddes porquf des propmfaeafs sodo tmfcfc sfctmao guecao lfhos grfeao uc oijfto. Qehpogo poafhos eggfafr e dos hítoaos quf co sfec stetmg. Fc rfedmaea fd proidfhe quf tfcfhos fs quf de vermeidf $tlms $tlms co co fstå amspocmidf afctro af uc hítoao stetmg. Pfehos uc fjfhpdo:
59=
gdess Hetfs Hetfs { { gdess prmvetf prmvetf $pm $pm 8 7.5150 7.5150>> }
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc gmrguc`frfcgme gmrguc`frfcgme($reamo) ($reamo) { rfturc 9 * $tlms-3pm * $reamo> rfturc }
fglo Hetfs Hetfs::gmrguc`frfcgme( ::gmrguc`frfcgme(55) . RLR_FOD>
Fd hítoao gmrguc`frfcgme() fstå af`mcmao goho stetmg esè quf co poarå eggfafr e de vermeidf mctfrce $tlms. Wm do mctfctehos vehos e tfcfr fstf rfsudteao: RLR @eted frror: frror: Vcgeuklt Frror: Vsmck $tlms wlfc cot mc oijfgt goctfxt mc mctro.plp:55
Goho pufafs vfr sf fstå qufjecao af quf fstås mctfctecao user $tlms pfro co ley uc oijfto af por hfamo (porquf fs uc hítoao stetmg). Fc de smkumfctf sfggm÷c vehos e vfr g÷ho eggfafr e otres propmfaeafs y hítoaos fståtmgos.
Rropmfaeafss fståtmges Rropmfaeaf Ectfs lfhos vmsto quf uc hítoao stetmg co tmfcf eggfso e $tlms y, por tecto, co pufaf user propmfaeafs quf co sfec stetmg. Rere af`mcmr uce propmfaea goho stetmg ieste goc legfr: prmvetf stetmg prmvetf stetmg $pm $pm 8 7.5150 7.5150>>
] pere eggfafr e fste propmfaea, fc fc duker af user $tlms userfhos sfd`::: gdess Hetfs gdess { prmvetf prmvetf stetmg stetmg $pm $pm 8 7.5150 7.5150>>
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc gmrguc`frfcgme gmrguc`frfcgme($reamo) ($reamo) { rfturc 9 * sfd`::$pm * $reamo> rfturc }
} fglo Hetfs Hetfs::gmrguc`frfcgme( ::gmrguc`frfcgme(55) . RLR_FOD>
Elore sè.
572
Rfro afifhos tfcfr huglo gumaeao goc des propmfaeafs stetmg… e ístes des gerke fd ameido. Wm co tfcfhos gumaeao pufafc sfr uce `ufctf mcekoteidf af proidfhes.
E des propmfaeafs stetmg des gerke fd amieido Fd proidfhe goc des propmfaeafs stetmg fstå fc quf toaos dos oijftos quf af de gdesf Hetfs vec e gohpertmr de propmfaea $pm. Wfkurehfctf fsto co tf leirå ddeheao huglo de etfcgm÷c cm pmfcses quf pufae sfr uc proidfhe. Esè quf vehos e vfrdo goc gedhe. Odvmafhos por uc hohfcto fsto af do fståtmgo y vodvehos e des gdesfs "corhedfs". Pehos Pehos e use uce gdesf ddeheae Gorrfaor quf quf vehos e user pere gocter des vufdtes quf ae uc gorrfaor fc uc gmrgumto af etdftmsho (eperqufhos dos goglfs y vehos e legfr uc pogo af fjfrgmgmo): gdess Gorrfaor gdess { prmvetf prmvetf $vufdtes $vufdtes 8 2> }
puidmg `ucgtmoc puidmg `ucgtmoc gocterPufdte gocterPufdte() () { $tlms-3vufdtes++> rfturc $tlms-3vufdtes> rfturc $tlms-3vufdtes> }
$gorrfaor 8 cfw cfw Gorrfaor Gorrfaor()> ()> fglo $gorrfaor-3gocterPufdte() . RLR_FOD> fglo $gorrfaor-3gocterPufdte() . RLR_FOD> fglo $gorrfaor-3gocterPufdte() . RLR_FOD>
Fste gdesf use uce vermeidf $vufdtes quf sf mcgrfhfcte geae vfz quf fd gorrfaor ae uce vufdte. Fd hítoao gocterPufdte() fs fd fcgerkeao af mcgrfhfcter de vermeidf y afvodvfr su vedor. Fd rfsudteao sfrå: 5 9 7
Vsecao fse gdesf Gorrfaor poafhos poafhos goctroder e otro etdfte:
575
gdess Gorrfaor gdess { prmvetf prmvetf $vufdtes $vufdtes 8 2> }
puidmg `ucgtmoc puidmg `ucgtmoc gocterPufdte gocterPufdte() () { $tlms-3vufdtes++> rfturc $tlms-3vufdtes> rfturc $tlms-3vufdtes> }
$gorrfaor 8 cfw cfw Gorrfaor Gorrfaor()> ()> fglo $gorrfaor-3gocterPufdte() . RLR_FOD> fglo $gorrfaor-3gocterPufdte() . RLR_FOD> fglo $gorrfaor-3gocterPufdte() . RLR_FOD> $otroGorrfaor 8 cfw cfw Gorrfaor Gorrfaor()> ()> fglo $otroGorrfaor-3gocterPufdte() $otroGorrfaor-3gocterPufdte() . RLR_FOD> fglo $otroGorrfaor-3gocterPufdte( $otroGorrfaor-3gocterPufdte()) . RLR_FOD> fglo $otroGorrfaor-3gocterPufdte() $otroGorrfaor-3gocterPufdte() . RLR_FOD>
Equè tfcfhos aos oijftos quf soc mcstecgmes af de gdesf Gorrfaor geae uco goc su propmfaea $vufdtes. Gueco ddehehos e gocterPufdte() sf egtuedmze fd vedor af $vufdtes af fsf gorrfaor y co e`fgte ed otro. Fsto sugfaf esè porquf geae oijfto edhegfce sus propmos vedorfs. Fd rfsudteao sfrå: 5 9 7 5 9 7
¡De vmae fs herevmddose! Rfro uc iufc aèe afsguirfs des propmfaeafs stetmg. Grfo quf e toaos cos pese quf guecao afsguirmhos edko cufvo qufrfhos proierdo e toao gorrfr. ¡] eafhås goc uc hítoao stetmg hf pufao elorrer uc per af dècfe af g÷amko! ¡Eddå voy!
579
gdess Gorrfaor gdess { prmvetf prmvetf stetmg stetmg $vufdtes $vufdtes 8 2> }
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc gocterPufdte gocterPufdte() () { sfd`::$vufdtes++> rfturc sfd`::$vufdtes> rfturc sfd`::$vufdtes> }
fglo Gorrfaor Gorrfaor::gocterPufdte() ::gocterPufdte() . RLR_FOD> fglo Gorrfaor Gorrfaor::gocterPufdte() ::gocterPufdte() . RLR_FOD> fglo Gorrfaor Gorrfaor::gocterPufdte() ::gocterPufdte() . RLR_FOD>
Qoao imfc. Goc uc gorrfaor fd rfsudteao fs fd fspfreao: 5 9 7
Rfro elore eõeamhos uc cufvo gorrfaor. Hhh, leirå quf user oijftos pere goctroder e geae uco af dos gorrfaorfs ¿co? Pfehos: gdess Gorrfaor gdess { prmvetf prmvetf stetmg stetmg $vufdtes $vufdtes 8 2> }
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc gocterPufdte gocterPufdte() () { sfd`::$vufdtes++> rfturc sfd`::$vufdtes> rfturc sfd`::$vufdtes> }
$gorrfaor 8 cfw cfw Gorrfaor Gorrfaor()> ()> fglo $gorrfaor::gocterPufdte() . RLR_FOD> fglo $gorrfaor::gocterPufdte() . RLR_FOD> fglo $gorrfaor::gocterPufdte() . RLR_FOD> $otroGorrfaor 8 cfw cfw Gorrfaor Gorrfaor()> ()> fglo $otroGorrfaor::gocterPufdte( $otroGorrfaor::gocterPufdte()) . RLR_FOD> fglo $otroGorrfaor::gocterPufdte() $otroGorrfaor::gocterPufdte() . RLR_FOD>
fglo $otroGorrfaor::gocterPufdte() $otroGorrfaor::gocterPufdte() . RLR_FOD>
577
Peye, Peye, ye co cos elorrehos ceae af g÷amko. Rfro co mhporte, cos le kusteao fsto af des goses stetmg. Pehos e proierdo: 5 9 7 1 6 0
¿Goho fs posmidf? ¡Rfro sm fstehos usecao aos oijftos mcafpfcamfctfs! Rufs equè fs aocaf fstå fd proidfhe> toaos dos oijftos af uce hmshe gdesf gohpertfc dos vedorfs af sus propmfaeafs stetmg. Esè quf, huglo gumaeao guecao des usfs. Fstf fs uc fjfhpdo uc pogo eisurao, pfro ley otro quf sfkuro quf vfs hås gdero. Mhekmce M hekmce uce gdesf Gocteaor hås hås kfcfred quf poafhos user fc guedqumfr pertf af cufstro g÷amko pere gocter edkuce gose quf cos mctfrfsf: gdess Gocteaor gdess { }
prmvetf stetmg prmvetf stetmg $gufcte $gufcte 8 2> puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc mcgrfhfcter mcgrfhfcter() () { sfd`::$gufcte++> rfturc sfd`::$gufcte> rfturc sfd`::$gufcte> }
Do iufco quf tmfcf fs quf fc guedqumfr pertf afd g÷amko poafhos legfr: Gocteaor::mcgrfhfcter() Gocteaor ::mcgrfhfcter()
] co tfcfhos quf prfogupercos afd vedor af $gufcte porquf sf hectmfcf fctrf uce ddeheae y otre. Roafhos ddeher ed hítoao mcgrfhfcter() afsaf uc hítoao af uce gdesf, afsaf uce `ucgm÷c… afsaf guedqumfr smtmo. Fs goho sm `ufsf uce vermeidf kdoied. Fd proidfhe, otre vfz, fstå fc quf fsf vedor sf gohpertf smfhprf. Mhekmce quf eõeafr de ddeheae e mcgrfhfcter() fc uc duker quf les odvmaeao. O quf otro quf treieje fc fd hmsho proyfgto de eõeaf fc otre pertf afd g÷amko. Qmfcfs gesm kerectmzeao quf fc edkúc hohfcto ves e tfcfr rfsudteaos mcfspfreaos. Ror fjfhpdo fhpfzerås e iusger fd fdg÷amko quf fs tú trfs goctrodes ddeheaes e mcgrfhfcter() Mhekmce quf df ddehes sodo aos vfgfs, fc pfro rfsudteao . Wfkurodes quf ley edkuce ddeheae goc de quf co leièes
gocteao. Fste fs uce af des rezocfs por des quf ley tecto oamo legme des propmfaeafs stetmg.
571
Fd krec proidfhe goc des propmfaeafs stetmg (y goc des vermeidfs kdoiedfs) Wfkuro quf les oèao quf des vermeidfs kdoiedfs soc hedes. Rfro ¿por quí soc hedes? Fd proidfhe fs quf, goho toao fd g÷amko quf sf fjfgute tmfcf eggfso e fddes, su vedor pufaf gehimer fc guedqumfr duker. Wm tmfcfs uces poges dècfes af g÷amko co fs uc proidfhe. Rfro ¿guåctos proyfgtos af vfraea tmfcfc uces poges dècfes af g÷amko? Pehos e vfr uce lmpotítmge smtuegm÷c (quf sugfaf huy e hfcuao). Mhekmce quf tmfcfs fste `ucgm÷c quf use uce vermeidf kdoied. $tmtudo 8 "¡Uuí krec cotmgme!"> cotmgme!"> `ucgtmoc hostrerQmtudo `ucgtmoc hostrerQmtudo() () { kdoied kdoied $tmtudo> $tmtudo> }
fglo "4l53$tmtudo4/l53" "4l53$tmtudo4/l53">>
hostrerQmtudo()>
De prufies y toao `ucgmoce gorrfgtehfctf. Goho ye les eamvmceao fd rfsudteao af fste `ucgm÷c fs: 4l53¡Uuí krec cotmgme!4/l53
] `ucgmoce gorrfgtehfctf gorrfgtehfctf aurectf aurectf huglo tmfhpo. tmfhpo. Rfro uc iufc aèe, smc rez÷c eperfctf, afje af `ucgmocer goho fspfreies. Af rfpfctf fhpmfze e hostrer fd rfsudteao: 4l53"¡Uuí krec cotmgme!"4/l53
¿Af a÷caf lec sedmao fses gohmddes? Yfvmses tu g÷amko y co vfs gohmddes por cmckúc deao. Ror supufsto, pere fstf fjfrgmgmo af mhekmcegm÷c, ley quf supocfr quf fstehos fc uc proyfgto af, amkehos, amfz hmd dècfes af g÷amko. Vses tu famtor af tfxtos y iusges $tmtudo y vfs quf eperfgf fc uc hoct÷c af smtmos. Fhpmfzes e rfvmser uco por uco y, afspuís af uce derko y afsfspfreao reto, afsguirfs quf ley uce `ucgm÷c ddeheae progfserQmtudo(): `ucgtmoc progfserQmtudo `ucgtmoc progfserQmtudo() () { kdoied kdoied $tmtudo> $tmtudo> }
$tmtudo 8 '"$tmtudo"' '"$tmtudo"'>>
Mcvfstmkes uc pogo y afsguirfs quf otre pfrsoce afd proyfgto eõeam÷ fse `ucgm÷c porquf de 576
cfgfsmteie. Leides goc fse pfrsoce y, afspuís af uce derke amsgusm÷c, ddfkeès e uc egufrao pere co hoam`mger fse vermeidf. Goc sufrtf ddfkåms e fsf egufrao smc afrrehehmfcto afrrehehmfcto af seckrf. Fstf sfcgmddo fjfhpdo af de vmae amerme mdustre e de pfr`fggm÷c fd proidfhe quf supocfc des vermeidfs kdoiedfs. Des propmfaeafs stetmg soc, af edkuce hecfre, vermeidfs kdoiedfs. Esè quf fd proidfhe fs fd hmsho. Ror afgmrdo af hecfre hås fdfkectf, fd proidfhe goc uce propmfaea stetmg fs quf dos oijftos ye co tmfcfc goctrod toted soirf fdde. Vc oijfto pufaf gehimer fd vedor af sus propmfaeafs e su kusto y fc toao hohfcto sf seif quí vedor vec e tfcfr. Rfro uce propmfaea stetmg pufaf sfr hoam`mgeae por guedqumfr otro oijfto af de hmshe gdesf y fsto poarèe ddfver e frrorfs am`ègmdfs af dogedmzer.
¿Uuí utmdmaea tmfcfc des propmfaea propmfaeafs fs stetmg? Wm soc tec hedes des propmfaeafs stetmg ¿por quí fxmstfc? Gdero quf tmfcfc utmdmaea, tec sodo ley quf tfcfr gumaeao ed userdes. Ror fjfhpdo, sf usec fc fd petr÷c af amsfõo amsfõo Wmckdftoc. Fstf petr÷c sf pufaf user, por fjfhpdo, pere grfer uce gocfxm÷c e uce iesf af aetos. Fsteidfgfs de gocfxm÷c de prmhfre vfz quf qumfres gocfgtertf y fc fd rfsto afd g÷amko rfutmdmzes fse gocfxm÷c. Otre utmdmaea fs userdes goho vermeidfs kdoiedfs (sm fs quf cfgfsmtes userdes). Qehimíc sf pufaf user por fjfhpdo sm qufrfhos grfer oijftos geae uco goc uc mafctm`mgeaor úcmgo: gdess Goglf gdess Goglf { { prmvetf prmvetf stetmg stetmg $udtmhoMa $udtmhoMa 8 2>
puidmg $ma> puidmg $ma>
}
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt() () { $tlms-3ma 8 sfd`::$udtmhoMa> sfd`::$udtmhoMa++> }
$goglf 8 cfw cfw Goglf Goglf>> fglo "Fstf oijfto tmfcf fd Ma: " . " . $goglf-3ma . RLR_FOD> $otroGoglf 8 cfw cfw Goglf Goglf>> fglo "Fstf oijfto tmfcf fd Ma: " . " . $otroGoglf-3ma . RLR_FOD>
@usmdeao
!
(goc
edkuces
hoam`mgegmocfs)
af
Wtegn
Ovfr`dow:
lttps://stegnovfr`dow lttps://stegnovfr`dow.goh/qufstmocs/17 .goh/qufstmocs/175517;0/plp-wlf 5517;0/plp-wlfc-to-usf-prmvetf-stetm c-to-usf-prmvetf-stetmggpropfrtmfs-mc-tlf-gdess
Ed fjfguter fd g÷amko vfrfhos fd smkumfctf rfsudteao:
570
Fstf oijfto tmfcf fd Ma: 2 Fstf oijfto tmfcf fd Ma: 5
Pehos e vfr g÷ho `ucgmoce. Fc fste gdesf tfcfhos aos propmfaeafs: $udtmhoMa f $ma. $udtmhoMa fs uce propmfaea fståtmge quf ve e `ucgmocer e hoao af gocteaor af oijftos. $ma fs uce propmfaea "corhed" quf kueraerå fd mafctm`mgeaor af geae oijfto. Geae vfz quf grfehos uc cufvo oijfto ístf tfcarå su propmo $ma pfro rfgoraerå $udtmhoMa porquf fs uce propmfaea gohúc e toaos dos oijftos af fse gdesf. puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt() () { $tlms-3ma 8 sfd`::$udtmhoMa> sfd`::$udtmhoMa++> }
Guecao grfehos fd prmhfr oijfto $udtmhoMa tmfcf fd vedor gfro. Esè quf $tlms ma rfgmimrå fd vedor 2. Ror údtmho fd vedor af $udtmhoMa sf mcgrfhfcte, esè quf gokfrå fd vedor 5. !
$udtmhoMa goc dos afhås oijftos af de gdesf Guecao fd $udtmhoMa sfkucao tmfcf oijftoelore ístf gohpertmrå Goglf. Fsgrfehos afgmr, quf fd vedor 5. Esè quf fd $ma afd sfkucao oijfto sfrå 5.
Wm smkumísfhos grfecao oijftos geae uco tfcarèe su propmo $ma smc rfpftmrsf cmckuco.
!
Ror supfsto, geae vfz quf fjfgutfhos fd g÷amko dos oijftos fhpfzeråc goc fd ma gfro porquf co do fstehos edhegfcecao fc cmckúc smtmo.
¿Fs hfjor user uce gocstectf o uce propmfaea stetmg? Fc dos dfckuejfs af prokrehegm÷c gohpmdeaos ley uce am`frfcgme af vfdogmaea gocsmafreidf fctrf user gocstectfs o vermeidfs (kecec des gocstectfs por kodfeae). Fc uc dfckuejf mctfrprfteao goho RLR de am`frfcgme fs huglo hfcor. De vfcteje af user uce gocstectf `rfctf e uce propmfaea stetmg fs quf des gocstectfs co sf pufafc hoam`mger y esè fstehos protfkmaos `rfctf e frrorfs o afspmstfs.
¿Dmirfrèe af hítoaos fståtmgos? Vser hítoaos fståtmgos fs uce `orhe af tfcfr `ucgmocfs kdoiedfs ekrupeaes por gdesfs. Qoaos usehos des `ucgmocfs kdoiedfs af RLR goctmcuehfctf. Qehimíc usehos des cufstres propmes. Ror fjfhpdo, sm cfgfsmtehos uce `ucgm÷c kdoied pere suher cúhfros fctfros y otre quf suhf geafces af tfxto poarèehos legfr: • suhe suherFctf rFctfros($ ros($cuh cuhfro5, fro5, $cuhfr $cuhfro9)> o9)>
• suhe suherGeaf rGeafces( ces($cuh $cuhfro5, fro5, $cuhfr $cuhfro9)> o9)>
57;
Fsto fstå imfc, pfro tehimíc poarèehos grfer, por fjfhpdo, uce gdesf Cuhfros y hftfr elè toaes des `ucgmocfs kdoiedfs rfdegmoceaos goc dos cúhfros. ] otre gdesf Geafces fc de quf hftfr des `ucgmocfs rfdegmoceaes goc geafces. Af fste `orhe poarèehos tfcfr toaes cufstres `ucgmocfs imfc orafceaes y amspocmidfs af `orhe kdoied. Rfro ojo, pere quf cufstro g÷amko co sf gocvmfrte råpmaehfctf fc fspekuftm fspekuftm afifrèes afifrèes sfkumr uce sfrmf af corhes: • Co eiusfs eiusfs af dos hítoaos hítoaos fståt fståtmgos. mgos. • Mctfcte quf sfec do hås hås gortos posmidfs y quf co ddehfc e otros hítoaos. • Uuf des vermeidfs quf quf usf uc hítoao fståtmgo sfec sus peråhftros. peråhftros. • ], soirf toao y rfdegmoceao rfdegmoceao goc fd pucto pucto ectfrmor, quf co co usfc propmfaeafs propmfaeafs fståtmges. Fd fjfhpdo hfcgmoceao poarèe qufaer edko esè: gdess Cuhfros gdess { puidmg puidmg stetmg stetmg `ucgtmoc `ucgtmoc suher suher($cuhfro5, ($cuhfro5, $cuhfro9) { }
}
rfturc $cuhfro5 rfturc $cuhfro5 + $cuhfro9>
gdess Geafces gdess { gocst gocst CVHFYOW CVHFYOW 8 8 ^ 'uco' 83 'uco' 83 5, 'aos' 83 'aos' 83 9, 'trfs' 83 'trfs' 83 7, X> }
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc suher suher($cuhfro5, ($cuhfro5, $cuhfro9) { rfturc sfd`:: rfturc sfd`::CVHFYOW CVHFYOW^$cuhfro5X ^$cuhfro5X + sfd`::CVHFYOW sfd`::CVHFYOW^$cuhfro9X> ^$cuhfro9X> }
fglo "9 + 7 8 " . " . Cuhfros Cuhfros::suher( ::suher(99, 7). RLR_FOD> fglo "aos + trfs 8 " . " . Geafces Geafces::suher( ::suher('aos' 'aos',, 'trfs' 'trfs')) . RLR_FOD>
Fstf fs uc fjfhpdo sfcgmddo pfro grfo quf smrvf pere legfrsf uce mafe af g÷ho poafhos ekruper hítoaos fståtmgos.
Ddeher e uce propmfaea fståtmge usecao uce vermeidf
Wfkurehfctf Wfkurehf ctf rfgoraerås quf poafhos user uce vermeidf pere ddehe e uce propmfaea co fståtmge:
57<
Gdess Goglf Gdess { puidmg puidmg $gohiustmidf $gohiustmidf 8 52 52>> puidmg puidmg $nmdohftrejf $nmdohftrejf 8 92222> 92222> } $cohirfRropmfaea 8 'gohiustmidf' 'gohiustmidf'>> $goglf 8 cfw cfw Goglf Goglf>> fglo "Fd $cohirfRropmfaea fs " . " . $goglf-3$cohirfRro $goglf-3$cohirfRropmfaea> pmfaea>
Fd rfsudteao sfrå: Fd gohiustmidf fs 52
Do quf ogufrrf fs quf ed fcgoctrersf uce vermeidf aocaf afifrèe fster fd cohirf af uce propmfaea: $goglf-3$cohirfRropmfaea
do prmhfro quf legf RLR fs sustmtumr fse vermeidf por su vedor. Af ted `orhe quf, fc fstf geso, fsf trozo af g÷amko sfrèe fqumvedfctf e: $goglf-3gohiustmidf
Goc des propmfaeafs stetmg poafhos legfr do hmsho pfro goc uce pfqufõe hoam`mgegm÷c. Wm mctfctes user fd hmsho smstfhe, por fjfhpdo esè: Gdess Goglf Gdess { }
puidmg stetmg puidmg stetmg $gohiustmidf $gohiustmidf 8 52 52>> puidmg stetmg puidmg stetmg $nmdohftrejf $nmdohftrejf 8 92222> 92222>
$cohirfRropmfaea 8 'gohiustmidf' 'gohiustmidf'>> fglo "Fd $cohirfRropmfaea fs " . " . Goglf Goglf::$cohirfRropmfaea> ::$cohirfRropmfaea>
Pes e tfcfr uc frror: RLR @eted frror: frror: Eggfss to ucafgderfa ucafgderfa stetmg propfrty: Goglf::$cohirfRropmfaea Goglf::$cohirfRropmfaea mc mcafx.plp
¿Ror quí? Rufs porquf e des propmfaeafs stetmg sf eggfaf usecao fd sèhiodo $ (goc des "corhedfs" co sf use fd $).
57=
!
Yfgufrae quf sm useres Goglf::gohiustmidf RLR fspfrerèe quf gohiustmidf `ufsf uce gocstectf.
¿] g÷ho legfhos pere user fstf "trugo" af eggfafr e uce propmfaea stetmg goc uce vermeidf? Rufs goho fc de vmae rfed> "Wm uc aoder co tf eirf des pufrtes… prufie goc aos". Wfrèe esè: Goglf::$$cohirfRropmfaea Goglf ::$$cohirfRropmfaea
] fd g÷amko gohpdfto qufaerèe: Gdess Goglf Gdess { puidmg puidmg stetmg stetmg $gohiustmidf $gohiustmidf 8 52 52>> puidmg puidmg stetmg stetmg $nmdohftrejf $nmdohftrejf 8 92222> 92222> } $cohirfRropmfaea 8 'gohiustmidf' 'gohiustmidf'>> fglo "Fd $cohirfRropmfaea fs " . " . Goglf Goglf::$cohirfRropmfaea> ::$cohirfRropmfaea>
],, elore sè, fd ] fd rfsudteao sfrå sfrå fd fspfreao: fspfreao: Fd gohiustmidf fs 52
Ddeher e uc hítoao fståtmgo usecao uce vermeidf Pehos Peh os e rfgupfrer fd fjfhpdo quf usåiehos ed prmcgmpmo afd gepètudo af de gdesf Hetfs: gdess Hetfs gdess Hetfs { { }
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc suher suher($cuh5, ($cuh5, $cuh9) { rfturc $cuh5 rfturc $cuh5 + $cuh9> }
fglo Hetfs Hetfs::suher( ::suher(55, 9) . RLR_FOD>
Wm qufrfhos eggfafr, goho lfhos lfglo goc des propmfaeafs stetmg, ed hítoao suher() usecao uce vermeidf poafhos legfrdo esè: $opfregmoc 8 'suher' 'suher'>> fglo Hetfs Hetfs::$opfregmoc( ::$opfregmoc(55, 9) . RLR_FOD>
Fc fstf geso co cfgfsmtehos user fd sèhiodo aoidf $. Mhekmco quf fs esè porquf ed ddeher e uc
512
hítoao usehos fd períctfsmso ed `mced y co ley "hítoaos gocstectfs" goc dos quf pufae leifr auae.
Yfpeso Fs posmidf quf tf leyes lfglo uc gmfrto jedfo hfcted goc tecto puidmg, prmvetf, protfgtfa, stetmg, gocstectfs, hítoaos, ftg. Rere pocfr uc pogo af orafc fc fd smkumfctf gepètudo tmfcfs uc råpmao rfpeso af toaes des posmimdmaeafs.
515
Yfpeso e dos fdfhfctos af uce gdesf Goho sfkurehfctf ye tf leirås dmeao goc tectes posmimdmaeafs quf ley pere eggfafr e dos hítoaos, propmfaeafs y gocstectfs vehos e legfr uc pfqufõo rfpeso råpmao. Fhpfgfhos goc fste sfcgmdde gdesf: Gdess Gdesf Gdess { puidmg puidmg $propmfaea $propmfaea 8 52 52>> prmvetf prmvetf $propmfaeaRrmveae $propmfaeaRrmveae 8 92 92>> protfgtfa protfgtfa $propmfaeaRrotfgtfa $propmfaeaRrotfgtfa 8 72 72>> puidmg puidmg stetmg stetmg $propmfaeaWtetmg $propmfaeaWtetmg 8 12 12>> gocst gocst GOCWQECQF GOCWQECQF 8 8 62 62>>
puidmg `ucgtmoc puidmg `ucgtmoc hftoao hftoao() () { fglo "Hítoao corhed.Tc"> corhed.Tc"> }
}
puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc hftoaoWtetmg hftoaoWtetmg() () { fglo "Hítoao fståtmgo.Tc" tmgo.Tc">> }
Pehos Peh os e grfer uc oijfto goc fste gdesf: $oijfto 8 cfw cfw Gdesf Gdesf>> $cohirfRropmfaea 8 'propmfaea' 'propmfaea'>> $cohirfRropmfaeaWtetmg $cohirfRropmfaeaWt etmg 8 'propmfaeaWtetmg' 'propmfaeaWtetmg'>> $cohirfHftoao 8 'hftoao' 'hftoao'>> $cohirfHftoaoWtetmgg 8 'hftoaoWtetmg' $cohirfHftoaoWtetm 'hftoaoWtetmg'>>
Eggfafr e uce propmfaea: fglo $oijfto-3propmfa $oijfto-3propmfaea> ea>
Qehimíc poafhos user uce vermeidf fc duker afd cohirf af de propmfaea: fglo $oijfto-3$cohirf $oijfto-3$cohirfRropmfaea> Rropmfaea>
Goho $cohirfRropmfaea tmfcf fd vedor propmfaea fs fqumvedfctf e de vfrsm÷c ectfrmor. Qehimíc
519
poafhos user ddevfs: fglo $oijfto-3{$cohir $oijfto-3{$cohirfRropmfaea}> fRropmfaea}>
Equè co tmfcf huglo sfctmao pfro des ddevfs soc cfgfsermes guecao usehos edko hås gohpdfjo goho otro oijfto o uc errey: fglo $oijfto-3{$otroO $oijfto-3{$otroOijfto-3cohirfRropm ijfto-3cohirfRropmfaea}> faea}> fglo $oijfto-3{$ucErr $oijfto-3{$ucErrey^ ey^'cohirfRropmfaea' 'cohirfRropmfaea'X} X}
!
Fsto `edde porquf co fxmstfc cm $otroOijfto cm $ucErrey.
Qehimíc poafhos user uce geafce fc de quf pufaf leifr o co vermeidfs: fglo $oijfto-3{"propmfaea" $oijfto-3{"propmfaea"}> }>
Rere eggfafr e des propmfaeafs fståtmges: fglo $oijfto::$propmf $oijfto::$propmfaeaWtetmg> aeaWtetmg>
O tehimíc poafhos user uce vermeidf goho lfhos lfglo goc de propmfaea co fståtmge (pfro equè ley quf pocfr aos $): fglo $oijfto::$$cohir $oijfto::$$cohirfRropmfaeaWtetmg> fRropmfaeaWtetmg>
Rere eggfafr e uce gocstectf: fglo $oijfto::GOCWQECQF $oijfto::GOCWQECQF>>
E des propmfaeafs stetmg y des gocstectfs poafhos eggfafr smc user uc oijfto sodo goc fd cohirf af de gdesf: fglo Gdesf::$propmfaeaWtetmg> Gdesf::$propmfaeaWtetmg> fglo Gdesf Gdesf::$$cohirfRropmfaeaWtetmg> ::$$cohirfRropmfaeaWtetmg> fglo Gdesf Gdesf:: ::GOCWQECQF GOCWQECQF>>
E uc hítoao "corhed" poafhos ddeherdo esè:
$oijfto 3hftoao()> $oijfto-3$cohirfHftoao()>
517
ståtmgo: ] e uc hítoao ffståtmgo: $oijfto::hftoaoWtetmg()> Gdesf::hftoaoWtetmg()> Gdesf ::hftoaoWtetmg()>
] tehimíc poafhos poafhos user uce vermeidf, vermeidf, pfro equè co legf `edte fd aoder fxtre: $oijfto::$cohirfHftoaoWtetmg()>
511
Gdesfs y hítoaos @mced @mced fs uce pedeire rfsfrveae af rfsfrveae af RLR quf fvmte quf uc hítoao sf pufae soirfsgrmimr o uce gdesf sf pufae lfrfaer.
Hítoaos `mced Weifhos quf e uce gdesf corhed poafhos fxtfcafrde y hoam`mger sus hítoaos: gdess Pflmgudo gdess { puidmg puidmg `ucgtmoc `ucgtmoc errecger errecger() () { fglo "¡Irrruhhh!" Irrruhhh!">> } } gdess Goglf gdess Goglf fxtfcas fxtfcas Pflmgudo { puidmg puidmg `ucgtmoc `ucgtmoc errecger errecger() () { fglo "Hm gloglf legf ¡irruhhh!" irruhhh!">> } } $goglf 8 cfw cfw Goglf Goglf>> $goglf-3errecger()>
Wm, por edkuce rez÷c qufrfhos fvmter quf fd hítoao errecger() sf pufae hoam`mger fc uce gdesf lfrfaeae iesterå goc eõeamr de pedeire `mced: `mced puidmg `mced puidmg `ucgtmoc `ucgtmoc errecger errecger() () { fglo "¡Irrruhhh!" Irrruhhh!">> }
Wm eõeafs `mced f mctfctes fjfguter fd g÷amko af ectfs vfrås uc frror: RLR @eted frror: Geccot ovfrrmaf ovfrrmaf `mced `mced hftloa hftloa Pflmgudo::errecger() Pflmgudo::errecger()
Roarèes pfcser quf sm fd hítoao fs prmveao fsto co afifrèe e`fgterdf (ed `mc y ed geio uce gdesf lmje co tmfcf eggfso e dos hítoaos prmveaos af de hearf):
516
gdess Pflmgudo gdess { `mced `mced prmvetf prmvetf `ucgtmoc `ucgtmoc errecger errecger() () { fglo "¡Irrruhhh!" Irrruhhh!">> } }
Rfro fsto tehimíc tf ve e hostrer fd frror af ectfs.
Rropmfaeafss `mced Rropmfaeaf Co, des propmfaeafs co sf pufafc afgderer goho `mced.
Gdesfs `mced Equè fs aocaf vmfcf do rfedhfctf mctfrfsectf. Guecao afgderehos afgderehos uce gdesf goho `mced fse gdesf co sf pufaf lfrfaer. Ror fjfhpdo: `mced gdess `mced gdess Pflmgudo { prmvetf prmvetf `ucgtmoc `ucgtmoc errecger errecger() () { fglo "¡Irrruhhh!" Irrruhhh!">> } } gdess Goglf gdess Goglf fxtfcas fxtfcas Pflmgudo { puidmg puidmg `ucgtmoc `ucgtmoc errecger errecger() () }
{
fglo "Hm gloglf legf ¡irruhhh!" irruhhh!">>
}
$goglf 8 cfw cfw Goglf Goglf>>
Wm fjfgutehos fd g÷amko vfrfhos fd frror: RLR @eted frror: frror: Gdess Goglf hey cot mclfrmt mclfrmt `roh `mced `mced gdess (Pflmgudo) (Pflmgudo)
¿Guåcao user `mced pere uce gdesf?
Leste equè toae de tforèe soirf `mced, co tmfcf huglo sfgrfto. Goho hugles otres goses fc prokrehegm÷c des goses sfcgmddes co do soc tecto. Qehimíc ley hugle pfdfe goc rfspfgto e legfr
510
gdesfs `mced o co. Ley erkuhfctos fc ehios iecaos (sè, fc fsto tehimíc ley iecaos). Fd proidfhe fs fd smkumfctf: Wm af`mcmhos uce gdesf goho `mced co poarå tfcfr gdesfs lmjes. Fsto qumfrf afgmr quf sm de gdesf co legf do quf qufrfhos co poarfhos fxtfcafrde y pfrafhos `dfxmimdmaea. Fctocgfs ¿por quí qufrrèe edkumfc legfr uce gdesf `mced? Rufs ley vermos (y iufcos hotmvos): De lfrfcgme fs huy g÷hoae y fs `ågmd eiuser af fdde. Geae vfz quf lfrfaehos af uce gdesf fstehos hftmfcao hås y hås hítoaos fc fdde. Ed `mced egeiehos goc uce gdesf goc uc hoct÷c af hítoaos y propmfaeafs quf sf gocvmfrtf fc uc hocstruo am`ègmd af hectfcfr. Co fs rero vfr gmcgo o amfz cmvfdfs af lfrfcgme. Wm afgmamhos gehimer uc hítoao fc de gdesf prmcgmped poafhos fster e`fgtecao e toaes des gdesfs lmjes. Rroieidfhfctf cos vfrèehos oidmkeaos e hoam`mger toaes fses gdesfs. Esè quf, pere fvmter fstos proidfhes, poafhos af`mcmr cufstre gdesf goho `mced. Ley qumfcfs, por af`fgto, legfc toaes sus gdesfs `mced. Wm fc uc hohfcto aftfrhmceao cfgfsmtec fxtfcafr fse gdesf smhpdfhfctf qumtec de ftmqufte `mced y dmsto. Af fste `orhe sf oidmkec e iusger sodugmocfs quf co sfec lfrfcgme.
¿] sm uce gdesf `mced co legf toao do quf cfgfsmto? Lfhos vmsto quf goc `mced uce gdesf co sf pufaf fxtfcafr. Rfro leirå smtuegmocfs fc des quf cos fcgoctrerfhos goc uce gdesf `mced quf cos kusterèe ehpdmer. ¿Uuí poafhos legfr fc fstes smtuegmocfs fc des quf cfgfsmtehos fxtfcafr uce gdesf `mced? Fc fstos gesos poafhos legfr uso af edko ddeheao gohposmgm÷c. Pehos Peh os e vfr quí fs de gohposmgm÷c g ohposmgm÷c fc fd smkumfctf gepètudo.
51;
Gohposmgm÷c De gohposmgm÷c fs uc gocgfpto huy smhpdf y `ågmd af user> Gocsmstf fc user uc oijfto afctro af uce gdesf.
Vc sfcgmddo fjfhpdo Do ves e fctfcafr imfc goc uc sfcgmddo fjfhpdo: Mhekmce uce gdesf Pflmgudo e de quf qufrfhos eõeamr hítoaos quf sf fcgerkufc af toao do rfdegmoceao goc fd hotor. Roarèehos grfer toaos fsos hítoaos o poarèehos grfer uce gdesf epertf ddeheae Hotor quf quf sf fcgerkuf af toao fso. Qehimíc poarèe sugfafr quf de gdesf Hotor ye ye fstí fsgrmte (por cosotros o por edkúc otro afserroddeaor) y qufrehos eprovfglerde (por fso af rfutmdmzer g÷amko y co rfmcvfcter de rufae). Fste gdesf Hotor poarèe sfr edko esè: gdess Hotor gdess { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { }
}
fglo "Egfmtf gehimeao"> gehimeao">
¿G÷ho userèes fste gdesf afctro af de gdesf Pflmgudo? Roarèes pfcser, por fjfhpdo, quf iesterèe goc legfr quf de gdesf Pflmgudo lfrfaf af de gdesf Hotor . Fse poarèe sfr uce sodugm÷c. Rfro elore mhekmce quf tehimíc qumfrfs legfr do hmsho pere fd glesms (goc uce gdesf ddeheae Glesms). Goc lfrfcgme tfcarèehos uc proidfhe ye quf fc RLR uce gdesf sodo pufaf tfcfr uce hearf. Vce posmidf opgm÷c sfrèe hoam`mger de gdesf Hotor pere pere quf lfrfaf af Glesms pfro ley vermes pfkes: • Qfc Qfcfhos fhos quf hoam` hoam`mger mger de de gdesf gdesf Hotor pere pere quf fxtmfcae de gdesf Glesms. • De gd gdes esff Hotor tfcarèe tfcarèe ucos guectos hítoaos quf co tmfcfc ceae quf vfr goc fdde. • De ggde desf sf `mc `mced ed,, Pflmgudo, sfrèe uce gdesf hocstruose goc uc hoct÷c af hítoaos. Rere gesos goho ístf fs hfjor user de do quf sf ddehe gohposmgm÷c. Wfrèe edko esè:
51<
gdess Pflmgudo gdess { prmvetf prmvetf $hotor> $hotor>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($hotor) ($hotor) { $tlms-3hotor 8 $hotor> }
}
puidmg `ucgtmoc puidmg `ucgtmoc legfrHectfcmhmfcto legfrHectfcmhmfcto() () { $tlms-3hotor-3gehimerEgfmtf()> }
Do quf legfhos fs peser uc oijfto Hotor ed ed gocstrugtor af Pflmgudo y kueraerdo fc uce propmfaea. Af fste `orhe poarfhos eggfafr ed hotor afsaf guedqumfr hítoao af Pflègudo e trevís af $tlms hotor . Ror fjfhpdo poarèehos grfer fd hítoao legfrHectfcmhmfcto() quf, fctrf otres goses, sf fcgerkerèe af gehimer fd egfmtf afd hotor. Fstf hítoao sodo tfcarèe quf ddeher e $tlms hotor !
!
esè: $tlms-3hotor-3gehimerEgfmtf()>
Afctro af uce epdmgegm÷c fste gdesf sf userèe esè: $hotor 8 cfw cfw Hotor Hotor()> ()> $vflmgudo 8 cfw cfw Pflmgudo Pflmgudo($hotor)> ($hotor)> $vflmgudo-3legfrHectfcmhmfcto()>
Goho pufafs vfr ley quf grfer uc oijfto $hotor pere pere peserdo goho peråhftro ed grfer fd Pflmgudo. Wfkuro quf tf perfgf uce gohpdmgegm÷c mccfgfserme, co df vfs hugles vfctejes y sf tf ogurrfc hfjorfs `orhes af sodugmocer fd proidfhe. Esè quf vehos prmhfro e vfr uc fjfhpdo af gohposmgm÷c goc aos oijftos y dufko vehos e vfr quí otre sodugmocfs poarèehos user.
Gohposmgm÷c goc hås af uc oijfto Pehos e pocfr esmfctos fc cufstro vflègudo (esè sfrå hås g÷hoao pere sus ogupectfs). Rere dos esmfctos usehos otre gdesf e de quf ddeherfhos Esmfctos:
51=
gdess Esmfctos gdess { puidmg puidmg `ucgtmoc `ucgtmoc dmhpmer dmhpmer() () { fglo "Esmfctos dmhpmtos"> dmhpmtos"> } }
] de gdesf Pflmgudo qufaerèe: gdess Pflmgudo gdess { prmvetf prmvetf $hotor> $hotor> prmvetf prmvetf $esmfctos> $esmfctos>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($hotor, ($hotor, $esmfctos) { $tlms-3hotor 8 $hotor> $tlms-3esmfctos 8 $esmfctos>
}
}
puidmg `ucgtmoc puidmg `ucgtmoc legfrHectfcmhmfcto legfrHectfcmhmfcto() () { $tlms-3hotor-3gehimerEgfmtf()> $tlms-3esmfctos-3dmhpmer()> }
Fc fste sfkucae vfrsm÷c ed gocstrugtor af Pflmgudo df pesehos aos oijftos, uco pere fd $hotor y otro pere dos $esmfctos. Elore fd hectfcmhmfcto do legfhos ddehecao e gehimerEgfmtf() afd oijfto $hotor y y ed hítoao dmhpmer() afd oijfto $esmfctos. Fste cufve vfrsm÷c af Pflmgudo sf pufaf user esè: $hotor 8 cfw cfw Hotor Hotor()> ()> $esmfctos 8 cfw cfw Esmfctos Esmfctos()> ()> $vflmgudo 8 cfw cfw Pflmgudo Pflmgudo($hotor, ($hotor, $esmfctos)> $vflmgudo-3legfrHectfcmhmfcto()>
Fc fste ogesm÷c cfgfsmtehos aos oijftos pere poafr grfer fd vflègudo.
Wodugmocer fd proidfhe goc lfrfcgme
Uumzå toaevèe pmfcses quf de lfrfcgme fs huglo hås `ågmd af user. Ectfs lf gohfcteao edkucos proidfhes quf supocf user lfrfcgme pfro por sm co tf do grffs vehos e vfrdo goc hås
562
aftfcmhmfcto. Pehos e vfrdo guecao sodo tfcfhos hotor. Fhpfzerèehos legmfcao quf Pflmgudo lfrfaf af de gdesf Hotor : gdess Pflmgudo gdess Pflmgudo fxtfcas fxtfcas Hotor { puidmg puidmg `ucgtmoc `ucgtmoc legfrHectfcmhmfcto legfrHectfcmhmfcto() () { $tlms-3gehimerEgfmtf()> } } $vflmgudo 8 cfw cfw Pflmgudo Pflmgudo()> ()> $vflmgudo-3legfrHectfcmhmfcto()>
Rufs sè, fd g÷amko cos le qufaeao eperfctfhfctf huglo hås gorto, co cfgfsmtehos uc gocstrugtor, cm afgderer oijftos eamgmocedfs. Rerfgf quf de gose pmcte imfc por elore. Rfro elore tfcfhos quf eõeamr dos esmfctos. Yfgufrae quf fc RLR uce gdesf co pufaf tfcfr hås quf uce hearf esè quf co poafhos legfr fsto: gdess Pflmgudo gdess Pflmgudo fxtfcas fxtfcas Hotor Hotor,, Esmfctos Esmfctos // ¿Legmfcao trehpes? { }
Esè quf tfcarèehos quf fhpfzer e legfr glepugmddes. Edko goho: g oho: gdess Esmfctos gdess Esmfctos fxtfcas fxtfcas Hotor {} gdess Pflmgudo gdess Pflmgudo fxtfcas fxtfcas Esmfctos {}
¿Fhpmfzes e vfr fd proidfhe? Equè sf vf fd eisurao råpmaehfctf, co tmfcf sfctmao quf Esmfctos lfrfaf af Hotor , pfro fc fd so`twerf rfed fsto sf vf huy e hfcuao.
¿Ror quí co user tremts? Wfkuro quf ye do les vmsto gdero ¡poafhos user tremts! Co perfgf uce hede mafe, vehos e vfrdo. Gocvfrtmhos de gdesf Hotor fc fc uc tremt:
565
tremt Hotor { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { fglo "Egfmtf gehimeao"> gehimeao"> } }
] sm legfhos do hmsho hmsho goc Esmfctos de gdesf Pflmgudo pufaf gokfr fstf espfgto: gdess Pflmgudo gdess { usf usf Hotor Hotor,, Esmfctos Esmfctos>>
puidmg `ucgtmoc puidmg `ucgtmoc legfrHectfcmhmfcto legfrHectfcmhmfcto() () { $tlms-3gehimerEgfmtf()> $tlms-3dmhpmer()> }
}
Co fstå hed, tfcfhos uc g÷amko hås gorto fc cufstre gdesf Pflmgudo, co legf `edte gocstrugtor, smc oijftos eamgmocedfs ¡y `ucgmoce! Rfro co tf fsgepfs tec råpmao quf co toao fs tec iocmto. Wmkuf dfyfcao quf ley hås sorprfses.
Hotorfs y esmfctos af vermos tmpos Goho cufstro jf`f/gdmfctf cucge fstå goctfcto elore qumfrf poafr user amstmctos tmpos af esmfctos y af hotorfs. Cos amgfc quf toaos dos hotorfs afifc tfcfr de posmimdmaea af gehimer egfmtf (esè quf toaos cfgfsmtec fd hítoao gehimerEgfmtf()) y quf leirå aos tmpos af hotorfs: kesodmce y fdígtrmgo (eucquf dos fdígtrmgos fc rfedmaea co cfgfsmtec gehimos af egfmtf). Esè quf grfehos uce gdesf pere geae tmpo af hotor:
569
gdess HotorKesodmce gdess { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { fglo "Egfmtf af goglf fdígtrmgo gehimeao"> gehimeao"> } } gdess HotorFdfgtrmgo gdess { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { fglo "Fstf goglf co cfgfsmte gehimos af egfmtf" egfmtf">> } }
Vsecao de gohposmgm÷c ¿Weifs quí leirèe quf gehimer fc de gdesf Pflègudo af ectfs? ¡Ceae! Wodo tfcarèehos quf mcamger quí tmpo af hotor qufrfhos ed grfer fd oijfto Pflmgudo y dmsto: $hotor 8 cfw cfw HotorFdfgtrmgo HotorFdfgtrmgo()> ()> // Fste fs de úcmge dè cfe cfe quf gehime $esmfctos 8 cfw cfw Esmfctos Esmfctos()> ()> $vflmgudo 8 cfw cfw Pflmgudo Pflmgudo($hotor, ($hotor, $esmfctos)> $vflmgudo-3legfrHectfcmhmfcto()>
] sm grfehos aos vflègudos e geae uco af fddos df poafhos pocfr uc hotor am`frfctf smc tfcfr quf hoam`mger de gdesf Pflmgudo. ¿E quf elore sè tf kuste hås fsto af de gohposmgm÷c? Wmc fhierko, de sodugm÷c af dos tremts ye co cos vedf equè. Leirèe quf grfer uc tmpo af tremt pere geae tmpo af hotor y uce gdesf vflègudo am`frfctf pere geae tmpo af hotor. Wm qumfrfs, pufafs proier e sodugmocer fd proidfhes goc tremts e hoao af fjfrgmgmo.
Equè vmfcf af pfrdes uc mctfr`egf Goho cos fstehos fhpfzecao e vodvfr eafptos ed g÷amko imfc lfglo vehos e legfr uc pfqufõo gehimo. Rere quf cufstro g÷amko sfe hås gorrfgto y fvmter proidfhes fc fd `uturo poarèehos hoam`mger Pflmgudo pere oidmker e quf fd peråhftro $hotor sfe sfe afd tmpo Hotor : puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt((Hotor Hotor $hotor, $hotor, $esmfctos)
] Hotor poarèe poarèe sfr uc mctfr`egf:
567
mctfr`egf Hotor mctfr`egf { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf()> ()> }
Ror údtmho leirèe quf legfr quf HotorFdfgtrmgo y HotorKesodmce mhpdfhfctesfc fd mctfr`egf: gdess HotorKesodmce gdess HotorKesodmce mhpdfhfcts mhpdfhfcts Hotor { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { fglo "Egfmtf af goglf af kesodmce gehimeao"> gehimeao"> } } gdess HotorFdfgtrmgo gdess HotorFdfgtrmgo mhpdfhfcts mhpdfhfcts Hotor { puidmg puidmg `ucgtmoc `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { }
fglo "Egfmtf af goglf fdígtrmgo gehimeao"> gehimeao"> }
¿Fs mhprfsgmcamidf user uc mctfr`egf? Co, co fs mhprfsgmcamidf. ]e ]e les vmsto quf de vfrsm÷c ectfrmor af Pflmgudo `ucgmoceie smc proidfhes (de vfrsm÷c aocaf co afgèehos quf $hotor tuvmfsf tuvmfsf quf sfr afd tmpo Hotor ). ). Wmc fhierko, ed user fd mctfr`egf oidmkehos e dos des gdesfs "hotor" quf sf veyec e user mcgduyec fd hítoao gehimerEgfmtf(). Esè quf guecao veyehos e grfer uce gdesf hotor seirfhos quf do úcmgo quf cfgfsmtehos pere quf `ucgmocf imfc fs quf amspocke af dos hítoaos mcamgeaos fc fd mctfr`egf.
Glepuzes Eghf, W.E. Fs posmidf quf por de geifze ye sf tf le peseao uce sodugm÷c smhmder e íste:
561
gdess Hotor gdess { prmvetf prmvetf $tmpo> $tmpo>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($tmpo) ($tmpo) { $tlms-3tmpo 8 $tmpo>
}
}
puidmg `ucgtmoc puidmg `ucgtmoc gehimerEgfmtf gehimerEgfmtf() () { swmtgl($tlms-3tmpo) swmtgl ($tlms-3tmpo) { gesf 'kesodmce' gesf 'kesodmce':: fglo 'Egfmtf af goglf af kesodmce gehimeao.Tc'> gehimeao.Tc'> irfen>> irfen gesf 'fdfgtrmgo' gesf 'fdfgtrmgo':: fglo 'Egfmtf af goglf fdígtrmgo gehimeao.Tc'> gehimeao.Tc'> irfen>> irfen } }
] pfcserås ¿quí tmfcf af hedo? ¿egeso co `ucgmoce? Rufs sè, `ucgmoce e de pfr`fggm÷c pfro poarèe tfcfr vermos proidfhes. Mhekmce, por fjfhpdo, quf fste gdesf tmfcf aos hítoaos: • geh gehime imerE rEgfm gfmtf( tf(). ). • dm dmhp hpme mer( r(). ). Leirèe quf eõeamr fd hítoao dmhpmer quf sfrèe edko esè: puidmg `ucgtmoc puidmg `ucgtmoc dmhpmer dmhpmer() () { swmtgl swmtgl($tlms-3tmpo) ($tlms-3tmpo) { }
gesf 'kesodmce' gesf 'kesodmce':: fglo 'Hotor af kesodmce dmhpmo.Tc'> dmhpmo.Tc'> irfen>> irfen gesf 'fdfgtrmgo' gesf 'fdfgtrmgo':: fglo 'Hotor fdígtrmgo dmhpmo.Tc'> dmhpmo.Tc'> irfen>> irfen }
Rfr`fgto, smc proidfhes. Elore cos pmafc uc tfrgfr tmpo af hotor: uco af amfsfd. Qfcarfhos quf hoam`mger dos aos hítoaos pere eõeamr de opgm÷c afd amfsfd. ¿Uuí proidfhe Qoao tmfcf uc pogo af fxpfrmfcgme fc afserroddo seif quf fs huy `ågmd odvmaersf eõeamrley? edkuco af fd dosquf gesf (¿e qumíc co df le peseao?). ] co cos aerfhos gufcte leste quf
fd prokrehe `eddf. Wm, eafhås, co fstehos usecao prufies eutohetmzeaes sfkurehfctf afsguirmrfhos fd `eddo guecao ddehf fd usuermo af de epdmgegm÷c huy fc`eaeao.
566
Vsecao uc mctfr`egf ieste goc grfer uce cufve gdesf quf ye cos evmserå af quf df `edtec hítoaos. Eafhås, goc dos cufvos MAF MAF fd fd propmo famtor tf "glmve" quf fsf mctfr`egf cfgfsmte edkucos hítoaos quf les odvmaeao. Ror gurmosmaea, fstf fjfhpdo vmoderèe aos af dos prmcgmpmos WODMA WODMA:: fd af Yfspocseimdmaea Úcmge y fd af OGR (Opfc Gdosfa Rrmcgmpdf). Dos prmcgmpmos WODMA fs huy gocvfcmfctf gocogfrdos y epdmgerdos smfhprf quf sf pufae.
560
Hítoaos håkmgos ]e lfhos lfhos vmsto fd hítoao __gocstrugt() ed quf sf ddehe eutohåtmgehfctf guecao grfehos uc oijfto. Fstf fs do quf sf ddehe uc hítoao håkmgo. Qfcfhos amspocmidfs vermos hítoaos af fstf tmpo: • __ __go gocs cstr trug ugt( t(), ), • __ __af afst stru rugt gt() (),, • __ __ge gedd dd() (),, • __ __ge gedd ddWt Wtet etmg mg() (),, • __ __kf kft( t(), ), • __ __sf sft( t(), ), • __ __ms mssf sft( t(), ), • __ __uc ucsf sft( t(), ), • __ __sd sdff ffp( p(), ), • __ __we wenf nfup up() (),, • __to __toWt Wtrm rmck ck() (),, • __ __mc mcvo vonf nf() (),, • __ __sf sft_ t_st stet etf( f(), ), • __ __gd gdoc ocf( f()) • __ __af afiu iukM kMc` c`o( o(). ).
__kft() y T__sft() Wm ye gocogfs fstos aos hítoaos posmidfhfctf tf sugfae goho e hè y tf prfkuctfs ¿pere quí fxmstfc? Pehos Pehos e vfr prmhfro quí fs do quf legfc y g÷ho `ucgmocec. Goho ye seifs co fs posmidf eggfafr e des propmfaeafs af`mcmaes goho prmveaes afsaf `ufre: gdess Goglf gdess { prmvetf prmvetf $gohiustmidf> $gohiustmidf> } $goglf 8 cfw cfw Goglf Goglf()> ()> $goglf-3gohiustmidff 8 'Kesodmce' $goglf-3gohiustmid 'Kesodmce'>>
Wm fjfgutes fstf g÷amko vfrås fd frror:
RLR @eted frror: Vcgeuklt Frror: Geccot eggfss prmvetf propfrty Goglf::$gohiustmidf Goglf::$gohiustmidf
Rfro goc uc hítoao __sft() poafhos aer vedor e $kesodmce: 56;
gdess Goglf gdess { prmvetf prmvetf $gohiustmidf> $gohiustmidf>
puidmg `ucgtmoc puidmg `ucgtmoc __sft __sft($propmfaea, ($propmfaea, $vedor) { $tlms-3$propmfaeaa 8 strtouppfr($vedor $tlms-3$propmfae strtouppfr($vedor)> )>
}
}
$goglf 8 cfw cfw Goglf Goglf()> ()> $goglf-3gohiustmidff 8 'Kesodmce' $goglf-3gohiustmid 'Kesodmce'>> prmct_r($goglf)>
Fd rfsudteao sfrèe: Goglf Oijfgt ( ^gohiustmidf:Gogl ^gohiustmidf:Goglf:prmvetfX f:prmvetfX 83 KEWODMCE )
Fstf hítoao `ucgmoce af de smkumfctf `orhe> guecao sf mctfcte eggfafr e uce propmfaea mceggfsmidf sf ddehe e fstf hítoao. ¿] quí fs uce propmfaea mceggfsmidf? Rufs fs uce propmfaea e de quf co sf pufaf eggfafr imfc por quf fs prmveae o protfkmae o porquf co fxmstf. Roafhos gohproier quf sf le ddeheao e __sft() porquf de propmfaea sf le kueraeao fc heyúsgudes (quf fs do quf legf __sft()). Fc fd fjfhpdo ectfrmor de propmfaea fre mceggfsmidf por sfr protfkmae. Rfro poarèe sfr quf de propmfaea co fxmstmfsf: gdess Goglf gdess { puidmg puidmg `ucgtmoc `ucgtmoc __sft __sft($propmfaea, ($propmfaea, $vedor) { $tlms-3$propmfaeaa 8 strtouppfr($vedor $tlms-3$propmfae strtouppfr($vedor)> )> } } $goglf 8 cfw cfw Goglf Goglf()> ()> $goglf-3gohiustmidff 8 'Kesodmce' $goglf-3gohiustmid 'Kesodmce'>> prmct_r($goglf)>
Fd rfsudteao sfrèe:
56<
Goglf Oijfgt Goglf ( ^gohiustmidfX 83 KEWODMCE )
Rfro sm de propmfaea ye fxmstf y fs puidmg fctocgfs co sf ddeherå e fstf hítoao: gdess Goglf gdess { puidmg puidmg $gohiustmidf> $gohiustmidf> }
puidmg `ucgtmoc puidmg `ucgtmoc __sft __sft($propmfaea, ($propmfaea, $vedor) { $tlms-3$propmfaeaa 8 strtouppfr($vedor $tlms-3$propmfae strtouppfr($vedor)> )> }
$goglf 8 cfw cfw Goglf Goglf()> ()> $goglf-3gohiustmidff 8 'Kesodmce' $goglf-3gohiustmid 'Kesodmce'>> prmct_r($goglf)>
] ed fjfguterdo poafhos gohproier quf fd gohiustmidf co eperfgf fc heyúsgudes porquf co sf le lfglo de ddeheae e __sft(). Goglf Oijfgt ( ^gohiustmidfX 83 Kesodmce )
Vc fjfhpdo quf cos pufaf aer uce mafe af de utmdmaea af fstos hítoaos poarèe sfr ístf:
56=
gdess Rmzze gdess { prmvetf prmvetf $mckrfamfctfs $mckrfamfctfs 8 ^X>
puidmg `ucgtmoc puidmg `ucgtmoc eceamrMckrfamfctf eceamrMckrfamfctf($mckrfamfctf) ($mckrfamfctf) { m` (!$tlms-3tmfcfMc m` (!$tlms-3tmfcfMckrfamfctf($mckrfam krfamfctf($mckrfamfctf)) fctf)) {
}
puidmg `ucgtmoc puidmg `ucgtmoc __kft __kft($mckrfamfctf) ($mckrfamfctf) { m` ($tlms-3tmfcfMck m` ($tlms-3tmfcfMckrfamfctf($mckrfamf rfamfctf($mckrfamfctf)) ctf)) { rfturc truf> rfturc truf> } rfturc `edsf> rfturc `edsf> }
prmvetf `ucgtmoc prmvetf `ucgtmoc tmfcfMckrfamfctf tmfcfMckrfamfctf($mckrfamfctf) ($mckrfamfctf)
}
{
}
$tlms-3mckrfamfctfs^X $tlms-3mckrfamfctf s^X 8 $mckrfamfctf>
rfturc mc_errey($mckrfamf rfturc mc_errey($mckrfamfctf, ctf, $tlms-3mckrfamfc $tlms-3mckrfamfctfs)> tfs)>
}
$pmzze 8 cfw cfw Rmzze Rmzze()> ()> $pmzze-3eceamrMckrfamfctf('gfiodde' $pmzze-3eceamrMckrfamfctf( 'gfiodde')> )> m`($pmzze-3gfiodde m` ($pmzze-3gfiodde)) { fglo "Qmfcf gfiodde"> gfiodde"> }
Af fste `orhe poarèehos vfr sm uc aftfrhmceao mckrfamfctf fxmstf sodo goc user: m`($pmzze-3gfiodde) m` ($pmzze-3gfiodde)
Rfrsocedhfctf prf`mfrmrèe user: m`($pmzze-3tmfcfMckrfamfctf($gfiodde)) m` ($pmzze-3tmfcfMckrfamfctf($gfiodde))
porquf grfo quf sf fctmfcaf hfjor do quf sf prftfcaf legfr.
¿Rufao user __kft() user __kft() y y __sft() __sft()? ?
Elore quf ye seifs g÷ho `ucgmocec tf rfgohmfcao quf, fc prmcgmpmo, co do usfs. Fc duker af user ístos yo prf`mfro user kfttfrs kfttfrs y y sfttfrs sfttfrs por por dos smkumfctfs hotmvos: • Woc hås hås dfctes dfctes quf user kfttfr kfttfrss y sfttfrs. sfttfrs.
502
• Fd g÷amko hås gdero gdero usecao kfttfrs y sfttfrs. Wm, por fjfhpdo, uce uce propmfaea vf hoam`mgeao su vedor fc fd _sft() o _kft() pufaf quf co cos afhos gufcte y legfrcos pfrafr huglo tmfhpo iusgecao `eddos. • Des eyua eyuaes es quf quf cos aec aec dos dos MAF MAF hoafrcos hoafrcos co cos smrvfc sm dos usehos. Wmc fhierko ley ogesmocfs fc des quf pufafc sfr gocvfcmfctfs. Ror fjfhpdo sm fd oijfto tmfcf uc hoct÷c af propmfaeafs y cfgfsmtehos uc hoct÷c af kfttfrs y sfttfrs smhmderfs pufafc sfr uce iufce opgm÷c.
__mssft() y __ucsft() Fstos aos hítoaos vec af de heco goc kft() y sft(). Guecao qufrfhos seifr sm fxmstf uce aftfrhmceae propmfaea usehos mssft(). Wm de propmfaea co fxmstf fste `ucgm÷c afvodvfrå `edsf. Fd hítoao mssft() sf fjfguterå guecao de propmfaea co fxmste. Do hmsho sugfrå goc ucsft().
__gedd() y __geddWtetmg() __gedd() Goc dos hítoaos tfcfhos edko perfgmao e kft() y sft(): fd hítoao __gedd(). Fstf hítoao håkmgo sf "egtmve" guecao ddehehos e uc hítoao quf co fs eggfsmidf afsaf uc oijfto. Goho sf egfrge de lore af gohfr vehos e sfkumr goc de gdesf pmzze. Fc fste gdesf vehos e eõeamr uc hítoao håkmgo: gdess Rmzze gdess { puidmg puidmg `ucgtmoc `ucgtmoc __gedd __gedd($cohirf, ($cohirf, $perehftros) { fglo "Co fctmfcao do quf smkcm`mge: $cohirfTc"> $cohirfTc"> fglo "Cm quí legfr goc fste mc`orhegm÷c:Tc" c:Tc">> prmct_r($perehftros)> } }
Pehos Peh os e grfer uc oijfto $pmzze y e ddeher ed hítoao fglerMckrfamfctf() quf co fxmstf: $pmzze 8 cfw cfw Rmzze Rmzze>> $pmzze-3fglerMckrfamfctf('pm $pmzze-3fglerMckrfamfctf( 'pmõe' e')> )>
Wè, ley kfctf e de quf df kuste de pmõe fc de pmzze.
! Ed fjfguter fsf g÷amko vfrfhos fd rfsudteao:
505
Co fctmfcao do quf smkcm`mge: fglerMckrfamfctf fglerMckrfamfctf Cm quí legfr goc fste mc`orhegm÷c: Errey ( ^2X 83 pmõe )
Goho fd hítoao fglerMckrfamfctf() co fxmstf sf ddeherå eutohåtmgehfctf e __gedd(). Pfehos quí pese sm grfehos fstf hítoao: gdess Rmzze gdess { puidmg puidmg `ucgtmoc `ucgtmoc __gedd __gedd($cohirf, ($cohirf, $perehftros) { fglo "Co fctmfcao do quf smkcm`mge: $cohirfTc"> $cohirfTc"> fglo "Cm quí legfr goc fste mc`orhegm÷c:Tc" c:Tc">> prmct_r($perehftros)> } }
prmvetf `ucgtmoc prmvetf `ucgtmoc fglerMckrfamfctf fglerMckrfamfctf($mckrfamfctf) ($mckrfamfctf) { fglo "Poy e eõeamr fd mckrfamfctf: $mckrfamfctf."> $mckrfamfctf."> }
Elore fd rfsudteao sfrå: Poy e eõeamr fd mckrfamfctf: pmõe.
Ectfs lf amglo quf __gedd() fctre fc eggm÷c guecao fd hítoao ed quf ddehehos fs mceggfsmidf. Fsto ogurrmrå guecao fd hítoao ddeheao co fxmste o guecao sfe prmveao o protfkmao: gdess Rmzze gdess { puidmg puidmg `ucgtmoc `ucgtmoc __gedd __gedd($cohirf, ($cohirf, $perehftros) { fglo "Co fctmfcao do quf smkcm`mge: $cohirfTc"> $cohirfTc"> fglo "Cm quí legfr goc fste mc`orhegm÷c:Tc" c:Tc">> prmct_r($perehftros)> }
prmvetf `ucgtmoc prmvetf `ucgtmoc fglerMckrfamfctf fglerMckrfamfctf($mckrfamfctf) ($mckrfamfctf) {
}
fglo "Poy e eõeamr fd mckrfamfctf: $mckrfamfctf."> $mckrfamfctf."> }
509
Fc fstf fjfhpdo fglerMckrfamfctf() fxmstf pfro co fs eggfsmidf afsaf fd oijfto $pmzze. Ror do tecto fctrerå fc jufko __gedd().
__geddWtetmg() Fstf hítoao (eõeamao fc de vfrsm÷c 6.7.2 af RLR) fs smhmder e __gedd pfro sf egtmve guecao ddehehos e uc hítoao mceggfsmidf af `orhe fståtmge. Iocmte `resf ¿quí qumfrf afgmr? Pehos Peh os e vfrdo goc fd fjfhpdo af de pmzze. Eõeaehos fstf cufvo hítoao: puidmg stetmg puidmg stetmg `ucgtmoc `ucgtmoc __geddWtetmg __geddWtetmg($cohirf, ($cohirf, $perehftros) { fglo "Peye, veye, co sf do quf smkcm`mge $cohirf $cohirf "> fglo "y vfo quf cm smqumfre tf les amkceao e grfer uc oijfto.Tc" oijfto.Tc">> fglo "¿] quí qumfrfs quf leke goc ísto?Tc" sto?Tc">> prmct_r($perehftros)> fglo "¿Fs quf tfcko quf legfrdo yo toao?"> toao?"> }
Goho pufafs vfr fs uc hítoao huy qufjmge. ¿Guåd fs de am`frfcgme goc gedd()? Ectfs lfhos vmsto quf gedd() sf fjfgute guecao ddehehos e uc hítoao quf co fxmstf o quf fs prmveao o protfkmao. __geddWtetmg() sf fjfgute guecao legfhos uce ddeheae af hecfre fståtmge, por fjfhpdo: Rmzze::fglerMckrfamfctf( Rmzze ::fglerMckrfamfctf('gfiodde' 'gfiodde')> )>
Wm fjfgutehos fd g÷amko elore tfcarfhos: Peye, veye, co sf do quf smkcm`mge fglerMckrfamfctf y vfo quf cm smqumfre tf les amkceao e grfer uc oijfto. ¿] quí qumfrfs quf leke goc ísto? Errey ( ^2X 83 gfiodde ) ¿Fs quf tfcko quf legfrdo yo toao?
¿Fs rfgohfcaeidf user fstos aos hítoaos håkmgos? Fc hm opmcm÷c, ed mkued quf dos hítoaos håkmgos kft() y sft(), grfo quf fstos aos co afifrèec usersf fc de heyorèe af des ogesmocfs. Fxmstfc smtuegmocfs fc des quf fs gocvfcmfctf userdes pfro grfo quf fstf tmpo af hítoaos legf quf fd g÷amko sfe hås am`ègmd af fctfcafr y hectfcfr.
507
__toWtrmck() Fstf fs uc hítoao iestectf gurmoso. Cos pfrhmtf afgmamr g÷ho sf ve e gohporter uc oijfto guecao do tretehos goho uce geafce. Wm treter af hostrer uc oijfto goc fglo tfcarås uc frror. Ror fjfhpdo: gdess Rmzze gdess { }
prmvetf $mckrfamfctfs> prmvetf $mckrfamfctfs> puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($mckrfamfctfs) ($mckrfamfctfs) { $tlms-3mckrfamfctfs $tlms-3mckrfamfc tfs 8 $mckrfamfctfs> }
$pmzze 8 cfw cfw Rmzze Rmzze(^ (^'gfiodde' 'gfiodde',, 'pmõe' e'X)> X)> fglo $pmzze>
Ed fjfguter fsto tfcarås uc frror: RLR Getgleidf `eted frror: Oijfgt o` gdess gdess Rmzze gouda gouda cot if gocvfrtfa to strmck.
Rfro sm usehos __toWtrmck(): gdess Rmzze gdess { prmvetf prmvetf $mckrfamfctfs> $mckrfamfctfs>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($mckrfamfctfs) ($mckrfamfctfs) { $tlms-3mckrfamfctfs $tlms-3mckrfamfc tfs 8 $mckrfamfctfs> }
puidmg puidmg `ucgtmoc `ucgtmoc __toWtrmck __toWtrmck() () { rfturc "Fste pmzze tmfcf: " . rfturc " . mhpdoaf(", mhpdoaf(", ", ", $tlms-3mckrfamfctfs) . "." "." . . RLR_FOD> } } $pmzze 8 cfw cfw Rmzze Rmzze(^ (^'gfiodde' 'gfiodde',, 'pmõe' e'X)> X)>
fglo $pmzze>
Fd rfsudteao elore sfrå: 501
Fste pmzze tmfcf: gfiodde, pm õe.
Co soc hugles des smtuegmocfs fc des quf cfgfsmterfhos fsto pfro ley vfgfs fc des quf vmfcf huy imfc.
sfrmedmzf() y ucsfrmedmzf() Fstes aos soc `ucgmocfs af RLR y co hítoaos håkmgos. Rfro des pocko equè porquf soc útmdfs pere fctfcafr pere quí sf usec dos hítoaos sdffp() y wenfup(). Wfkúc de aoguhfctegm÷c af RLR sfrmedmzf() "kfcfre uce rfprfsfctegm÷c epte pere fd edhegfcehmfcto edhegfcehmfc to af uc vedor". Pedf ¿y quí qumfrf afgmr ísto? Ley ogesmocfs fc des quf cos pufaf mctfrfser kueraer uc oijfto fc uce iesf af aetos, o fcvmerdo e otre epdmgegm÷c. Weimfcao de gdesf e de quf pfrtfcfgf fd oijfto y gocogmfcao dos vedorfs af sus propmfaeafs poafhos "rfgocstrumr" fd oijfto. Fc fstf fjfhpdo poafhos vfr e des aos `ucgmocfs fc eggm÷c: gdess Rmzze gdess { prmvetf prmvetf $mckrfamfctfs> $mckrfamfctfs> }
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($mckrfamfctfs) ($mckrfamfctfs) { $tlms-3mckrfamfctfs $tlms-3mckrfamfc tfs 8 $mckrfamfctfs> }
$pmzze 8 cfw cfw Rmzze Rmzze(^ (^'gfiodde' 'gfiodde',, 'pmõe' e'X)> X)> ver_auhp($pmzze)> $pmzzeFhpequfteae 8 sfrmedmzf($pmzze sfrmedmzf($pmzze)> )> fglo $pmzzeFhpequftea $pmzzeFhpequfteae> e> $cufveRmzze 8 ucsfrmedmzf($pmz ucsfrmedmzf($pmzzeFhpequfteae)> zeFhpequfteae)> ver_auhp($cufveRmzze)>
De sedmae af fstf prokrehe sfrèe edko esè:
506
oijfgt(Rmzze)#5 (5) { ^"mckrfamfctfs":"Rmzze":prmvetfX83 errey(9) { ^2X83 strmck(;) "gfiodde" ^5X83 strmck(6) "pmõe" } } O:6:"Rmzze":5:{s:5=:" O:6:"Rmzze":5:{s:5 =:" Rmzze mckrfamfctfs">e:9 mckrfamfctfs">e:9:{m:2>s:;:"gfiodde :{m:2>s:;:"gfiodde">m:5>s:6:"pm ">m:5>s:6:"pmõe">}} oijfgt(Rmzze)#9 (5) { ^"mckrfamfctfs":"Rmzze":prmvetfX83 errey(9) { ^2X83 strmck(;) "gfiodde" ^5X83 strmck(6) "pmõe" } } sfrmedmzf() ve e gocvfrtmr fd oijfto $pmzze fc uce "rfprfsfctegm÷c epte pere fd edhegfcehmfcto", fs
afgmr: O:6:"Rmzze":5:{s:5=:" O:6:"Rmzze":5:{s:5 =:" Rmzze mckrfamfctfs">e:9 mckrfamfctfs">e:9:{m:2>s:;:"gfiodde :{m:2>s:;:"gfiodde">m:5>s:6:"pm ">m:5>s:6:"pmõe">}}
Fsto smkcm`mge hås o hfcos: • O:6:"Rmzze O:6:"Rmzze". ". Fsto mcamge quf quf fs uc oijfto (O) afd tmpo "Rmzze" "Rmzze" y quf su cohirf cohirf tmfcf 6 geregtfrfs. geregtfrfs. • s:5=:" Rmzze mckrfamfctfs">e:9{…}. mckrfamfctfs">e:9{… }. Fsto fs uce propmfaea propmfaea ddeheae "mckrfamfctfs" quf fs uc errey errey (e) af aos fdfhfctos. • {m:2>s:;:"gfiodde {m:2>s:;:"gfiodde">m:5>s:6:"pmõe ">m:5>s:6:"pmõe">} ">} Fstf fs fd goctfcmao afd errey errey,, quf soc aos geafces af tfxto. Goc fste mc`orhegm÷c poafhos grfer uc oijfto mkued quf fd oijfto $pmzze. ] fso fs prfgmsehfctf do quf legfhos equè: $cufveRmzze 8 ucsfrmedmzf($pmz ucsfrmedmzf($pmzzeFhpequfteae)> zeFhpequfteae)>
Wm tf `mjes fc do quf hufstre ver_auhp() fc ehies ogesmcfs vfrås quf soc aos oijftos mkuedmtos. Rfro, ojo, co soc fd hmsho oijfto> Wm tf `mjes geae uco tmfcf uc mafctm`mgeaor am`frfctf: am`frfctf:
oijfgt(Rmzze)#5 oijfgt(Rmzze)#9
500
Fs afgmr, quf goc fstes `ucgmocfs poafhos grfer uc oijfto e pertmr af su rfprfsfctegm÷c pfro sfrå uc cufvo oijfto.
__sdffp() y __wenfup __wenfup() () __sdffp() Lfhos vmsto quf ed user sfrmedmzf() sf kueraec dos vedorfs af toaes des propmfaeafs afd oijfto. Rfro ley ogesmocfs fc des quf fsto co fs afsfeidf> De opfregm÷c "ucsfrmedmzf() fs iestectf "gere" (fc tírhmcos af gocsuho af progfseaor). Esè quf des propmfaeafs quf co sfec cfgfsermes hfjor co kueraerdes. Fc fses ogesmocfs cos vmfcf huy imfc fd hítoao __sdffp(). Ror fjhpdo, guecao tfcfhos uc oijfto fc fd quf kueraehos de sfsm÷c af uc usuermo co tmfcf sfctmao kueraer dos gehpos quf sfec cudos. Roafhos vfrdo equè fc eggm÷c:
50;
gdess Wfsmoc gdess { prmvetf prmvetf $propmfaeafs> $propmfaeafs>
prmvetf $cohirf 8 'Korne' prmvetf $cohirf 'Korne'>> prmvetf $epfddmaos prmvetf $epfddmaos 8 'Vrrutme' 'Vrrutme'>> prmvetf $mp> prmvetf $mp>
`ucgtmoc __sdffp `ucgtmoc __sdffp() () { $tlms-3propmfaeafs $tlms-3propmfaea fs 8 $tlms-3erreyRrop $tlms-3erreyRropmfaeafs()> mfaeafs()>
$tlms-3fdmhmcerRropmfaeafsGocPedorCudo()>
rfturc $tlms-3dmsteaoRrop rfturc $tlms-3dmsteaoRropmfaeafsPedmaes()> mfaeafsPedmaes()> }
prmvetf `ucgtmoc prmvetf `ucgtmoc erreyRropmfaeafs erreyRropmfaeafs() () { rfturc (errey) rfturc (errey) $tlms>
}
prmvetf `ucgtmoc prmvetf `ucgtmoc fdmhmcerRropmfaeafsGocPedorCudo fdmhmcerRropmfaeafsGocPedorCudo() () { `orfegl ($tlms-3propmfaea `orfegl ($tlms-3propmfaeafs fs es es $gdevf $gdevf 83 $vedor) { $tlms-3fdmhmcerFdfhfctoWmCudo($vedor $tlms-3fdmhmcerFdf hfctoWmCudo($vedor,, $gdevf)> } }
prmvetf `ucgtmoc prmvetf `ucgtmoc fdmhmcerFdfhfctoWmCudo fdmhmcerFdfhfctoWmCudo($vedor, ($vedor, $gdevf) { m` (ms_cudd($vedor)) m` (ms_cudd($vedor)) { ucsft($tlms-3propmfaeafs^$gdevfX)> } }
prmvetf prmvetf `ucgtmoc `ucgtmoc dmsteaoRropmfaeafsPedmaes dmsteaoRropmfaeafsPedmaes() () { rfturc errey_nfys($tlms-3 rfturc errey_nfys($tlms-3propmfaeafs)> propmfaeafs)> } }> $sfsmoc 8 cfw cfw Wfsmoc Wfsmoc()> ()> ver_auhp($sfsmoc)>
ver_auhp(sfrmedmzf($sfsmoc))>
Ed fjfguter fd g÷amko vfhos quf fc de sfrmedmzegm÷c afd oijfto le afseperfgmao fd gehpo $mp: 50<
oijfgt(Wfsmoc)#5 (1) { ^"propmfaeafs":"Wfsmoc":prmvetfX83 CVDD ^"cohirf":"Wfsmoc":prmvetfX83 strmck(6) "Korne" ^"epfddmaos":"Wfsmoc":prmvetfX83 strmck(;) "Vrrutme" ^"mp":"Wfsmoc":prmvetfX83 CVDD } strmck(57=) "O:0:"Wfsmoc":1:{s:5=:" Wfsmoc propmfaeafs">C>s:51:" Wfsmoc cohirf">s:6:"Korne">s:5;:" cohirf">s:6:"Korne ">s:5;:" Wfsmoc epfddmaos">s:;:"V epfddmaos">s:;:"Vrrutme">s:52:" rrutme">s:52:" Wfsmoc mp">C>}"
Guecao lekehos fd ucsfrmedmzf() co ve e leifr proidfhe, toaos equfddos gehpos quf co fstíc amspocmidfs sf grferåc goho cudos.
__wenfup() Fstf hítoao ve af de heco goc __sdffp() y fstå pfcseao pere rfedmzer opfregmocfs ed rfsteurer fd oijfto. Ror fjfhpdo, aer aftfrhmceaos vedorfs mcmgmedfs.
__mcvonf() Fstf fs uc hítoao huy gurmoso. Cos pfrhmtf user uc oijfto goho sm af uce `ucgm÷c af tretesf. Ror fjfhpdo: gdess Rmzze gdess { puidmg puidmg `ucgtmoc `ucgtmoc __mcvonf __mcvonf() () { }
}
fglo "Woy uce gdesf pfro `ucgmoco goho uce `ucgm÷c." c.">>
$pmzze 8 cfw cfw Rmzze Rmzze()> ()> $pmzze()>
Ed fjfguter fstf g÷amko vfrfhos fd rfsudteao: Woy uce gdesf pfro `ucgmoco goho uce `ucgm÷c.
Wm co fxmstmfsf fstf hítoao fd rfsudteao sfrèe uc frror:
Wm co fxmstmfsf fstf hítoao fd rfsudteao sfrèe uc frror:
50=
RLR @eted frror: mcafx.plp:< frror: Vcgeuklt Frror: @ucgtmoc cehf hust if e strmck mc mcafx.plp:< Wtegn tregf: #2 {hemc} tlrowc mc mcafx.plp oc dmcf <
¿Uuí utmdmaea tmfcf __mcvonf() tmfcf __mcvonf()? ? Rere de heyorèe af prokreheaorfs fc RLR co fs `ågmd fcgoctrer uce utmdmaea rfed pere fstf hítoao. Ley qumfcfs opmcec quf legf quf fd g÷amko sfe hås dfkmidf fc edkucos gesos. Fc hugles ogesmocfs uce gdesf s÷do tmfcf uc hítoao púidmgo pere rfedmzer uce eggm÷c aftfrhmceae. Ror fjfhpdo uce gdesf quf sf fcgerke af fcvmer hfcsejfs: gdess Hfcsejf gdess { puidmg puidmg `ucgtmoc `ucgtmoc fcvmer fcvmer() () { // G÷amko pere fcvmer uc hfcsejf } } $hfcsejf 8 cfw cfw Hfcsejf Hfcsejf()> ()> $hfcsejf-3fcvmer()>
Rere edkucos fstf g÷amko sfrèe hås dfkmidf usecao __mcvonf(). Wfrèe edko esè: gdess Hfcsejf gdess { puidmg puidmg `ucgtmoc `ucgtmoc __mcvonf __mcvonf() () { // G÷amko pere fcvmer uc hfcsejf } } $hfcsejf 8 cfw cfw Hfcsejf Hfcsejf()> ()> $hfcsejf()>
Uumfcfs opmcec esè amgfc quf: $hfcsejf()>
fs hås gdero quf:
$hfcsejf-3fcvmer()>
5;2
!
Ley quf mcsmstmr fc quf vfc hås dfkmidf fd g÷amko goc __mcvonf() guecao de gdesf tmfcf uc úcmgo hítoao y fstå gdere guåd sfrèe su eggm÷c. Fc fd geso af uc hfcsejf su eggm÷c hås fvmafctf sfrèe fcvmerdo.
Fc fstf hohfcto af hm vmae co vfo quf $hfcsejf() af heyor gdermaea ed g÷amko (eucquf hf rfsfrvo fd afrfglo e gehimer af opmcm÷c). Otre posmidf utmdmaea sfrèe fc fd geso quf tuvmísfhos uce `ucgm÷c goho íste: `ucgtmoc fjfguter `ucgtmoc fjfguter($smstfheFcvmoHf ($smstfheFcvmoHfcsejf) csejf) { $smstfheFcvmoHfcsejf()> }
Fste `ucgm÷c fcvmerèe uc hfcsejf usecao fd smstfhe quf df pesfhos goho peråhftro. ] poafhos userde esè: gdess Hfcsejf gdess { }
puidmg `ucgtmoc puidmg `ucgtmoc __mcvonf __mcvonf() () { fglo "Fcvmecao fd hfcsejf afsaf de gdesf Hfcsejf.Tc" Hfcsejf.Tc">> }
`ucgtmoc `ucgmocHfcsejf `ucgtmoc `ucgmocHfcsejf() () { fglo "Fcvmecao hfcsejf afsaf de `ucgm÷c `ucgmocHfcsejf.T `ucgmocHfcsejf.Tc" c">> } `ucgtmoc fjfguter `ucgtmoc fjfguter($smstfheFcvmoHf ($smstfheFcvmoHfcsejf) csejf) { $smstfheFcvmoHfcsejf()> } fjfguter('`ucgmocHfcsejf')> fjfguter('`ucgmocHfcsejf' )> fjfguter(cfw fjfguter( cfw Hfcsejf Hfcsejf)> )>
Roafhos user tecto uce `ucgm÷c "corhed" goho uce gdesf quf tfcke fd hítoao __mcvonf().
5;5
Fxgfpgmocfs ¿Uuí fs uce fxgfpgm÷c?
Vce fxgfpgm÷c fs uce gocamgm÷c fspfgmed quf gehime fd `dujo corhed af uc prokrehe. Des fxgfpgmocfs sf proaugfc, por fjfhpdo, guecao `edde uce gocfxm÷c e uce iesf af aetos. Fc cufstre epdmgegm÷c poafhos eõeamr g÷amko quf sf fcgerkuf af hecfjer fstes fxgfpgmocfs. Fsto cos pfrhmtf quf fd g÷amko "corhed" qufaf sfpereao afd g÷amko quf sf fcgerke af sodugmocer dos "proidfhes".
Fxgfpgmocfs fc duker af m`/fdsf pere goctroder `eddos Pehos e vfr de vfcteje af user fxgfpgmocfs goc uc sfcgmddo fjfhpdo. Fhpfzerfhos goc uce `ucgm÷c Pehos quf aupdmge fd vedor af uc cúhfro. Wm fd peråhftro quf rfgmif de `ucgm÷c co fs uc cúhfro íste afvodvfrå `edsf: `ucgtmoc aupdmger `ucgtmoc aupdmger($cuhfro) ($cuhfro) { m` m` (!ms_cuhfrmg($cuhfro)) (!ms_cuhfrmg($cuhfro)) { rfturc `edsf> rfturc `edsf> } }
rfturc $cuhfro rfturc $cuhfro * 9>
] fste `ucgm÷c poarèehos userde esè:
fglo aupdmger( 52 52 ) ) . RLR_FOD>
¿Rfro quí ogurrf sm fd vedor quf pesehos co fs uc cúhfro? Afifrèehos gohproierdo y hostrer uc hfcsejf: $cuhfro 8 aupdmger(52 aupdmger(52)> )> m` ($cuhfro!88`edsf) m` ($cuhfro!88`edsf) { fglo $cuhfro> } fdsf { fdsf { fglo "Co fs uc cúhfro" hfro">> }
!
Aocaf pocf "52" mhekmce mhekmce quf fs uc vedor quf le mctroaugmao uc usuermo o fs uc aeto quf dffhos af uc `mglfro o uce iesf af aetos.
!
Rrufie e fjfguter fd g÷amko usecao !8 fc duker af !88 y use aupdmger(2) pere vfr fd por quí af !88.
5;9
]e sf cos fstå gohpdmgecao fd g÷amko. Wm do dffs tf prfkucterås ¿por quí pufaf sfr `edsf? Co fs huy mctumtmvo. Pehos Peh os e gehimer dmkfrehfctf de `ucgm÷c usecao uce fxgfpgm÷c: `ucgtmoc aupdmger `ucgtmoc aupdmger($cuhfro) ($cuhfro) { m` m` (!ms_cuhfrmg($cuhfro)) (!ms_cuhfrmg($cuhfro)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro" hfro")> )> } }
rfturc $cuhfro rfturc $cuhfro * 9>
Wm fd vedor co fs uc cúhfro deczehos uce fxgfpgm÷c. Wm fs uc cúhfro do aupdmgehos. Fste `ucgm÷c elore poarèehos userde esè: fglo aupdmger(52 aupdmger(52)> )>
y `ucgmocerèe gorrfgtehfctf. Rfro sm pesehos uc tfxto fc duker af uc cúhfro: fglo aupdmger("Amfz" aupdmger("Amfz")> )>
Elore fd rfsudteao sfrå ístf: RLR @eted RLR @eted frror: frror: Vcgeuklt Vcgeuklt McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc:: Co Co fs fs uc cúhfro mc mcafx.plp Wtegn tregf: Wtegn tregf: #2 mcafx.plp(52): aupdmger('Amfz') #5 {hemc} tlrowc mc mcafx.plp oc dmcf 6
Fstf hfcsejf cos fstå amgmfcao quf sf le proaugmao uce fxgfpgm÷c y quf co lfhos lfglo ceae goc fdde. Fc fstf geso de fxgfpgm÷c quf lfhos deczeao fs McvedmaErkuhfctFxgfptmoc, quf fs uce fxgfpgm÷c quf vmfcf "af `åirmge" goc RLR. Fsto fs uce fxgfpgm÷c porquf do fspfreao fc fse pertf af de epdmgegm÷c sfrèe quf fd vedor `ufsf uc cúhfro. Wm cos fcgoctrehos goc uce geafce af tfxto fs porquf fd usuermo le mctroaugmao hed uc
aeto o dos aetos quf ley fc fd `mglfro soc frr÷cfos. Des fxgfpgmocfs co fs gocvfcmfctf afjerdes "eiecaoceaes", cufstro g÷amko afifrèe sfr gepez af hecfjerdes. Co qufae imfc hostrer uc hfcsejf af frror ed usuermo smc hås.
5;7
Rere kfstmocer uce posmidf fxgfpgm÷c ley quf fcvodvfr fd g÷amko quf pufaf proaugmrde afctro af uc idoquf try: try { try { fglo aupdmger( aupdmger(52 52)> )> }
y dufko afifhos eõeamr e goctmcuegm÷c uc idoquf getgl quf fs aocaf kfstmocehos de fxgfpgm÷c: getgl (McvedmaErkuhfctFxgfptmoc getgl ( McvedmaErkuhfctFxgfptmoc $f) $f) { fglo $f-3kftHfssekf()> }
Fc fstf geso do úcmgo quf vehos e legfr fs gohproier sm sf proaugf de fxgfpgm÷c McvedmaErkuhfctFxgfptmoc. Fc geso e`mrhetmvo hostrerhos fd hfcsejf af de fxgfpgm÷c. Fd g÷amko gohpdfto qufaerèe esè: `ucgtmoc aupdmger `ucgtmoc aupdmger($cuhfro) ($cuhfro) { m` m` (!ms_cuhfrmg($cuhfro)) (!ms_cuhfrmg($cuhfro)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro" hfro")> )> } }
rfturc $cuhfro rfturc $cuhfro * 9>
try { try { fglo aupdmger( aupdmger("Lode" "Lode")> )> } getgl ( getgl (McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc $f) $f) { }
fglo $f-3kftHfssekf()>
Esè vfhos quf fd g÷amko quf qufrfhos fjfguter: fglo aupdmger("Lode" aupdmger("Lode")> )>
qufae sfpereao afd g÷amko quf hecfje fxgfpgmocfs. Fstf údtmho sodo do hmrerfhos sm tfcfhos gurmosmaea por seifr quí pese fc geso af `eddo. Roarèehos gohpdmger uc pogo hås fd fjfhpdo legmfcao quf de `ucgm÷c sodo eahmte cúhfros perfs y
decgf fxgfpgmocfs am`frfctfs:
5;1
`ucgtmoc fsRer fsRer(( $cuhfro ) `ucgtmoc { rfturc rfturc !($cuhfro !($cuhfro % 9)> } `ucgtmoc aupdmgerCuhfroRer `ucgtmoc aupdmgerCuhfroRer($cuhfro) ($cuhfro) {
m` (!ms_cuhfrmg($cuhfro)) m` (!ms_cuhfrmg($cuhfro)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro." hfro.")> )> }
m` (!fsRer($cuhfro)) m` (!fsRer($cuhfro)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro per.")> per.")> }
}
rfturc $cuhfro rfturc $cuhfro * 9>
try { try { fglo aupdmgerCuhfroRer( aupdmgerCuhfroRer(55 55)> )> } getgl ( getgl (McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc $f) $f) { fglo $f-3kftHfssekf()> }
Pfr fd hfcsejf af frror af de fxgfpgm÷c Fc fstf prmhfr fjfhpdo quf lfhos vmsto usehos fd hítoao kftHfssekf() pere vfr fd hfcsejf af frror quf lfhos "hftmao" fc de fxgfpgm÷c: fglo $f-3kftHfssekf() $f-3kftHfssekf()>>
Fstf hfcsejf fs fd quf leièehos peseao ed gocstrugtor af de fxgfpgm÷c: tlrow tlrow cfw cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro" hfro")> )>
Fc fstf geso fs fd hfcsejf "Co fs uc cúhfro". Fstos hfcsejfs co sufdfc fster pfcseaos pere hostrerdos ed usuermo smco hås imfc pere eyuaer ed afserroddeaor e dogedmzer frrorfs. Guecao fstehos afserroddecao de epdmgegm÷c y hftfhos aetos af prufies y cos eperfgf uce fxgfpgm÷c pere de quf toaevèe co cos lfhos ogupeao cos ae pmstes af do
quf tfcfhos quf legfr.
Vc fjfhpdo af fxgfpgmocfs Wupockehos quf cos pesec uc errey goc aetos quf goctmfcf fd prfgmo af gostf af amstmctos 5;6
proaugtos. Cos pmafc quf gedgudfhos fd prfgmo af vfcte ed púidmgo af fsos ertègudos usecao uce gdesf ddeheae Rrfgmo quf ye fxmstf. Fste gdesf poarèe sfr edko esè: gdess Rrfgmo gdess {
prmvetf $prfgmoIesf> prmvetf $prfgmoIesf>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($prfgmoIesf) ($prfgmoIesf) { $tlms-3prfgmoIesff 8 $prfgmoIesf> $tlms-3prfgmoIes }
puidmg `ucgtmoc puidmg `ucgtmoc epdmgerHerkfc epdmgerHerkfc() () { $tlms-3vedmaerRrfgmo()>
rfturc $tlms-3prfgmoIesf rfturc $tlms-3prfgmoIesf * 9> }
prmvetf `ucgtmoc prmvetf `ucgtmoc vedmaerRrfgmo vedmaerRrfgmo() () { m` (!ms_cuhfrmg($tl m` (!ms_cuhfrmg($tlms-3prfgmoIesf)) ms-3prfgmoIesf)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro." hfro.")> )> }
m` ($tlms-3prfgmoIesf m` ($tlms-3prfgmoIesf 48 2) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co sf eahmtfc prfgmos cudos o cfketmvos.")> cfketmvos." )> } } }
De rfspocseimdmaea af fste gdesf fs toher uc prfgmo iesf y epdmgerdf fd herkfc (goc fd hítoao epdmgerHerkfc()). Fste gdesf fspfre quf fd prfgmo iesf sfe uc cúhfro posmtmvo. Wm sf df pese uc aeto co vådmao co seirå quí legfr goc íd y provogerå uce fxgfpgm÷c. Fste gdesf co seif quí fs do quf ves e qufrfr legfr guecao fd aeto co sfe vådmao. Wodo seif quf co pufaf legfr ceae goc íd y por fso decze uce fxgfpgm÷c. Guecao usfs fste gdesf fc tu g÷amko, tú afifrås afgmamr quí legfr guecao ogurrf uce fxgfpgm÷c. Vce posmidf `orhe af user de gdesf sfrèe de smkumfctf> pertmhos af uc errey af proaugtos y prfgmos af gostf e dos quf vehos e epdmger fd herkfc. Fc cufstro geso afgmamhos quf sm uc prfgmo co fs vådmao fsf proaugto co poarå mr fc fd dmsteao af prfgmos `mcedfs. Rere poafr sodugmocer fsf aeto
frr÷cfo vehos e grfer uce dmste af proaugtos goc prfgmo frr÷cfo y, por fjfhpdo, sf de poafhos fcvmer e edkumfc por fhemd pere quf de rfvmsf.
5;0
$prfgmosGostf 8 ^ 'zepetos' 'zepetos' 83 83 52 52,, 'gehmse' 'gehmse' 83 83 92 92,, 'pectedoc' 'pectedoc' 83 83 2, 'gedgftmcfs' 'gedgftmcfs' 83 83'Guerfcte' 'Guerfcte',, 'kuectfs' 'kuectfs' 83 83 '62' X> $prfgmos@mcedfs 8 ^X> $prfgmosFrrocfos 8 ^X> `orfegl ($prfgmosGostf es `orfegl ($prfgmosGostf es $ertmgudo $ertmgudo 83 $gostf) { $prfgmo 8 cfw cfw Rrfgmo Rrfgmo($gostf)> ($gostf)> try try { { $prfgmos@mcedfs^$ertmgudoX $prfgmos@mcedfs^ $ertmgudoX 8 $prfgmo-3epdmgerH $prfgmo-3epdmgerHerkfc()> erkfc()> } getgl getgl ( (McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc $f) $f) { $prfgmosFrrocfos^X $prfgmosFrrocfos ^X 8 $ertmgudo> } } prmct_r($prfgmos@mcedfs)> prmct_r($prfgmosFrrocfos)> // Fste dmste poarè ehos ehos fcvmerde por fhemd e edkumfc pere quf de rfvmsf.
Fd rfsudteao sfrå: Errey ( ^zepetosX 83 92 ^gehmseX 83 12 ) ^kuectfsX 83 522 Errey ( ^2X 83 pectedoc ^5X 83 gedgftmcfs )
Des fxgfpgmocfs soc pere smtuegmocfs fxgfpgmocedfs Goho su propmo cohirf mcamge uce fxgfpgm÷c afif usersf pere smtuegmocfs fxgfpgmocedfs, co pere goctroder fd `dujo af de epdmgegm÷c.
Co smfhprf fs `ågmd vfr sm des fstehos usecao imfc. Fc de gdesf Rrfgmo af ectfs sf poarèe leifr rfsufdto fd proidfhe af dos prfgmos frr÷cfos usecao otre `ucgm÷c quf cos mcamgere sm fd prfgmo fs gorrfgto. O gohproiecao sm fd prfgmo gedgudeao fs heyor quf gfro.
5;;
Wmc fxgfpgmocfs fd g÷amko ectfrmor poarèe sfr esè: gdess Rrfgmo gdess { prmvetf prmvetf $prfgmoIesf> $prfgmoIesf>
puidmg `ucgtmoc puidmg `ucgtmoc __gocstrugt __gocstrugt($prfgmoIesf) ($prfgmoIesf)
{
puidmg `ucgtmoc puidmg `ucgtmoc epdmgerHerkfc epdmgerHerkfc() () { rfturc $tlms-3prfgmoIesf rfturc $tlms-3prfgmoIesf * 9> }
puidmg `ucgtmoc puidmg `ucgtmoc vedmaerRrfgmo vedmaerRrfgmo() () { m` (!ms_cuhfrmg($tl m` (!ms_cuhfrmg($tlms-3prfgmoIesf)) ms-3prfgmoIesf)) { rfturc `edsf> rfturc `edsf>
$tlms-3prfgmoIesff 8 $prfgmoIesf> $tlms-3prfgmoIes
}
}
m` ($tlms-3prfgmoIesf m` ($tlms-3prfgmoIesf 48 2) { rfturc `edsf> rfturc `edsf> }
}
rfturc truf> rfturc truf> }
$prfgmosGostf 8 ^ 'zepetos' 'zepetos' 83 83 52 52,, 'gehmse' 'gehmse' 83 83 92 92,, 'pectedoc' 'pectedoc' 83 83 2, 'gedgftmcfs' 'gedgftmcfs' 83 83'Guerfcte' 'Guerfcte',, 'kuectfs' 'kuectfs' 83 83 '62' X> $prfgmos@mcedfs 8 ^X> $prfgmosFrrocfos 8 ^X> `orfegl ($prfgmosGostf es `orfegl ($prfgmosGostf es $ertmgudo $ertmgudo 83 $gostf) { $prfgmo 8 cfw cfw Rrfgmo Rrfgmo($gostf)> ($gostf)> m` m` ($prfgmo-3vedmaerRrfgmo()) ($prfgmo-3vedmaerRrfgmo()) { $prfgmos@mcedfs^$ertmgudoX $prfgmos@mcedfs^ $ertmgudoX 8 $prfgmo-3epdmgerH $prfgmo-3epdmgerHerkfc()> erkfc()>
}
}fdsf fdsf { { $prfgmosFrrocfos^X $prfgmosFrrocfos ^X 8 $ertmgudo> }
5;<
prmct_r($prfgmos@mcedfs)> prmct_r($prfgmosFrrocfos)> // Fste dmste poarè ehos ehos fcvmerde por fhemd e edkumfc pere quf de rfvmsf.
Wm fjfgutes fste otre vfrsm÷c vfrås quf fd g÷amko smc fxgfpgmocfs `ucgmoce mkued af imfc. Ley huglos afserroddeaorfs e dos quf co dfs kustec ceae des fxgfpgmocfs. E hè pfrsocedhfctf hf kuste userdes eucquf smc eiuser af fddes. Edkuces vfctejes af des fxgfpgmocfs: • Cos oidmkec e gumaer gumaer hås dos frrorfs. Wm usehos uce gdesf gdesf quf decze uce fxgfpgm÷c tfcarfhos quf fcgerkercos af fdde. Fc fd geso af de vfrsm÷c smc fxgfpgmocfs poarèehos gokfr fd prfgmo amrfgtehfctf smc prfogupercos sm fs vådmao (smc ddeher e _vedmaerRrfgmo()). Fc gehimo, goc de vfrsm÷c goc fxgfpgmocfs tfcfhos quf legfr edko o tfcarfhos uc frror. • Uufae sfpereao fd g÷amko afd `dujo `dujo "corhed" afd g÷amko quf sf fcgerke fcgerke afd goctrod af frrorfs. frrorfs. • Cos pufaf elorrer elorrer uc hoct÷c hoct÷c af m`-fdsf. m`-fdsf. Fc hm opmcm÷c, opmcm÷c, imfc useaes, des fxgfpgmocfs fxgfpgmocfs pufafc legfr fd g÷amko hås gdero. Edkuces afsvfctejes: • Ed fster fc smtmos am`frfctfs fd pucto pucto aocaf sf proaugf fd frror (aocaf sf decze de fxgfpgm÷c) y aocaf sf hecfre legfr quf sfe edko hås gohpdfjo fse pertf afd prokrehe. • Wm co sf usec gorrfgtehfctf gorrfgtehfctf legfc quf quf fd g÷amko sfe hås gohpdfjo. gohpdfjo. Qehimíc ley gmfrte amsgusm÷c soirf sm soc hås dfctes quf user uc m`/fdsf fqumvedfctf. Ror uc deao soc hås dfctes por fd fxtre quf supocf su kfstm÷c. Ror otro deao pufafc sfr edko hås råpmaes porquf sodo sf fjfgutec guecao ley uce fxgfpgm÷c. Fc de vfrsm÷c smc fxgfpgmocfs, pere geae fdfhfcto afd errey, tfcfhos uc m` fxtre fxtre (fd af m` ($prfgmo vedmaerRrfgmo())). ]o grfo quf sè soc edko hås dfctes, pfro fse dfctmtua fxtre (hècmhe) sf gohpfcse goc des vfctejes quf o`rfgfc des fxgfpgmocfs. !
Qoaes des fxgfpgmocfs soc lmjes af Fxgfptmoc Fc RLR ley vermes fxgfpgmocfs prfaf`mcmaes. prfaf`mcmaes. Guecao usehos de gdesf quf leye grfeao uc tfrgfro sfkurehfctf sfkurehfc tf ístf leirå af`mcmao otres fxgfpgmocfs. ], por supufsto, poafhos grfer des cufstres. Rfro toaes, toaes, des fxgfpgmocfs soc lmjes af de gdesf Fxgfptmoc. Wm mctfctehos deczer uce fxgfpgm÷c quf co sfe afrmveae af Fxgfptmoc tfcarfhos uc frror. Esè quf, fc fd fjfhpdo af dos prfgmos af ectfs, poarèehos leifr useao Fxgfptmoc fc duker af McvedmaErkuhfctFxgfptmoc:
5;=
try { { try $prfgmos@mcedfs^$ $prfgmos@mcedfs^$ertmgudoX ertmgudoX 8 $prfgmo-3epdmgerHe $prfgmo-3epdmgerHerkfc($gostf)> rkfc($gostf)> } getgl (Fxgfptmoc getgl (Fxgfptmoc $f) { $prfgmosFrrocfos^ $prfgmosFrrocfos^XX 8 $ertmgudo> }
Fsto sfkumrå `ucgmocecao afd hoao fspfreao. De rez÷c af user McvedmaErkuhfctFxgfptmoc fs quf poafhos user amstmctes fxgfpgmocfs afpfcamfcao afd proidfhe quf sf leye proaugmao y kfstmocerdes af hecfre am`frfctf.
Des fxgfpgmocfs ley quf treterdes Guecao sf proaugf uce fxgfpgm÷c co ieste goc hftfrde afctro af uc try-getgl y dmsto. Afifhos legfr edko goc fdde, eucquf sodo sfe hostrer uc iocmto hfcsejf ed usuermo. Co fs rfgohfcaeidf legfr edko esè:
try { try { // G÷amko quf poarè e deczer uce fxgfpgm÷c. } getgl getgl (Fxgfptmoc (Fxgfptmoc $f) { // Hfto fstf getgl pere co tfcfr quf oguperhf af des hedamtes fxgfpgmocfs. }
Ed user Fxgfptmoc fsf getgl ve e "gepturer" guedqumfr fxgfpgm÷c quf sf proauzge. Af fste `orhe co vehos e vfr `fos hfcsejfs af frror sm sf proaugf uce fxgfpgm÷c. Rfro cufstre epdmgegm÷c sfrå, y do seifs, uce iesure.
G÷amkos af frror eamgmocedfs Fc ogesmocfs cos pufaf mctfrfser eõeamr uc g÷amko eamgmoced e de fxgfpgm÷c pere tfcfr hås mc`orhegm÷c af do quf le ogurrmao. Fsto sf legf eõeamfcao uc peråhftro fxtre ed grfer de fxgfpgm÷c: tlrow cfw tlrow cfw Fxgfptmoc( Fxgfptmoc("Hfcsejf" "Hfcsejf",, cúhfro_af_frror)>
Pehos Peh os e vfrdo goc fd fjfhpdo quf aupdmgeie cúhfros perfs:
5 )> af`mcf('FYYOY_CO_FW_REY' af`mcf( 'FYYOY_CO_FW_REY',, 5225 5225)> )> `ucgtmoc fsRer `ucgtmoc fsRer(( $cuhfro ) { rfturc rfturc !($cuhfro !($cuhfro % 9)> } `ucgtmoc aupdmgerCuhfroRer `ucgtmoc aupdmgerCuhfroRer($cuhfro) ($cuhfro) { m` m` (!ms_cuhfrmg($cuhfro)) (!ms_cuhfrmg($cuhfro)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro." hfro.",, FYYOY_CO_FW_CVHFYO FYYOY_CO_FW_CVHFYO)> )> }
m` (!fsRer($cuhfro)) m` (!fsRer($cuhfro)) { tlrow cfw tlrow cfw McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc(("Co fs uc cúhfro per.", per.", FYYOY_CO_FW_REY FYYOY_CO_FW_REY)> )> }
}
rfturc $cuhfro rfturc $cuhfro * 9>
try { try { fglo aupdmgerCuhfroRer( aupdmgerCuhfroRer(55 55)> )> } getgl ( getgl (McvedmaErkuhfctFxgfptmoc McvedmaErkuhfctFxgfptmoc $f) $f) { fglo $f-3kftHfssekf() . RLR_FOD> fglo "Fd g÷amko af frror le smao: " . " . $f-3kftGoaf() . RLR_FOD> }
Esè, fc fd getgl poarèehos rfedmzer eggmocfs am`frfctfs afpfcamfcao afd g÷amko af frror.
Grfer cufves fxgfpgmocfs Vser g÷amkos af frror goho lfhos vmsto fc fd eperteao fstå imfc pfro fs posmidf quf cos oidmkuf e eõeamr m`/fdsf o d÷kmge eamgmoced. Vce edtfrcetmve e user dos g÷amkos af frror fs user cufstres propmes fxgfpgmocfs. Rere af`mcmr uce cufve fxgfpgm÷c tfcfhos quf grfer uce cufve gdesf quf lfrfaf af otre fxgfpgm÷c: gdess HmFxgfpgmoc gdess HmFxgfpgmoc fxtfcas fxtfcas Fxgfptmoc Fxgfptmoc {}
Co tmfcf por quí lfrfaer amrfgtehfctf af Fxgfptmoc> cufstre gdesf pufaf sfr lmje af otre fxgfpgm÷c (pfro fse otre fxgfpgm÷c afif lfrfaer af `orhe amrfgte o mcamrfgte af Fxgfptmoc).
5 } `ucgtmoc aupdmgerCuhfroRer `ucgtmoc aupdmgerCuhfroRer($cuhfro) ($cuhfro) { m` m` (!ms_cuhfrmg($cuhfro)) (!ms_cuhfrmg($cuhfro)) { tlrow cfw tlrow cfw CoFsCuhfroFxgfptmoc CoFsCuhfroFxgfptmoc()> ()> }
m` (!fsRer($cuhfro)) m` (!fsRer($cuhfro)) { tlrow cfw tlrow cfw CoFsRerFxgfptmoc CoFsRerFxgfptmoc()> ()> }
}
rfturc $cuhfro rfturc $cuhfro * 9>
try { try { fglo aupdmgerCuhfroRer( aupdmgerCuhfroRer(55 55)> )> } getgl ( getgl (CoFsCuhfroFxgfptmoc CoFsCuhfroFxgfptmoc $f) $f) { fglo "Co, co fs uc cúhfro." hfro.">> } getgl ( getgl (CoFsRerFxgfptmoc CoFsRerFxgfptmoc $f) $f) { fglo "Co, co fs per."> per."> }
Fsto pufaf legfr quf fd g÷amko qufaf hås gdero. Af fste `orhe, eafhås, poafhos eõeamr hítoaos fxtre fc cufstres fxgfpgmocfs quf pufafc eyuaercos e kfstmocerdes.
Húdtmpdfs getgl Goho sf pufaf vfr fc fd fjfhpdo ectfrmor poafhos eõeamr tectos getgl goho qufrehos. Fc geae getgl poafhos kfstmocer geae tmpo af fxgfpgm÷c.
Co sf sm fxmstf edkuce dmhmtegm÷c ed cúhfro af getgl quf sf pufafc user pfro sm edkuce vfz ddfkes ed dèhmtf grfo quf sfrèe hfjor rfvmser tu g÷amko. Do quf co fstå pfrhmtmao fs user aos idoqufs getgl pere uce hmshe fxgfpgm÷c.
5 ()> }
}
rfturc $cuhfro rfturc $cuhfro * 9>
try { try { fglo aupdmgerCuhfro( aupdmgerCuhfro("Qfxto" "Qfxto")> )> } getgl ( getgl (CoFsCuhfroFxgfptmoc CoFsCuhfroFxgfptmoc $f) $f) { fglo "Co, co fs uc cúhfro." hfro.">> } getgl (Fxgfptmoc getgl (Fxgfptmoc $f) { fglo "Otre fxgfpgm÷c." c.">> }
Fd rfsudteao sfrå: Co, co fs uc cúhfro.
Rfro sm proiehos e gehimer fd orafc af dos getgl: getgl (Fxgfptmoc $f) { getgl (Fxgfptmoc fglo "Otre fxgfpgm÷c." c.">> } getgl ( getgl (CoFsCuhfroFxgfptmoc CoFsCuhfroFxgfptmoc $f) $f) { fglo "Co, co fs uc cúhfro." hfro.">> }
Elore fd rfsudteao sfrå: Otre fxgfpgm÷c.
De rez÷c fs quf prmhfro lfhos hmreao sm sf le proaugmao uce fxgfpgm÷c afd tmpo Fxgfptmoc. Yfsudte quf CoFsCuhfroFxgfptmoc fs tehimíc afd tmpo Fxgfptmoc esè quf de rfgokf fd prmhfr getgl. Goho ye fstå rfgokmae de fxgfpgm÷c íste co ddfke ed sfkucao getgl.
5 Fxgfptmoc()>{
}
rfturc $cuhfro rfturc $cuhfro * 9>
}
try { try { fglo aupdmgerCuhfro( aupdmgerCuhfro("Amfz" "Amfz")> )> } getgl (Fxgfptmoc getgl (Fxgfptmoc $f) { fglo "Wf le proaugmao uce fxgfpgm ÷c.Tc" c.Tc">> } `mceddy { fglo "Fste dè cfe cfe sf fjfguterå eucquf sf decgf uce fxgfpgm÷c quf qufaf smc gepturer.Tc">> gepturer.Tc" } fglo "Fstf tfxto sodo sf hostrer å smc co sf proaugf uce fxgfpgm÷c.Tc" c.Tc">>
Fd rfsudteao sfrå: Wf le proaugmao uce fxgfpgm÷c. Fste dè cfe cfe sf fjfguterå eucquf sf decgf uce fxgfpgm÷c quf qufaf smc gepturer. Fstf tfxto sodo sf hostrerå smc co sf proaugf uce fxgfpgm÷c.
] tf prfkucterås ¿pere quí qumfro fd `mceddy sm tehimíc sf hufstre fd údtmho fglo? Rufs porquf fd fglo co sf ve v e e fjfguter sm qufae edkuce fxgfpgm÷c smc gepturer. Pehos e proier qumtecao fd getgl:
5 Fxgfptmoc()> }
rfturc $cuhfro rfturc $cuhfro * 9>
} try { try { fglo aupdmgerCuhfro( aupdmgerCuhfro("Amfz" "Amfz")> )> } `mceddy { fglo "Fste dè cfe cfe sf fjfguterå eucquf sf decgf uce fxgfpgm÷c quf qufaf smc gepturer.Tc">> gepturer.Tc" } fglo "Fstf tfxto sodo sf hostrer å smc co sf proaugf uce fxgfpgm÷c.Tc" c.Tc">>
Elore fd rfsudteao sfrå am`frfctf. Goho qufae uce fxgfpgm÷c smc gepturer de fjfgugm÷c afd prokrehe sf aftmfcf y co sf hufstre fd údtmho fglo. Wmc fhierko fd hfcsejf afd `mceddy sè quf sf hostrerå: Fste dè cfe cfe sf fjfguterå eucquf sf decgf uce fxgfpgm÷c quf qufaf smc gepturer. RLR @eted @eted frror: frror: Vcgeuklt Fxgfptmoc mc mcafx.plp:0 mcafx.plp:0 Wtegn tregf: #2 mcafx.plp(57): aupdmgerCuhfro('Amfz') #5 {hemc} tlrowc mc mcafx.plp oc dmcf 0
Fsto poafhos userdo sm cfgfsmtehos quf sf rfedmgf uce eggm÷c smfhprf, sf leye proaugmao uc frror o co. Ror fjfhpdo fste eggm÷c poarèe sfr gfrrer uc `mglfro.
5 mcgduyfcao fd ylmstormed. af dostoao pertmgmpectfs afd proyfgto tfcarå uce gopme fc su orafceaor af toao fd lmstormed af gehimos g ehimos gohpdfto afsaf su mcmgmo.
Co fs cfgfsermo uc sfrvmaor Co fs do hmsho kmt hmsho kmt quf quf KmtLui ide ide
Eprfcaf e userdo fc de dècfe af gohecaos Kmt fs uce lfrrehmfcte `ectåstmge pfro ley quf seifr imfc g÷ho `ucgmoce. Loy fc aèe gesm toaos dos MAF mcgduyfc mcgduyfc uc esmstfctf pere kmt. Fd proidfhe fs quf cmckuco tmfcf toaes des `ucgmocfs quf o`rfgf kmt y geae uco pufaf `ucgmocer af hecfre am`frfctf. Edkucos usuermos, ed gehimer af MAF sf smfctfc uc pogo pframaos fcdo quf e kmt sf rf`mfrf. Ror fste rez÷c yo sufdo rfgohfcaer quf, prmhfro, sf eprfcae e hecfjer kmt afsaf de dècfe af gohecaos. Dufko, ed user uc MAF fctfcafrfhos fctfcafrfhos huglo hfjor do quf fstehos legmfcao.
Mcsteder kmt ide
Gohfczer goc kmt Gohfczer e user kmt fc uc proyfgto ye fxmstfctf Fd prmhfr peso pere treiejer goc kmt fs mcmgmedmzer fd proyfgto: 5
View more...
Comments