Sasa Posted September 16, 2011 Report Posted September 16, 2011 Man viss webs ir balstīts uz atsevišķiem kontroļiem kuriem ir savas atsevišķas metodes. Index ir visam sākums, pie kura vēršas vispirms un tad attiecīgi tālāk pa ķēdīti. Bet kā labāk realizēt tādu lietu kā apmēram ir šajā forumā, var atrast tādus linkus ?app=forums&module=post&do=reply_post . Mana doma tāda : veidot kaut ko līdzīgu, ka ir parametrs kurš izsaucis pieprasījumu, tad parametrs ko vēlas utt, bet kā šo visu realizēt koda pusē? Es domāju ar switchu pārbaudīt no kura kontroļa izsaukts pieprasījums tad visu Requestu nodot šim kontrolim uz apstrādi. Quote
briedis Posted September 16, 2011 Report Posted September 16, 2011 Kādu ietvaru tu lieto? Iesaku Kohana, tur normāli ar route'iem samappo kontrolierus/action'us un miers. Quote
daGrevis Posted September 16, 2011 Report Posted September 16, 2011 Kā jau briedis teica... visticamāk Tu meklē to, ko sauc par MVC. Sakārtotība kodā. :) Arī Es par Kohana! Quote
Sasa Posted September 17, 2011 Author Report Posted September 17, 2011 man te sanāk taisīt pašam savu. Quote
wintermute Posted September 17, 2011 Report Posted September 17, 2011 Tādā gadījumā es veidot piekrasījumu kā vienu parametru :http://who.cares/controller/action/param1/param2/etc kuru, ja pieejams mod_rewrite vai tā analogs, pārraksta kā :http://who.cares/index.php/controller/action/param1/param2/etc un, jā, šitas strādā uz visiem browseriem .. tāds kā nabagu url.rewrite Šitāda linka saturs parādīsies iekš $_SERVER['PATH_INFO'], kuru pēc tam tu caur vienu vai vairākiem preg_match(). Ja tu izmantosi switch priekš šādām operācijām , tad to iegūsi ļoti lielu un praktiski nenotestējamu koda gabalu. Quote
Sasa Posted September 19, 2011 Author Report Posted September 19, 2011 (edited) Kā tad risināms ar preg_match() ? Edited September 19, 2011 by Sasa Quote
briedis Posted September 19, 2011 Report Posted September 19, 2011 Ja pieturās pie viena stila, tad var iztikt ar explode(); list($controller, $action, $param1, $param2, $param3, ...) = explode("/", "kontrolieris/actions/param1/param2/param3"); Quote
daGrevis Posted September 19, 2011 Report Posted September 19, 2011 Man arī derētu regulārās izteiksmes samācīties... tagad ir gandrīz tāpat, kā skatīties uz Brainfuck kodu. :D Quote
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.