PHP фреймворктарға шолу

4

 php_frameworksҚазіргі таңда таза PHP тілінде жазатын кодерлерді кездестірсеңіз оларды жалпы алғанда үш топқа бөлуге болады:

–        PHP фреймворктың не екенін білмейтін қауым

–        Уеб-коддинг әлеміне тәй тәй басып келе жатқан қауым

–        Және де сол фреймворктарды құрастыратын программерлер тобы.

Бұл кішкене шолу фреймворк есігін енді ашқалы жатқан әріптестерге арнасақ   па деп едік.

PHP – уеб-кодерлер арасындағы ең танымал  және ыңғайлы бағдарлау тілдерінің бірі. Ыңғайлығына қарамастан кейбір күнделікті бағдарлау операциялары монотонды және жалықтыларлық болуы мүмкін. Бұның салдарынан кәсіптік сапа, кәсіптік өсу, уақытыңыздың үнемді қолданылуы екінші орынға өтуі әбден ықтимал. Осыған қоса жұмысқа деген жалпы тәбетіңіз, көңіл күйіңіз де әлсіріске ұшырайды.

Күнделікті өмірден мысал келтірсек… Елестетіп көріңіз, сіз – кәсіпқой аспазшы. Әкімшіліктен 1 күн ішінде “Қала күні” мейрамына 100-200 адамға жетерлік ас дайындауға тапсырыс берілді. Құралдардан қолыңызда қазан, отын, көкөніс. Әкімшіліктен еш көмекші тағайындалмады. Сіз таң атпастан кешкі уақытқа дейін ұн илеумен, ыдыс-шыны дайындаумен уақыт өткізсіздіңіз. Бұл жайлар кәсіпқой аспазшыны яғни сізді рецептерді муқият зертеуден, тағамдарды  көріктеу, әсемдеуден алаңдатты делік. Нәтижесінде шаршадыңыз, тағамның дәмі, сыртқы әсемдігі ойлағаныңыздай болмады. Ең бастысы жұмысыңыздан ләззат алмадыңыз. Әрине! Егер шебер адам ұсақ жұмыстармен айналысса ләззат қайдан болсын? Міне уеб-коддинге тура солай.

Бұл жағдайлардан беп алу үшін берерлік кеңесіміз – PHP фреймворк қолданыңыз. PHP фреймворктар PHP тілінде жазылған уеб-жүйелерге ылғары даму бағытын көрсететін бірден бір құрал.

Біз фейрмворктарды не үшін және қандай мақсатпен қолданамыз?

Әр түрлі мақсатпен. Маңыздысы – құрастыру барысын жылдамдату. Фреймворк сіз үшін жүйеңіздің бастапқы құрылымын құрастырып, монотонды болып кеткен ұзын соңар кодты бір жолға сидырады. Ойланып қарасаңыз пайдалары зор. Сізге бағдарламашы  ретінде ұақытыңыздың көбін жүйенің архитектурасына көңіл болуге мүмкіндік береді. Нәтижесінде бағдарлау барасының әр кезеңінде алдыңызда жүйенің анық сүреті көрініс табады. Неткен тамаша десеңізші!

mvc-php

Сонымен қатар бұл фреймворктардың түбірінде MVC (Model View Controller) жобалау қалыбы (design patterns) орын алады. Яғни орындалу кодын (Model) қолданушы интерфейсінен (View) ажырататын  бағдарламалаудың бірден бір құрылымдық қалыпы. Бұл жерде “Model” орындалу коды үшін жауап береді. “View” – көрініс, яғни мәліметтін браузерде көрінуі. Controller – Model мен View арасындағы байланыс құралы.

MVC қалыпының пайдасы неде? Кодерлер арасында жүрген “Спагетти код” деген ұғымға тап болмау үшін десеңіз бұл да жеткілікті. «Спагетти код » – кодтың түсініксіз шашыраңқы болуы.

Қалай екен, әсерлі ме? Керек десеңіз тағы бір пайдасы сіз бен HTML кодердың арасындағы тәуелсіз жұмыс. Model мен Controller сізге тиесілі, View – HTML кодерге.

Фреймворк таңауда қандай көрсеткіштерге көңіл бөлу керек?

Құжаттамасы, басқа кодерлер арасындағы танмалдығы және сұранысы, қолданудың жеңілдігі және жылдамдығы, ресми қолдау тобы. Біздің ұсынысымызға келсек жоғарғы сипаттамаларға сәйкес келетін бірнеше фреймворктарды қолданып көріңіз. Сонда өзіңіздің қажеттіліктеріңізге сәйкес келетін тиімдісін таңдарсыз. Тағы айта кетерлік жайт әріптестеріңізбен кеңесуді ұмытпаңыз.

Бүгінгі таңда PHP фреймворктардың ең жақсысы және беделдісі қайсы?

Қызық сұрақ. Халқымыздың аузында жүрген “Бес саусақ бірдей емес” сөздері біздің салада да актуалдық табады. Әр фреймворктың + және – көрсеткіштері бар. Негізгі мақсаттары бірдей болғанымен жетер жолдарында кішкене немесе үлкен айырмашылықтары болуы мүмкін. IT саласында жүрген оқырманға “Holly war” яғни «Киелі соғыс» немесе «Киелі ғазауат» ұғымы әбден танымал. Бұл фреймворктардың арасында да қызу “холлиуар” орын табады. Сондықтан біз танымал фреймворктарға жалпы шолу шасап өтеміз. Өзіңізге жақсы деп көрінген біреуін таңдап аларсыз, құрметті оқырман.

Zend Framework (ZF) – www.framework.zend.com

 php-caching-with-zend-framework-00Zend Technologies Ltd. (www.zend.com) компаниясымен құрастырылған фреймворк. Академиялық тұрғыдан коды  сапалы. Әрине! Авторлары PHP тілін біздің уақытқа дейін жетелеген компания. Білмесеңіз – PHP өзегін жетелеп жүрген топ – Zend Technologies Ltd.

MVC компоненттерімен қатар, кең жүйелі сайт жасау үшін қолданылатып код жиынтығын қамтиды. Youtube.com сервистерімен жұмыс істеймін десеңіз, бұл жерде де ZF сізге қолқанат болуға дайын.

Құжаттамасы жағынан   сапалы, бірнеше тілге аударылған. Бірақ ненің қай жақта екенін бірінші кезден білу қиын. Егер жобалау қалыптарымен (design patterns) таныс болмасаңыз қысқа уақыт ішінде уйрену мүмкіншілігі аз. Сонымен қатар PHP5, OOP деген ұғымдармен  жақын дос болу керексіз.

Егер бұл фреймворкты ұнатып  үлкен деңгейлерге жетсеңіз «Zend Framework Certification» тестін өтсеңіз болады – www.zend.com/services/certification/framework

Тестті тапсырған жағдайда аты-жөніңіз ресми сайттын “PHP Yellow Pages” бетінде орын табады.  Қазіргі таңда Қазақстан бөлімшесі бос. Бірінші ZF сертификатының иесі болуыңыз әбден мүмкін.

Қазақстан торына келсек Kolesa.kz, Krisha.kz, Yvision.kz сайттары Zend Framework технологиясын қолданады.

 

Yii  www.yiiframework.com

yii

Келтірілген фреймворктардың жасы жағынан ең соңғысы. Авторы – дарынды кодер, бағдарламашы Qiang Xue. Құжаттамасы сапалы. Әр функциясы толық баяндалған. API жағынан да қанағатанарлық.  Тілек  ретінде API бөлігін мысладармен толықтырса нұр үстіне нұр. Zend фреймворкпен салыстырсақ уйрену уақыты 2 есе төмен.

Ғаламтордағы кодерлердің байқауы бойынша жылдамдығы жағынан TOP-3 қатарына кіретін фреймворк. Ресми сайтында кейбір көрсеткіштерді байқасаңыз болады – www.yiiframework.com/performance

Мақаланың авторы соңғы жарты жылдың ішінде Yii фреймворкты күнделкті бағдарлау құралы ретінде таңдады.

Yii фреймворгіне негізделіп жасалған сайттарға келер болсақ:

www.fifa.com – Халықаралық футбол федерациясы. FIFA

www.stay.com – Times журналы бойынша TOP-50 жобаларының қатарына кіретін сервис.

www.voxpopuli.kz – Қазақстандағы алғаш фоторепортаждар сайты.

Yii framework көптеген компаниялардың негізгі бағдарлау құралы ретінде таңдалды. Солардың бірі – ҚазНет-те  танымал «IBEC Systems» компаниясы.

 

Symfonywww.symfony.com

symfony1

Sensio Labs компаниясымен жетеленетін фейрмворк. Қазіргі тұрақты нұсқасы Symfony 2.0.14. Twig, Yaml, ORM деген ұғымдармен таныс болуыңыз Symfony әлеміне саяхатыңызды жеңілдетеді. Шынымды айтсам үйрену уақыты Zend Framework-пен шамалас.  Айлайды сол уақыттын жемісін тез арада байқайсыз.

Symfony фреймворгіне негізделіп жасалған сайттарға келер болсақ:

www.lungualeo.ru – Қалың бұхараға танымал ағылшын тілін уйрену сервисі

www.delicious.com – Бетбелгілер сервисі.

 

Kohana – www.kohanaframework.org

kohana

Міне шолуымыздың соңғы сарбазына да келіп жеттік. Танысып қойыңыз – Kohana. Басқа фреймворктардан айырмашылығы – «есігі» жеңіл ашылады. Яғни екі-үш күннің ішінді жалпы құрылымын, бағдарлау философиясын ұғына аласыз.

Құжаттамасы сапалы. Программерлер қауымы үлкен. Егер MVC, ORM деген ұғымдармен танысқыныз келсе осы Kohana-дан бастауыңызға кеңес беремін. Әрине бір мақаланың ішіне фреймворктардың ерекшеліктерін шолу қиынға соғады, сондықтан әр фреймворктың ресми сайттарына сілтеме берілді. Мақаланың мақсаты қазақ кодерлер қауымын фреймворктармен таныстыру. Коддинг – бұл да бір мәдениет!

Қорыта айтсақ орыстын әйгілі ақыны Лев Толстойдың сөздері есіме түседі: «Жастардың жиі мынандай сөздерін естисіз “Басқа адамдардың ақылымен өмір сүргім келмейді, мен бұны өзім қарастырамын” Қарастырылып қойғанды несіне қарастырасын? Дайын нәрсені ал да, ілгері жөнел. Адамзаттың мықтылығы осында!»

Рауан Құрмет, бағдарламашы

You might also like More from author

  • http://www.facebook.com/erzhan.domakov Erzhan Domakov

    ұнады жақсы

  • http://www.facebook.com/abzal.ongarbayev Abzal Ongarbayev

    Программистерді топтап бөлгеніз дұрыс емес. Кішкене қателескенсіз. Бірақ шолуыныз дұрыс. Қазақ қауымы кішкене болса да дұрыс қадам жасап тұр.

    • http://www.facebook.com/profile.php?id=100000091009036 Timur Bektur

      Енді әркімнің өз ақиқаты бар ғой. Егер айтарыңыз болса, біз ашықпыз. ІТ саласына қатысты кез-келген тақырыптағы материалдарды жариялауға әзірміз. Дегенмен, сайтыма бас сұққаныңыз үшін алғысымды білдіремін. Бұл мен үшін мәртебе.

  • dastiw1

    Yii Framework_ты Қатты уйренгім келген! Білімім жетпеді