bfj Posted November 12, 2009 Report Share Posted November 12, 2009 Sveicināti! Kādu pieeju iekš PHP izvēlēties - OOP vai funkcionālo programmēšanu? Runā, ka OOP ir lielākas priekšrocības (koda izmantojamība un sakārtotība, vieglāk atrast kļūdas utt. un tā joprojām), tomēr, izmantojot funkcijas + masīvus + include failus varu sasniegt faktiski tādu pašu rezultātu, turklāt daudz ātrāk (vienīgi kļūdu labošanas process ir nedaudz sarežģītāks). Vēl gan arī jāņem vērā, ka tas var būt arī atkarīgs no projekta sarežģītības un apjoma, taču šis jautājums vairāk interesē vispārināti. Esmu lasījies apkārt dažādos forumos, taču nekur tā arī nav skaidru un konkrētu piemēru, kāpēc viena pieeja būtu labāka par otru un otrādi. Kaut vai piemēram, kā tas atsauktos uz ātrdarbību. Ko domā lielie PHP guru šajā forumā? Vai tas vairāk ir gaumes jautājums vai arī tomēr ir kādi konkrēti argumenti, kādēļ darīt tā un ne savādāk. Quote Link to comment Share on other sites More sharing options...
codez Posted November 12, 2009 Report Share Posted November 12, 2009 (edited) Nevis OOP vai func., bet MVC un citus programmēšnas paternus. Labs MVC ir tas, kas padara iešanu pa purvu par lidošanu. Bet MVC un daudzus citus paternus daudz vienkāršāk ir realizēt ar OOP. Piemēram, man visā kodā nav vairāk kā 2 include. Viens no tiem index failā ielādē MVC kodolu, otrs atrodas autoload funkcijā. Tādā veidā es jebkurā vietā varu izsaukt jebko, ko man vajag, neuztruacoties par includēm. Piem., MManasFunkcijas::manaFunkcija(); automātiski tiks inklūdots fails, kurš saturēs šo klasi. Piem., LDb::i()->query(); Automātiski tiks ielādēts DB fails, izmantojot singltona paternu, tiks iegūta db instance, ja tāda nav un izveidota konekcija, ja tāda nav. Tātad, lai jebkurā koda vietā izmantotu db, man nav jāuztraicās par inlude, man nav jāuztraucās par konektēšanos db. Tāpēc iesāku labāk izpētīt populārākos programmēšanas paternus un viņu realizācijas (Kas praktiski vienmēr būs vienkāršāk realizētas ar OOP). Kā saka, nevajag izgudrot riteni otreiz. Edited November 12, 2009 by codez Quote Link to comment Share on other sites More sharing options...
rpr Posted November 12, 2009 Report Share Posted November 12, 2009 cik dzirdeets, tad php6 buus tiiri oop. kaa java. tas jau vien paraada kaada ir pashu izstraadaataaju atbilde uz tavu jautaajumu. Quote Link to comment Share on other sites More sharing options...
2easy Posted November 12, 2009 Report Share Posted November 12, 2009 tas ir gaumes jautājums. jo īpaši ja tu viens pats taisi projektu un pats menedžē visu kodu. galvenais, savu kodu organizēt tā, lai pašam būtu ērti strādāt. ir viena kategorija cilvēku, kas beztolkā izmanto oop tikai tāpēc, ka tā ir krutāk, piemēram, taisa objektu ar statiskām metodēm, kur mierīgi var izmantot parastas funkcijas. vnk ja kādam patīk rakstīt par 30% vairāk, lai panāktu to pašu rezultātu, tad lai tā dara. protams, ir atsevišķi gadījumi, kur patiešām var izmantot manuprāt vienīgo oop fīču: mantošanu (inheritance), bet kodējot webu kkas tāds reti kad ir vajadzīgs. anyway to pašu efektu var panākt arī savādāk otra oop fīča datu abstrakcija (data abstraction/encapsulation) ir tīri koda menedžments, par ko jau es pieminēju sākumā, un var noderēt, kad projektu taisa komanda (5/10/50/... cilvēki). iespējams, tieši tāpēc oop koncepciju sākot no 60. gadiem sāka ieviest programmēšanas valodās, lai ar pašas programmēšanas valodas līdzekļiem/ierobežojumiem disciplinētu programmētājus, un tādā veidā samazinātu kļūdu varbūtību (un noturētu produkta kvalitāti) pildot lielus valdības un korporāciju pasūtījumus, kad pie projekta strādā simti un tūkstoši programmētāju. manuprāt izmantot oop vienkāršai weblapai ir pilnīgs overkills pēdējā oop fīča polimorfisms (polymorphism) vispār vairāk attiecas uz tādām valodām kā c/c++ (strongly typed language), jo php mainīgajam jau tāpat var būt dažādi datu tipi. līdz ar to šī oop fīča jau ir iebūvēta pašā valodā (patiesībā tā pat nav oop fīča bet programmēšanas valodas fīča attiecībā uz datu tipiem, lai gan to bieži piedēvē oop) karo4e oop ir ideāls priekš tiem, kam patīk objekti, interfeisi, un visādi abstrakcijas līmeņi. vienvārdsakot, lai sarežģītu vienkāršas lietas :D es patiešām respektēju oop, taču lietotu to tikai tajos gadījumos, kad tas man dotu reālus ieguvumus :)) ja tava prakse un veselais saprāts saka, ka procedurālā programmēšana tavā gadījumā ir izdevīgāka, tad tā arī dari ;) kiss (keep it small and simple) Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted November 12, 2009 Report Share Posted November 12, 2009 Kādu pieeju iekš PHP izvēlēties - OOP vai funkcionālo programmēšanu? tiešām jautājums oop vs funkcionālā? ja tā, tad oop, jo funkcionalās programēšanas iespējas php ir vēl mazāk kā oop bija php4 laikos. Quote Link to comment Share on other sites More sharing options...
2easy Posted November 12, 2009 Report Share Posted November 12, 2009 tiešām jautājums oop vs funkcionālā? ja tā, tad oop, jo funkcionalās programēšanas iespējas php ir vēl mazāk kā oop bija php4 laikos. hehe piekrītu 100%. ne jau visi atšķir terminus "funkcionālā programmēšana" un "procedurālā programmēšana". tik viegli kļūdīties, kad ir funkcijas, tad jau "funkcionālā" :D:D:D Quote Link to comment Share on other sites More sharing options...
xPtv45z Posted November 12, 2009 Report Share Posted November 12, 2009 ir viena kategorija cilvēku, kas beztolkā izmanto oop tikai tāpēc, ka tā ir krutāk, piemēram, taisa objektu ar statiskām metodēm, kur mierīgi var izmantot parastas funkcijas. Es tā daru. :) Bet uzskatu, ka tā ir daudz ērtāk, dēļ __autoload, nekā uztraukties, kuru failu ar funkcijām, kad un kur inckludēt. Quote Link to comment Share on other sites More sharing options...
codez Posted November 12, 2009 Report Share Posted November 12, 2009 Pilnīgi pievienojos xPtv45z. __autoload apvienojumā ar klasi un metodēm ērtuma ziņā ir neaizstājams iekš PHP. Quote Link to comment Share on other sites More sharing options...
bubu Posted November 12, 2009 Report Share Posted November 12, 2009 hehe piekrītu 100%. ne jau visi atšķir terminus "funkcionālā programmēšana" un "procedurālā programmēšana". tik viegli kļūdīties, kad ir funkcijas, tad jau "funkcionālā" :D:D:D Tāpēc tam ir izdomāts cits, pareizs termins - "imperatīvā programmēšana". Quote Link to comment Share on other sites More sharing options...
bfj Posted November 12, 2009 Author Report Share Posted November 12, 2009 (edited) Nevis OOP vai func., bet MVC un citus programmēšnas paternus. Runājot par MVC u.c. Veidojat paši savus tā teikt "freimworkus" vai izmantojat gatavus? Pagaidām nejūtos tik spēcīgs (un laika jau arī nav :) ), lai veidotu pats savu, tādēļ plānoju nedaudz iemest aci jau gatavos freimworkos. Kādus Jūs ieteiktu apskatīt? Zend? CakePHP? Edited November 12, 2009 by bfj Quote Link to comment Share on other sites More sharing options...
marcis Posted November 12, 2009 Report Share Posted November 12, 2009 Ieteiktu apskatīt CodeIgniter Quote Link to comment Share on other sites More sharing options...
codez Posted November 12, 2009 Report Share Posted November 12, 2009 Runājot par MVC u.c. Veidojat paši savus tā teikt "freimworkus" vai izmantojat gatavus? Veidoju pats, ar man vajadzīgo funkcionalitāti. Quote Link to comment Share on other sites More sharing options...
bfj Posted November 12, 2009 Author Report Share Posted November 12, 2009 Ieteiktu apskatīt CodeIgniter Virsraksts iespārda! :D CodeIgniter is an open source Web Application Framework that helps you write kick-ass PHP programs. Bet jā, paldies! Ievērtēšu. 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.