PHP: zemlja s tisuću okvira

Autor: Louise Ward
Datum Stvaranja: 6 Veljača 2021
Datum Ažuriranja: 18 Svibanj 2024
Anonim
Jeff Hawkins: How brain science will change computing
Video: Jeff Hawkins: How brain science will change computing

Sadržaj

Pitajte me koji okvir da koristim i vjerojatno ću imati trenutak mrzovoljne starice i reći ću vam da su svi okviri loši jedni od drugih. Što ne znači da su svi zapravo loši, ali u PHP-u imamo nezamislivo velik broj okvira (obično se navodi kao N + 1, gdje je N broj PHP programera u svijetu), i svi su vjerojatno imali smisla osobi koja ih je izmislila.

Odabir okvira vjerojatno je bolje od pokušaja korištenja samo jednog okvira, bez obzira na to što ste točno pokušavali izgraditi, jer je onaj „najbolji“ (prema bilo kojoj mjeri „najbolji“). Ovaj odabir okvirnih ponuda znači da možete odabrati nešto što udovoljava potrebama projekta, a moglo bi se čak i dokumentirati. Okviri na bilo kojoj platformi zaista su tu da pruže strukturu, module za višekratnu upotrebu i knjižnice te općenito izbjegavaju sve dosadne i ponavljajuće zadatke koji se izvode izradom iste funkcije iznova i iznova. Na primjer, prilikom izrade CMS-ova, nešto bi trebalo obrađivati ​​i provjeravati polja obrazaca za mene; ako se prepustim sam sebi, možda propustim nešto važno i puno bih radije radio elemente svakog projekta koji jesu drugačiji, nego one koje su svaki put iste!


Okviri s punim hrpom

Okviri s punim hrpama, kao što je Zend Framework, mogu biti lijepo mjesto za početak za programera bez puno arhitektonskog iskustva. Daje dobru strukturu na koju se može objesiti nova aplikacija, a oko nje postoji dobar 'ekosustav' - mnoštvo knjiga, vodiča i neke razumne dokumentacije. Ako pokušavate izgraditi veliku aplikaciju koju će održavati puno ljudi, tada će popularni, sveobuhvatni okvir vjerojatno biti dobar izbor, jer će diktirati prilično strukturu i biti dobro poznat i razumljiv.

Imati strukturu koja pomaže razdvajanju uvijek je dobro; rano u karijeri radio sam s nekima vrlo mlađi programeri i pokušali su ih naučiti uzorku MVC (Model View Controller), koji je u to vrijeme bio relativno nov. Donijeli smo odluku da koristimo Smarty u sloju prikaza; dijelom kako bi dizajneri mogli lakše raditi s predlošcima, a dijelom tako da kad bi netko došao do mog stola i rekao "kako da napravim X sa Smarty?" Mogla bih reći "ne radi X u pogledu!" (devet puta od 10, to je bio odgovor). Imati okvire pomaže nam da pronađemo isto razdvajanje u drugim dijelovima naše aplikacije. Mnogi od njih podržavaju integraciju s predloškom kao što je Smarty ili moj novi favorit Twig, tako da te alate možete ponijeti sa sobom koji god okvir odaberete.


Olakšajte teret

Ima puno lakših okvira od Zend Framework-a, na primjer prilično radim s CodeIgniterom. Je li sveobuhvatan i robustan kao Zend Framework? Ne, nije. Ali kao pomoćni okvir koji omogućuje brzu izgradnju aplikacije, koristan je. Općenito, okviri s manje funkcionalnosti 'pomoćnika' mogu se lakše snalaziti jer je puno očitije kako dijelovi idu zajedno. U nepoznatom okviru (za mene je to gotovo sve), automatički bitovi otežavaju rad i otklanjanje pogrešaka.

Taj osjećaj „izgubljenosti u novom okviru“ neizbježan je i krajnje frustrira; čak se i iskusni programer osjeća kao početnik kad ne zna kako nešto funkcionira. Ako stvarno nemate sreće, odabrat ćete okvir čiji će vam IRC kanal reći da ste i vi idiot! To je vrlo negativno početno iskustvo koje mnoge ljude priječi da koriste novi okvir ili ga usvoje, a vrlo malo okvira dobro pomaže novim korisnicima u toj početnoj prepreci.


U PHP-u imamo i neke okvire koji zapravo nisu okviri na način na koji ja obično koristim riječ. Imamo neke lijepe okvire komponenata; zbirke knjižnica dizajnirane da budu korisne po volji i da se lijepo igraju zajedno, poput Zeta Components (prethodno eZ Components) i Symfony Components (jeste li vidjeli njihovu web stranicu? Osvajaju nagradu za najbolje umjetničko djelo!). Najbolje i najoptjerenije od njih su, naravno, PHP-ove vlastite PEAR i PECL ponude - nekako se one zaborave u ovom hrabrom novom svijetu okvira.

Mikrookvir

Mikrookviri su novi trend u PHP-u; ovo su super lagane ponude koje vam samo pomažu da brže lijepite stvari. Dobar primjer je Slim, koji je vrlo brz i jednostavan za upotrebu i razumije RESTful koncepte. Temelji se na ideji 'ruta', a to su URL uzorci. Registrirate rutu i dajete povratni poziv na koji se treba pozvati kad se zatraži taj URL.

Većina PHP programera usvaja okvir i drži ga se, ili ga može koristiti jedan na poslu, a drugi za svoje hobije ili projekte otvorenog koda. Malo je konsenzusa oko "najboljeg" okvira za upotrebu, tako da se svi drže onoga što znaju, a rezultat je paralelni razvoj ogromnog broja okvira! Volim imati izbor koji bih mogao birati, ali jesam li spomenuo da su svi podjednako loši?

Ako poznajete Zend Framework, na kraju ćete se opisati kao programera Zend Framework-a; ne bi vam bilo ugodno pisati u nekom drugom okviru dok se ne biste imali priliku s njim suočiti i vjerojatno se ne sjećate mnogih sirovih PHP funkcija za stvari ako ih ne koristite često. Ova ideja da smo postali programeri specifični za okvir, koji rade samo na slojevima apstrakcije, pomalo je čudna za PHP. Napokon, ovo je jezik "za rješavanje web problema". Napisan je na C jeziku i sam je po sebi brz, lagan jezik ... pod uvjetom da ne čekate da se pokrene veliki okvirni bootstrap postupak! Iz ovog je konteksta proizašao manifest MicroPHP, koji je napisao čovjek kojeg zovemo Funkatron (iako se zapravo zove Ed Finkler). Niz je izjava koje kažu da je u redu izgraditi niz interoperabilnih malih modula, da veći nije bolji i da je zaista život Java prekratak - čak i ako je napisan na PHP-u.

Izbor Urednika
Pregled Mac mini (M1, 2020)
Čitati

Pregled Mac mini (M1, 2020)

Mac mini (M1, 2020) lako je jedan od najboljih računara male veličine koji kreativci mogu kupiti. Ako nemate proračun za Mac Pro ili vam treba naga Mac Pro-a, onda je ovo jajna alternativa. Kompaktan ...
Modo 10.1
Čitati

Modo 10.1

Modovi novi proceduralni alati moćni u, ako ih nije baš lako naučiti, i trebali bi poboljšati Modovu reputaciju najboljeg alata za modeliranje u kla i. Novi et alata za proceduralno modeliranje Modeli...
8 načina za automatizaciju uobičajenih zadataka dizajna
Čitati

8 načina za automatizaciju uobičajenih zadataka dizajna

Bez obzira je te li uzbuđeni zbog mogućno ti umjetne inteligencije u dizajnu ili va je trah da će roboti doći i ukra ti vam po ao, jedno je igurno - prava vr ta automatizacije može nam uštedjeti vo vr...