eregi Posted April 19, 2009 Report Share Posted April 19, 2009 Tātad nedaudz par lapas struktūru. Index fails, kurā tiek inklūdots config.php fails, kurā savukārt ir autoload funkcija iemesta. ieks index faila tiek izsaukta funkcija, kur tālāk izvēlās, kuras klases tiek inklūdotas. Bet ne par to pašreiz ir runa. Galvenokārt tiek rewraitots urlis, ar lighttpd palīdzību, vēlāk to apstrādāju ar php - http://paste.php.lv/0029a74eea920177546005...985989?lang=php ceru, ka sapratīsiet, kas tur notiek, zinu, ka baigais haoss, bet viss urlis tiek tā sadalīts un nodefinēts, lai katrā klasē, katrā failē vienkārši, izmantojot exp_kat, zinātu pirmo urļa daļu. Tātad vēlējos uzzināt varbūt irkāts labāks risinājums? Teiksim glabāt iekš kaut kāda globāla array'a? Galvenais, lai jebkurā klasē bez īpašas vajadzības varētu uzzināt jebkuru urļa daļu. Ceru, ka sapratāt, gaidu uz kādu ieteikumu. Quote Link to comment Share on other sites More sharing options...
bubu Posted April 19, 2009 Report Share Posted April 19, 2009 Cilvēk, ciklus jālieto! Šīs 6 rindiņas aizstās visu tavu garo 42 rindu palagu: $params = array("exp_kat", "exp_id", "exp_lapa", "exp_4", "exp_5"); $exp = explode('/', $_GET['kat']); for ($i=0; $i<count($params); $i++) { define($params[$i], $exp[$i] == "" ? "" : db::escape($exp[$i])); } Quote Link to comment Share on other sites More sharing options...
eregi Posted April 19, 2009 Author Report Share Posted April 19, 2009 Jā, vispār diezgan loģiski. Bet vispār šāds variants ir pieļaujams- definēt šos linkus? Vai, tomēr mēģināt veidot kaut kādu globālu array'u ? Quote Link to comment Share on other sites More sharing options...
marcis Posted April 20, 2009 Report Share Posted April 20, 2009 Es izvēlētos masīvu, arī rekursijas dēļ. Quote Link to comment Share on other sites More sharing options...
bubu Posted April 20, 2009 Report Share Posted April 20, 2009 Kur te ir kāda rekursija? Quote Link to comment Share on other sites More sharing options...
marcis Posted April 20, 2009 Report Share Posted April 20, 2009 Te nav rekursijas, es runāju par to, ko izvēlos un kāpēc, nevis par šo konkrēto gadījumu. Quote Link to comment Share on other sites More sharing options...
eregi Posted April 20, 2009 Author Report Share Posted April 20, 2009 Mārci kaut kā tā ? global $params; $params = array(); $exp = explode('/', $_GET['kat']); $i=0; while($exp[$i] != '') { $params['exp_'.$i][db::escape($exp[$i])]; $i++; } } Quote Link to comment Share on other sites More sharing options...
bubu Posted April 20, 2009 Report Share Posted April 20, 2009 no global keyworda jēga ir tikai funkcijas kontekstā. Globālā līmenī (scope) tas neko nedod. Quote Link to comment Share on other sites More sharing options...
eregi Posted April 20, 2009 Author Report Share Posted April 20, 2009 Nu kā man iekš katras klases atrodas vairākas funkcijas, vaitad no tā global nav jēga? Quote Link to comment Share on other sites More sharing options...
bubu Posted April 20, 2009 Report Share Posted April 20, 2009 No global ir jēga, ja to raksta fjā iekšā: function xxx() { global $params; // izmantojam $params // ... } function yyy() { global $params; // izmantojam $params // ... } Ja to global raksta globālā scopē, kā jau teicu - jēgas nekādas (nezinu, bet iespējams būs pat kļūda, ja tā darīs): global $params; function xxx() { // ... } function yyy() { // ... } 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.