Valcha Posted March 8, 2006 Report Share Posted March 8, 2006 Ceru, ka Jums būs pacietība līdz beigām izlasīt. Jau gadus 3 ik pa laikam iesācēja līmenī programmējos procedurāli, man beidzot ir radies jautājums. Kā tiek veidots profesionāls un reizē ātrs kods? Sāku padomāt, ka vajag izkopt stilu. Parasta situācija - lapa ar nodaļām, kurās katrā ir kādas atsķirības, bet šis tas ir vienojošs. Es parasti, protams, nerakstu katrai nodaļai atsevišķu kodu, bet gan vienādās vietas sarakstu funkcijās un tad ar IF (nodala==$nodala) {tad izsaucu to funkciju ar tādiem parametriem un echo "rezultāts"}, ELSEIF (to pašu vai citu funkciju ar tiem pašiem vai citiem parametriem un echo "rezultāts"). Katrā funkcijā iekšā ir vēl IF-i, kas regulē funkcijas darbību atkarībā no padotajiem parametriem (laikam kas līdzīgs kā OOP). Problēma ir tāda, ka man tādi IF-i vienas nodaļas attēlošanai ir kādi 5-10, katram atšķirīgajam lapas blokam. Otrs - datus es izvadu pa daļām, bet esmu dzirdējis, ka profi izvada tikai beigās jau KAUTKĀ sagatavotu masīvu. Man šķiet, ka daudzie IF-i un datu daudzkārtējā izvade varētu bremzēt lapu. 1) Tātad jautājums 1 - kā Jūs procedurāli, bez OOP risiniet šādu parastu nodaļu attēlošanu; 2) Teorija saka, ka OOP klases un objekti diezgan bremzē visu pasākumu. Bet vai šāda "funkcionēšana" ar "IF-ošanu" nebremzē tikpat? 3) Apsveru iespēju imācīties MVC arhitektūras stilu un pārprogrammēt savu lapu uz - "atsevišķi kods", "atsevišķi mysql" un atsevišķi "html". Jo mans šībrīža darba stils dikti nomoka, kad kādā vietā ir jāmaina htmls, es rokos cauri visiem kodiem, līdz atrodu īsto <td> vai ko citu. Tātad trešais jautājums - vai HTML un PHP atdale arī baisi nebremzē? Un vai to kāds izmanto un kā? Šis jautājums mani moka jau sen un esmu nolēmis, ja iespējams, mainīt programmēšanas pieeju. Būšu ļoti pateicīgs par kaut daļējām atsauksmēm uz manu garo jautājumu.. Link to comment Share on other sites More sharing options...
Delfins Posted March 8, 2006 Report Share Posted March 8, 2006 1.) $pages = Array('page1','page2'); if (in_array($pages,$_GET['page'])) include $_GET['page'].'inc.php'; 2.) Uz vidēja klases servera un vidēja lieluma saita nebūs atšķirības (ja nu nav pārlieku uztaisīts 1000x klases un includes ) 3.) PHP nav domāts MVC izveidošanai un izmantošnaai. PHP pats ir templeišu sistēma, bet prastas klases netraucēs ( class DB_Mysql extends DB_Base, class MyPuperPage extends WebPage) Link to comment Share on other sites More sharing options...
Grey_Wolf Posted March 8, 2006 Report Share Posted March 8, 2006 IF nebremzee jo taa ir tiira prograamas zaroshana ja tas IF buus ieksh OOP tad var nobremzeet krietni vairaak bet iesaku skatiities kur ko izmantot Es daruu taa: ja ir japreekjina kaads koda gabals tad skatos... ja var iztikt ar f-ju (piem DB konekteeshanai) tad izmantoju F-ju ja dalja datu manaas no lapas uz lapu tad tikai OOP tieshi taa ir OOP prieksrociiba ka vari pamainiit datus atkariibaa no vajadziibas + pielikt klaat ja ir nepiecieshams... --- tevis aprakstiitajaa situaacijaa kad vel ieksh f-jas jataisa n-tie IF tad laikam izmanto OOP Link to comment Share on other sites More sharing options...
v3rb0 Posted March 8, 2006 Report Share Posted March 8, 2006 (edited) kaut kā neticu ka parastai web lapai/aplikacijai kurai ir formas,reporti utt userim jūtamu bremzi rada tieši if vai class keywordu izmantošana - db ir daudz kritiskāka komponente. (izņēmums tāda ņemšanās ar includošanu un abstrakcijām kā iekš typo3, bet tas no citas operas). līdz ar to pirmais kam jāpievērš uzmanība ir pārdomāta db un kveriji. ja projekts ir no sērijas uztaisi un aizmirsti, tad var droši optimizēt līdz pēdējam ifam, bet ja zini ka pēc 3dienām vajadzēs kaut ko kārtējo reizi citadi, tad ir jāatstāj 'rezerve', lai 'a dafai pieliec tādu fīču' nenozīmētu pārrakstīt visu no nulles. ar oop, mvc, active record un visiem pārējiem salīdzinoši bremzīgajiem patterniem tādu rezervi var vieglāk panākt, bet ticu ka tas ir arī pieraduma jautajums un saliekoto f-jas smuki pa includēm ir tāds pats efekts dabūjams neizmantojot class keywordu. Edited March 8, 2006 by v3rb0 Link to comment Share on other sites More sharing options...
Recommended Posts