renathy Posted October 6, 2010 Report Share Posted October 6, 2010 Man te iedots viens uzdevums: Dots kods: <?php $test = new testClass(); $test->a = 'a'; $test->b = 'b'; foreach( $test as $key => $value ){ echo $key . ' : ' . $value . "\n"; } ?> Uzdevums ir ar OO un iterator design pattern papildinaat kodu, lai izdruka butu a: a b: b Pie tam, ja pievieno jaunus elementus klasei, tiem japaradas iznakuma... Vai varat ludzu tikt skaidriba ar uzdevuma butibu? Cik saprotu man jataisa testClass klase, kura jataisa savs iterators vai kaa isti saprast? No otras puses es nesaprotu kapec tas vajadzigs, ja es uztaisu vienkarshi klasi ar diviem public mainigiem a un b, tad foreach ari automatiski pa vinjiem iteresies un nekadi savi iteratori nav vajadzigi...? Man kaut kas sajuka... Quote Link to comment Share on other sites More sharing options...
bubu Posted October 6, 2010 Report Share Posted October 6, 2010 Vai tad grūti gūglē iesist jautājumu "php iterator" ? Pirmais links atbildēs: http://php.net/manual/en/class.iterator.php Iteratoros var apstrādāt custom darbības, ko ar pliku foreach nevarēs. Tipa dabūt jaunus datus no DB, vai ielādēt tos no faila, utml. Jo ne vienmēr visus datus var vienlaicīgi turēt ielādētus atmiņā. Quote Link to comment Share on other sites More sharing options...
renathy Posted October 6, 2010 Author Report Share Posted October 6, 2010 Nav grūti guglei paprasīt :) Pirmkārt, paprasīju Otrkārt, es zinu (vismaz man šķiet :)) Iteratora jēgu, rakstīju customos iteratorus c#-ā un javā. Ja man jāraksta sava klase ar kaut kādām kolekcijām vai ņemot datus no datu bāzes, tad varu tām uzrakstīt savu iteratoru. Es nesaprotu jēgu tieši dotajam uzdevumam - kas ir jādara manam pašrakstītajam Iteratoram konkrētā uzdevumā, kādas custom-ās darbības būtu jāveic? Tur it kā būtu vienkārši jāizdrukā mainīgo a un b vērtības (kas izskatās kā parastas virknes) un tad kāda jēga iteratoram, ja to var ar foreach... R. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.