Jump to content
php.lv forumi

Profesionāls un ātrs kods bez OOP. Kā kurš dara?


Valcha

Recommended Posts

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

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

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

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 by v3rb0
Link to comment
Share on other sites

×
×
  • Create New...