101111 Posted June 16, 2010 Report Share Posted June 16, 2010 Sveiki! Gribētos, lai kāds iesaka kādu MVC php freimworku (ja tāds eksistē), kurā būtu iespēja lapu salipināt kopā no neatkarīgiem moduļiem (kontrolieru, skatu un modeļu grupiņām). Man personīgi ļoti patīk Code Igniter un ir arī priekš CI papildinājumi, kas nodrošina šādu modularizāciju, bet palasot forumu izskatās ka šiem papildinājumiem vēl ir savi blakusefekti un nav ieteicami lietošanai produkcijā. Kāpēc es meklēju šādu risinājumu - gribētos kādu freimworku, kurā būtu mehānismi, kas palīdzētu rakstīt kodu neatkārtojot vienu un to pašu kodu vairākkārtīgi.. Quote Link to comment Share on other sites More sharing options...
codez Posted June 16, 2010 Report Share Posted June 16, 2010 Reālās dzīves aplikācijās praktiski nav iespējams radīt šādu modulāru kodu, lai tas strādātu kaut cik optimāli. Piemēram, būs tev 5 moduļi, kuriem vajadzēs vienu un to pašu informāciju vienā lapā. Ja šie moduļi būs neatkarīgi, tad arī šo moduļu modeļi būs neatkarīgi un beigās tas izvērsīsies 5-kāršā vienas un tās pašas informācijas apstrādē. Ja vajag uzrakstīt kaut cik optimālu kodu, tad vienmēr būs jāraugās arī uz aplikāciju kopskatā. Quote Link to comment Share on other sites More sharing options...
101111 Posted June 16, 2010 Author Report Share Posted June 16, 2010 nja, paldies par viedokli. Lai gan nav man gadiem ilgas pieredzes php programmēšanā, tomēr nedomāju ka šāda vienas un tās pašas informācijas apstrāde dotu jūtamu performances pazemināšanos. Varbūt tad jautājums tāds.. Kā MVC aplikācijās tiek galā ar to, lai vienu un to pašu html kodu nevajdzētu kopēt varākkārtīgi daudzos citos skatos? Quote Link to comment Share on other sites More sharing options...
Endijs Posted June 16, 2010 Report Share Posted June 16, 2010 Neesmu izmantojis citus, tāpēc nezināšu par citiem, taču Zend Frameworkā gala lapa tiek veidota no vairākām lietām. Zend Layout + Zend View (kurā parasti izmanto dažādus helperus: ActionHelper, Partial, Cycle, Placeholder, kā arī paša rakstītus). Tie visi ir izmantojami kā neatkarīgi klucīši no kā var salīmēt gala rezultātu. Ja sapratu ko tu jautā. Quote Link to comment Share on other sites More sharing options...
mefisto Posted June 17, 2010 Report Share Posted June 17, 2010 Nu es jau protams neko par tādām lietām nezinu, bet, imo, to ko tu gribi labak varētu norealizēt ar Kohana, izmantojot HMVC. Quote Link to comment Share on other sites More sharing options...
edgarsj Posted June 17, 2010 Report Share Posted June 17, 2010 Arī priecātos, ja kāds šādu PHP frameworku ieteiktu. Pagaidām šīs prasības man apmierina Django, kas ir Python un tāpēc dažos projektos nav vēlams. Quote Link to comment Share on other sites More sharing options...
marrtins Posted June 18, 2010 Report Share Posted June 18, 2010 (edited) Paskatījos to Kohana, bet nu... Piemēram, no dokumentācijas: foreach(ORM::factory('user', 3)->posts->where('post_date', '>', time() - (36000 * 24))->find_all() as $post) { echo $post->title; } WTF?!@#$))K) Speciāli viss tiek sarežģīts. Tā izskatās, ka gribās kodēt kā Ruby on Rails, bet netīšām "paņēmās" PHP. Edited June 18, 2010 by marrtins Quote Link to comment Share on other sites More sharing options...
codez Posted June 18, 2010 Report Share Posted June 18, 2010 Varbūt tad jautājums tāds.. Kā MVC aplikācijās tiek galā ar to, lai vienu un to pašu html kodu nevajdzētu kopēt varākkārtīgi daudzos citos skatos? Principā tie būtu Helperi vai citu Controlleru iespraušana pēc HMVC paterna. Pirmajā gadījumā, helperis ir pilnīgi neatkarīgs no visas aplikācijas, jo visus sev nepieciešamos datus jau saņem gatavus kā parametrus. Otrajā gadījumā, kontrolieris nav neatkarīgs no aplikācijas, jo izmanto aplikācijas modeļus, kurus izmanto citi kontrolieri. Bet vispārīgi, ja vajadzīgas kādas konkrētas lietas, kāds konkrētā veidā realizēts MVC patterns, tad uztaisiet to paši. Tas aizņems dažus simtus rindiņu koda, bet būs tieši tāds, kādu jums to vajag. Kur ir problēma? Savukārt ORM ar MVC nav nekāda sakara, savam MVC var pievienot jebkuru no gatavajiem opensource ORM projektiem, ja nav vēlme viedot sev pielāgotu ORM fw. Quote Link to comment Share on other sites More sharing options...
Toms Posted June 18, 2010 Report Share Posted June 18, 2010 (edited) Paskatījos to Kohana, bet nu... Piemēram, no dokumentācijas: foreach(ORM::factory('user', 3)->posts->where('post_date', '>', time() - (36000 * 24))->find_all() as $post) { echo $post->title; } WTF?!@#$))K) Speciāli viss tiek sarežģīts. Tā izskatās, ka gribās kodēt kā Ruby on Rails, bet netīšām "paņēmās" PHP. Nekas netiek speciāli sarežģīts. Iepazīsties ar ORM, CRUD un Active record pattern. Un PHP sniedz to, ko tas sniedz, tāpēc RoR, JAVA, Python un pārējie lūdzams nespamot. Edit priekš tiem, kas vēlas mācīties: Lietojam kohana v3, nevis v2!! http://kohanaframework.org/ Lasam šo dokumentāciju: http://kohanaframework.org/guide/about.kohana Lasam šo Wiki: http://kerkness.ca/wiki/doku.php Un, protams, lasam pašu KO3 kodu. Tur katra funkcija un process ar komentāriem ļoti labi aprakstīts. Edited June 18, 2010 by Toms Quote Link to comment Share on other sites More sharing options...
Mr.Key Posted June 19, 2010 Report Share Posted June 19, 2010 Tas ir jautājums par reliģisko piederību... :D Quote Link to comment Share on other sites More sharing options...
GS_ Posted August 22, 2010 Report Share Posted August 22, 2010 Speciāli viss tiek sarežģīts. Tā izskatās, ka gribās kodēt kā Ruby on Rails, bet netīšām "paņēmās" PHP. Frameworki vienmer bus sarezgitaki par pliku PHP jo frameworki uzspiez uzturet kartibu. Kops pargaju uz CodeIgniter uz vecajam sourcem pat skatities negribas, iesaku ;) Quote Link to comment Share on other sites More sharing options...
codez Posted August 22, 2010 Report Share Posted August 22, 2010 Freimworkam nav jābūt sarežģītākam, tieši pretēji - jābūt vienkāršākam. Labā freimworkā būs realizēts augstāks abstrakcijas līmenis, kas loģiski pieprasa ievērot kaut kādu kārtību un upurēt universālumu, savukārt pretī dod vienkāršumu un eleganci. 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.