Portál AbcLinuxu, 26. dubna 2024 08:08


Dotaz: Programovani v PHP (jinak)

5.1.2011 17:01 Klony
Programovani v PHP (jinak)
Přečteno: 386×
Odpovědět | Admin
Zdravím všechny programátory v PHP!

Chtěl bych se zeptat těch hodně zkušených na jednu věc. Prozkoumal jsem už tuny php kódu a všichni ale úplně všichni používají funkci include() a jim podobnou a já se ptám proč? Proč všichni programátoři vytvářejí 10 souboru které includují mezi sebou a pak něco dohledat nebo upravit je to, že stráví 100x více času s hledáním než jim zabere skutečná úprava samotného kódu. Vždyť to můžu dát do jednoho souboru třeba index.php a úpravy budou probíhat vždy jenom v jednom souboru. Je to problém když pominu to, že bude mít index.php třeba 1000 řádků? Nejedná se jen o nějaké dané pravidlo, že když to dělají všichni tak to budu dělat i já? Nechci se nikoho dotknout ale zajímá mě váš názor když se nad tím rozumně zamyslíte. Předem děkuji všem za reakce a přeji hezký den.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

AraxoN avatar 5.1.2011 17:20 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je nejaký pokus o trolling? :-D
5.1.2011 17:42 Klony
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)
V žádném případě!
5.1.2011 17:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud to není ftip, tak: Usuzuji, že s programováním začínáte, doporučuji přečíst nějakou literaturu a nemusí se nutně týkat PHP.
Objevovat kolo je někdy super a pomáhá to rozvoji, ale některé principy je lepší pochopit a akceptovat než je objevovat.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
5.1.2011 19:40 Ben Joyce
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Samozrejme ze kod lze napsat do 1000 radku, ale tezko napisete kod bez opakovani jen do jednoho souboru, aby cleneni davalo smysl. Opakovani muze byt velmi neprijemna vec, ktera programatorovi zneprijemni zivot pri oprave chyby v kodu.

Pokud jste jiz cetl nejakou literaturu nebo clanky tykajici se PHP, pak vite ze objektove programovani vyzaduje jakesi stromove usporadani kodu. Pokud byste nejakou objektove psanou aplikaci shrnul do jednoho souboru, pak by bylo zajiste vyhledavani napriklad rodicovske tridy prinejmensim zdrzenim, ktere by nenastalo v pripade rozdeleni do vice souboru.
Hledani v souborech sice zabira dost casu, ale lze ho omezit tim, ze kod rozdelite na useky (at uz jsou to soubory, tridy, metody ci funkce), ktere budou delat vec jasne popsanou v komentarich nebo ve jmene.

Kod v jednom souboru ma dalsi mnozstvi nevyhod, z nichz se zminim jeste o jedne.
Pri kazdem nacteni stranky se posle pozadavek na server. Server kod (napr. PHP) zkompiluje a posle zpet HTML kod, ktery prohlizec uzivateli zobrazi.
Preklad souboru slozeneho z 1000 radku zabere zajiste daleko vice casu nez soubor s opravdu nutnym kodem. Soubor s 1000 radku muze napriklad obsahovat nejakou funkci, ktera pro zobrazeni stranky neni potreba, a tim je prodlouzena doba, za kterou si uzivatel muze prohlednout svou stranku.

O pravidlo
když to dělají všichni tak to budu dělat i já
rozhodne nejde. Ma to sve duvody.
petka avatar 5.1.2011 21:03 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)

Ja s include jen ziju , treba takovej priklad . Proc editovat kazdej soubor s parametry na sl sql databazi , kdyz to najdu na jednom miste . Nebo pro opakujicise funkce , kdyz si muzu udelat jeden soubor s vlastima funkcema .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
6.1.2011 03:00 Sten
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)
Odpovědět | | Sbalit | Link | Blokovat | Admin
První důvod je právě proto, abyste nestrávil 100× více času hledáním než samotnou úpravou kódu. 1 000 řádků je hodně malý projekt, ale i tak budete mít velký problém se v tom vyznat. Když těch řádků bude 50 000, tak se v tom dost špatně orientuje (a i když si obsah seřadíte podle abecedy, tak scrollováním strávíte poměrně hodně času). Pokud ale máte soubory podle nějaké jmenné konvence (např. funkci „np_arf_jghg“ najdete v souboru „np/arf.php“), tak si naopak spoustu času ušetříte, protože hned víte, kam jít, a tam už toho kódu (a scrollování) nebude moc.

Druhý důvod je verzovací systém. Pokud pracujete s více lidmi, velmi rychle přijdete na to, že je potřeba, aby si svoje úpravy mohli synchronizovat. A pokud dva lidé upravují jeden soubor, celkem snadno se jim může podařit změna, kterou verzovací systém nedokáže vyřešit (třeba když upraví dvě různé funkce, které se nacházejí hned vedle sebe). A to stojí čas. Pokud budete mít souborů více a každý bude dělat na jiném souboru, tak verzovací systém nemá problém jejich úpravy spojit.

S tím souvisí i reusability. Pokud neděláte jenom jeden web, ale desítky, tak se vám hodí spoustu kódu sdílet, ale stejně potřebujete nějaké lokální úpravy (prodávat všem zájemcům jeden ten samý 20 megabajtový balík umí jenom Radek Hulán :-)). Navíc je docela vhodné, když je možné opravy chyb nasadit na všechny weby bez nějakých obtíží, takže upravený jeden soubor pro každý web nepřichází v úvahu, opět by mohlo docházet k problémům s verzovacím systémem.
6.1.2011 09:31 Ivo
Rozbalit Rozbalit vše Re: Programovani v PHP (jinak)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobre citanie na toto tema je knizka Art Of Unix Programing: http://www.faqs.org/docs/artu/

Hned prve kapitoly by mali odpovedat na tvoju otazku.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.