PHP: миң алкактын жери

Автор: Louise Ward
Жаратылган Күнү: 6 Февраль 2021
Жаңыртуу Күнү: 18 Май 2024
Anonim
PHP: миң алкактын жери - Чыгармачыл
PHP: миң алкактын жери - Чыгармачыл

Мазмун

Кайсы алкакты колдонуу керектигин сурасаңыз, мен кемпирдин кыжырына тийип, бардык алкактар ​​бири-бирине окшоп жаман экендигин айтам. Алардын бардыгы жаман деп айтууга болбойт, бирок PHPде бизде элестетүүгө болбой турган көп сандагы алкактар ​​бар (адатта N + 1 деп аталат, бул жерде N PHP иштеп чыгуучулардын саны) жана алардын бардыгы мааниге ээ болушу мүмкүн аларды ойлоп тапкан адамга.

Кадрларды тандоо мүмкүнчүлүгүнө ээ болуу, сиз курууга аракет кылып жатканыңызга карабастан, бир гана алкакты колдонууга караганда жакшыраак болушу мүмкүн, анткени бул 'эң мыкты' (кандай гана деңгээлде болбосун). Бул тандоо алкагындагы сунуштар, сиз долбоордун муктаждыктарына жооп бере турган нерсени тандап алсаңыз болот жана ал документтештирилиши мүмкүн. Кандайдыр бир платформада алкактар ​​түзүмүн, көп жолу колдонула турган модулдарын жана китепканаларын камсыздайт, адатта, бир эле функционалды кайра-кайра куруу боюнча кызыксыз жана кайталанма милдеттерден алыс болот. Мисалы, CMSes курганда, бир нерсе мен үчүн форма талааларын иштеп чыгып, текшериши керек; Эгер өзүмдүн ишиме калсам, маанилүү бир нерсени байкабай калам жана ар бир долбоордун элементтерин жасагым келет ар башка, тескерисинче, ар бир учурда бирдей болгондорго караганда!


Толук стек алкактары

Толук-стек алкактары, мисалы Zend Framework, архитектуралык тажрыйбасы жок иштеп чыгуучу үчүн жакшы жер болушу мүмкүн. Бул жаңы тиркемени илип коюу үчүн жакшы структураны берет жана анын айланасында жакшы "экосистема" бар - көптөгөн китептер, окуу куралдары жана кээ бир акылга сыярлык документтер. Эгер сиз көп адамдар колдой турган чоң тиркеме курууга аракет кылып жатсаңыз, анда популярдуу, ар тараптуу алкак жакшы тандоо болушу мүмкүн, анткени ал көптөгөн түзүмдөрдү талап кылат жана жакшы белгилүү жана түшүнүктүү болот.

Бөлүнүүгө жардам берүүчү түзүлүшкө ээ болуу ар дайым жакшы; Карьерамдын башында мен айрымдар менен иштештим абдан кенже иштеп чыгуучулар жана аларга MVC (Model View Controller) үлгүсүн үйрөтүүгө аракет кылышкан, ал учурда жаңы болуп келген. Smarty'ди көрүү катмарында колдонуу чечимин кабыл алдык; жарым-жартылай дизайнерлер шаблондор менен оңой иштеши үчүн, жарым-жартылай менин столума бирөө келип: "Smarty менен Xди кантип жасасам болот?" Мен "көрүнүштө Х кылба!" Деп айта алмакмын. (10дон тогуз жолу, бул жооп болду). Кадрлардын жардамы менен, колдонмонун башка бөлүктөрүндө да ушул эле бөлүндү табууга болот. Алардын көпчүлүгү Smarty, же менин жаңы сүйүктүүм Twig сыяктуу азгыруучу катмарга каршы интеграциялоону колдошот, андыктан ушул шаймандарды кайсынысы тандасаңыз дагы өзүңүз менен кошо ала аласыз.


Жүктү жеңилдетүү

Zend Framework караганда жеңилирээк алкактар ​​көп, мисалы мен CodeIgniter менен бир аз иштейм. Бул Zend Framework сыяктуу ар тараптуу жана бекемби? Жок, андай эмес. Бирок тиркемени тез курууга мүмкүнчүлүк берүүчү жардамчы алкак катары пайдалуу. Жалпысынан, азыраак "жардамчы" функциясы бар алкактарды табуу оңой болушу мүмкүн, анткени бөлүктөрдүн кантип бириккени айдан ачык. Чоочун рамкада (мен үчүн бул дээрлик бардыгы), бул автомагикалык биттер менен иштөөнү жана мүчүлүштүктөрдү оңдоону кыйындатат.

"Жаңы алкакта жоголуп кеттим" деген сезим сөзсүз жана таптакыр көңүл чөгөрөт; ал тургай, тажрыйбалуу иштеп чыгуучу эч нерсе кандайча иштээрин билбегенден кийин өзүн жаңы келгендей сезет. Эгер сиз чындыгында эле бактысыз болсоңуз, анда сиз IRC каналы сизди да акмак деп айткан кадрды тандап алгансыз! Дал ушул өтө терс баштапкы тажрыйба көптөгөн адамдарды жаңы алкакты колдонуудан же биринчи кезекте бирөөнү кабыл алуудан арылтат, ал эми өтө аз алкактар ​​жаңы тоскоолдуктарды жеңип чыгып, жаңы колдонуучуларга жардам берет.


PHPде бизде кээ бир алкактар ​​бар, алар чындыгында мен колдонгон сөздүн алкагы эмес. Бизде сонун компоненттердин алкактары бар; каалаганга ылайыкташтырылган жана Zeta Components (мурун eZ Componentтер) жана Symfony Componentтер сыяктуу жакшы ойной турган китепканалардын коллекциялары (алардын сайтын көрдүңүз беле? Алар мыкты көркөм чыгармалар үчүн сыйлыкка ээ болушту!). Булардын ичинен эң мыкты жана эң баалуусу, албетте, PHPдин өзүнүн PEAR жана PECL курмандыктары - ушул эр жүрөк жаңы дүйнөдө эмнегедир унутулуп калышат.

Microframeworks

Microframeworks бул PHPде жаңыдан пайда болуп жаткан тенденция; бул нерселерди тезирээк жабыштырууга жардам берген супер-жеңил сунуштар. Жакшы мисал - Slim, аны колдонуу өтө тез жана жөнөкөй жана ЭС АЛУУ түшүнүктөрүн түшүнөт. Бул URL үлгүлөрү болгон "маршруттар" идеясынын айланасында негизделген. Сиз маршрутту каттап, кайра сурасаңыз, ал URL суралганда чакырылышы керек.

PHP иштеп чыгуучуларынын көпчүлүгү фреймворкту кабыл алышат жана аны менен иштешет, же болбосо бирөөсүн жумушта, экинчисин хобби же ачык булак долбоорлору үчүн колдонушу мүмкүн. Колдонула турган "мыкты" алкак жөнүндө бир аз консенсус бар, ошондуктан ар ким өз билгенин сактап калат, натыйжада, фреймерлердин эбегейсиз катар өнүгүшү болот! Мен тандоо тандап алганды жакшы көрөм, бирок алардын бардыгы бири-бирине окшош эмес экендигин айттымбы?

Эгер сиз Zend Frameworkту билсеңиз, анда сиз өзүңүздү Zend Framework иштеп чыгуучусу катары мүнөздөп жатасыз; аны колго алуу мүмкүнчүлүгүнө ээ болгуңуз келмейинче, башка алкакта жазуу ыңгайсыз болмок, антпесе PHP функцияларынын көбүн эсиңизде сактабай эле койсоңуз болот. Биз фреймге мүнөздүү иштеп чыгуучуларга айландык, бул абстракция катмарынын үстүндө гана иштейбиз деген ой PHP үчүн бир аз таң калыштуу. Кантсе да, бул "веб маселесин чечүү үчүн" тил. Бул C тилинде жазылган жана өзүнчө тез, жеңил тил ... чоң алкак жүктөөчү процесси күтүлбөйт! Ушул контексттен биз Функатрон деп атаган адам жазган MicroPHP Манифести пайда болду (бирок анын аты чындыгында Эд Финклер). Бул бир нече өз ара иштешүүчү чакан модулдарды курууга болот, андан чоңураак жакшы эмес, чындыгында, Java үчүн жашоо өтө кыска деген бир катар билдирүүлөр - ал PHPде жазылган болсо дагы.

Сунушталат
Бак-дарактарды кыюудан шыктанган жердин тартылуу күчүнө каршы эмеректери
Окуу

Бак-дарактарды кыюудан шыктанган жердин тартылуу күчүнө каршы эмеректери

Мебелдин дизайны ар кандай дизайнер каалагандай кызыктай жана сонун болушу мүмкүн, бирок ал ар дайым иштеши керек. Жакшы аткарылган концепция эч качан модадан чыкпаган, эч качан өчпөс эмеректерди алып...
Бул типке негизделген инсаният өнүгүү үчүн курулган
Окуу

Бул типке негизделген инсаният өнүгүү үчүн курулган

Загребдеги "Cerov ki" басмакана өндүрүш студиясы үчүн атайын, шаблондор менен кесилген шрифт Банчтын жаңы инсандыгын түзөт. Калың формалар колдонуучунун логотипинен кеңейип, индивидуалды сту...
2021-жылы мыкты нота жазуучу колдонмолор
Окуу

2021-жылы мыкты нота жазуучу колдонмолор

Мыкты нота жазуучу колдонмолордун бирин колдонуп, чыгармачыл илхамдын жарыгы тийип калса, ошол жерден жазып алсаңыз болот деп ишенсеңиз болот. Кандайдыр бир нерселерди кагазга түшүрсөңүз, кийинчерээк ...