PHP: lupain ng isang libong mga balangkas

May -Akda: Louise Ward
Petsa Ng Paglikha: 6 Pebrero 2021
I -Update Ang Petsa: 18 Mayo 2024
Anonim
24 Oras: Tulay na P23-M ang halaga, itinayo kahit walang ilog
Video.: 24 Oras: Tulay na P23-M ang halaga, itinayo kahit walang ilog

Nilalaman

Tanungin mo ako kung aling balangkas ang gagamitin at malamang na magkaroon ako ng isang mapusok na sandaling matandang babae at sabihin sa iyo na ang lahat ng mga balangkas ay kasing sama ng isa't isa. Alin ang hindi masasabi na silang lahat ay masama, eksakto, ngunit sa PHP mayroon kaming isang hindi maisip na malaking bilang ng mga balangkas (karaniwang binanggit bilang N + 1, kung saan ang N ay ang bilang ng mga developer ng PHP sa mundo), at lahat sila ay marahil ay may katuturan sa taong nag-imbento sa kanila.

Ang pagkakaroon ng isang pagpipilian ng mga balangkas ay marahil mas mahusay kaysa sa pagsubok na gumamit lamang ng isang balangkas, hindi alintana kung ano ang eksaktong sinusubukan mong buuin, sapagkat ito ang 'pinakamahusay' na isa (sa pamamagitan ng anumang sukat ng 'pinakamahusay'). Ang pagpili ng mga handog ng balangkas na ito ay nangangahulugang maaari kang pumili ng isang bagay na nakakatugon sa mga pangangailangan ng proyekto at maaaring ito ay idokumento din. Ang mga balangkas sa anumang platform ay talagang nandiyan upang magbigay ng istraktura, magagamit muli na mga module at aklatan, at sa pangkalahatan ay maiwasan ang lahat ng mga nakakasawa at paulit-ulit na mga gawain na gagawin sa pagbuo ng parehong pag-andar nang paulit-ulit. Halimbawa kapag nagtatayo ng mga CMSes, isang bagay ang dapat magproseso at patunayan ang mga patlang ng form para sa akin; kung naiwan sa aking sariling mga aparato maaari akong makaligtaan ang isang bagay na mahalaga at mas gugustuhin kong gawin ang mga elemento ng bawat proyekto na iba, kaysa sa mga magkapareho sa bawat oras!


Mga buong-stack na balangkas

Ang mga buong-stack na balangkas, tulad ng Zend Framework, ay maaaring maging isang magandang lugar upang magsimula para sa isang developer nang walang maraming karanasan sa arkitektura. Nagbibigay ito ng mahusay na istraktura upang mag-hang ng isang bagong application, at mayroong isang mahusay na 'ecosystem' sa paligid nito - maraming mga libro, tutorial, at ilang makatuwirang dokumentasyon din. Kung sinusubukan mong bumuo ng isang malaking application na kung saan ay mapapanatili ng maraming mga tao, kung gayon ang isang tanyag, komprehensibong balangkas ay malamang na maging isang mahusay na pagpipilian dahil magdidikta ito ng maraming istraktura at kilalanin at maunawaan.

Ang pagkakaroon ng istraktura upang makatulong sa paghihiwalay ay palaging mabuti; maaga sa aking karera nagtrabaho ako sa ilan napaka junior developer at tinangkang magturo sa kanila ng pattern ng MVC (Model View Controller), na medyo bago sa panahong iyon. Nagpasya kaming gamitin ang Smarty sa view layer; bahagyang upang ang mga taga-disenyo ay maaaring gumana sa mga template nang mas madali, at bahagyang upang kapag may dumating sa aking mesa at sinabi na "paano ko gagawin ang X sa Smarty?" Masasabi kong "huwag gawin X sa pagtingin!" (siyam na beses sa 10, iyon ang sagot). Ang pagkakaroon ng mga balangkas ay makakatulong sa amin na makahanap ng parehong paghihiwalay sa iba pang mga bahagi ng aming aplikasyon. Marami sa kanila ang sumusuporta sa pagsasama laban sa isang templating layer tulad ng Smarty, o aking bagong paborito, Twig, upang maaari mong kunin ang mga tool na iyon sa alinman sa iyong balangkas na pinili.


Pagaanin ang karga

Mayroong maraming mga mas magaan na mga balangkas kaysa sa Zend Framework, halimbawa nagtatrabaho ako sa CodeIgniter nang kaunti. Ito ba ay komprehensibo at matatag tulad ng Zend Framework? Hindi, hindi. Ngunit bilang isang framework ng helper upang paganahin ang mabilis na pagbuo ng isang application, kapaki-pakinabang ito. Sa pangkalahatan, ang mga balangkas na may kaunting pag-andar na 'helper' ay maaaring mas madali upang mahanap ang iyong paraan dahil mas malinaw kung paano magkakasama ang mga piraso. Sa isang hindi pamilyar na balangkas (para sa akin, halos lahat iyon), ito ang mga automagical na piraso na ginagawang mahirap upang gumana at mag-debug.

Ang pakiramdam na "nawala sa isang bagong balangkas" ay hindi maiiwasan at lubos na nakakabigo; kahit na ang isang may karanasan na developer ay parang isang baguhan kapag hindi nila alam kung paano gumagana ang anumang bagay. Kung talagang malas ka, pumili ka ng isang balangkas na ang IRC channel ang magsasabi sa iyo na ikaw ay isang tulala rin! Ito ang napaka negatibong paunang karanasan na naglalagay sa maraming tao sa paggamit ng isang bagong balangkas o pag-aampon ng isa sa una, at napakakaunting mga balangkas na gumagawa ng mahusay na trabaho ng pagtulong sa mga bagong gumagamit sa paunang sagabal na iyon.


Sa PHP mayroon din kaming ilang mga balangkas na hindi talaga mga balangkas sa paraang karaniwang ginagamit ko ang salita. Mayroon kaming ilang mga kaibig-ibig na mga framework ng sangkap; mga koleksyon ng mga silid-aklatan na idinisenyo upang magamit-sa-kalooban at upang maglaro nang maayos kasama, tulad ng Mga Zeta Component (dating eZ Components) at Symfony Components (nakita mo na ang kanilang site? Nanalo sila ng gantimpala para sa pinakamahusay na likhang sining!). Ang pinakamahusay at pinaka-nasa ilalim ng mga ito ay, siyempre, sariling pag-alay ng PEAR at PECL ng PHP - kahit papaano ay nakakalimutan ang mga ito sa matapang na bagong mundo ng mga balangkas.

Mga Microframeworks

Ang Microframeworks ay isang umuusbong na kalakaran sa PHP; ito ang mga super-magaan na alok na makakatulong lamang sa iyo upang madikit ang mga bagay nang mas mabilis. Ang isang mahusay na halimbawa ay Slim, na kung saan ay napakabilis at simpleng gamitin, at nauunawaan ang RESTful na mga konsepto. Ito ay batay sa paligid ng ideya ng 'mga ruta', na mga pattern ng URL. Nagrehistro ka ng isang ruta at nagbibigay ng isang callback na dapat tawagan kapag hiniling ang URL na iyon.

Karamihan sa mga developer ng PHP ay gumagamit ng isang balangkas at nananatili dito, o maaari silang gumamit ng isa sa trabaho at isa pa para sa kanilang libangan o mga proyektong bukas na mapagkukunan. Mayroong maliit na pinagkasunduan tungkol sa "pinakamahusay na" balangkas na gagamitin kaya't ang lahat ay nananatili lamang sa alam nila at ang resulta ay kahanay na pag-unlad ng napakalaking bilang ng mga balangkas! Gusto kong pumili ng mapagpipilian, ngunit nabanggit ko bang lahat sila ay kasing sama ng isa't isa?

Kung alam mo ang Zend Framework pagkatapos ay nagwawakas ka sa iyong sarili bilang isang developer ng Zend Framework; hindi ka magiging komportable sa pagsusulat sa ibang balangkas hanggang sa magkaroon ka ng pagkakataong mahawakan ito, at marahil ay hindi mo matandaan ang marami sa mga hilaw na pagpapaandar ng PHP para sa mga bagay kung hindi mo madalas gamitin ang mga ito. Ang ideyang ito na kami ay naging mga developer na tukoy sa balangkas, na nagtatrabaho lamang sa tuktok ng mga layer ng abstraction, ay medyo kakaiba para sa PHP. Pagkatapos ng lahat, ito ang wika na "upang malutas ang problema sa web". Nakasulat ito sa C at ito ay isang mabilis, magaan na wika sa kanyang sarili ... na nagbibigay sa iyo na huwag maghintay para sa isang malaking balangkas na proseso ng bootstrap upang tumakbo! Mula sa kontekstong ito ay lumitaw ang MicroPHP Manifesto, na isinulat ng isang tao na tinatawag nating Funkatron (bagaman ang kanyang pangalan ay talagang Ed Finkler). Ito ay isang serye ng mga pahayag na nagsasabing okay lang na bumuo ng isang bilang ng magkakabit na maliit na mga module, na mas malaki ay hindi mas mahusay, at iyon talaga, ang buhay ay masyadong maikli para sa Java - kahit na nakasulat ito sa PHP.

Higit Pang Mga Detalye
Master ang sining ng Bilis ng Pagpipinta: Mga Diskarte sa Digital na Pagpipinta
Matuklasan

Master ang sining ng Bilis ng Pagpipinta: Mga Diskarte sa Digital na Pagpipinta

Naka-pack na may maraming payo mula a i ang kayamanan ng mga nangungunang mga arti ta, Ma ter ang Art ng Bili ng Pagpipinta: Ang Mga Teknikal na Digital ay i ang napakahalagang mapagkukunan na magpapa...
Ang 13 pinakamahusay na libreng Android apps
Matuklasan

Ang 13 pinakamahusay na libreng Android apps

Grab ang ilang mga kapaki-pakinabang na tool a mga libreng Android app na ito - mula a pagkuha ng litrato hanggang a 3D at pag- ketch a mga font, para a iyong am ung Galaxy, HTC, Motorola, o ony Xperi...
TINGNAN MO ITO! Ang Diyosa ng North sculpture
Matuklasan

TINGNAN MO ITO! Ang Diyosa ng North sculpture

Ang i kultura ay nagmumula a maraming kali ki , mula a mga mikro kopikong nilikha ni Willard Wigan hanggang a nakalu ot na higanteng Olimpiko ng Olimpor na Atlantiko ng Ani h Kapoor na ArcelorMittal O...