abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 7
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 562 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Kontrola zapisu v php

    6.4.2012 12:27 SCP
    Kontrola zapisu v php
    Přečteno: 358×
    Ahoj, taková drobnost, můžu používat takový zápis v php? Když mám v if vnořené jiné if
    }}}
    nebo musím používat tohle
        }
      }
    }
    děkuji za pomoc

    Řešení dotazu:


    Odpovědi

    Řešení 2× (Vojtěch Horký, RYU.cz)
    6.4.2012 12:33 Kit
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Můžeš to používat, ale ti, kteří to po tobě budou číst, tě nebudou mít rádi.
    6.4.2012 13:12 SCP
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Díky. Myslíš tím hackery?
    6.4.2012 13:22 Ragzid | skóre: 24 | blog: Pivní koutek | Liberec-Brno
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Kdokoliv, kdo ten zdrojovy kod po tobe bude cist.

    A pravdepodobne i ty za tyden nebudes vedet, co kde ktery if dela a kde konci...
    6.4.2012 13:54 Kit
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Hackerům je to vcelku jedno a interpretrům PHP je to úplně jedno. Je dobré si zvyknout na nějakou rozšířenější kulturu psaní kódu. Je důležité psát aplikace tak, aby ses v nich i po roce vyznal.

    Tři úrovně vnoření if jsou na pováženou. A ty se snažíš to ještě znepřehlednit tím, že šetříš řádky na nesprávném místě?
    8.4.2012 03:16 blizzz | blog: Filmy
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    http://beta.phpformatter.com/
    6.4.2012 13:34 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Mít 3 vnořené if ukazuje (dost často) na problém s návrhem. Nedávalo by smysl vnitřní blok přesunout do samostatné funkce? Nejdou podmínky nějak zkombinovat?

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    6.4.2012 14:59 SCP
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    No nedavno jsem cetl, ze kod se ma psat tak do 5 radku, to ny me zajimalo kdo takovou p*covinu vymeslel a jeste ji vydava za nejaky standard, to je hnus. To mám jako mit 5000 funkci nobo jako jak to pomyslny autor myslel? Pokud budu mit v kazde fci dalsi 10 fci tak to se v tom teprve nikdo nevyzna.. nehlede na to, ze vymyslet porad navy funkci je taky na hlavu... :-) Muj osobni nazor je, ze by programator mel psat kod tak aby se v nem vyznal predevsim on sam..
    6.4.2012 15:18 Kit
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Nemusíš věřit každé ptákovině, kterou na netu najdeš. Kód má tvořit nějaký logický celek a je jedno, kolik má řádek.

    Stejně tak je plný net nesmyslných jednořádkových getterů a setterů. To je také nějaká divná móda. Metody mají něco dělat, nejen zpřístupňovat vnitřní proměnné objektu.

    Rozumný limit pro velikost funkce je cca 1 stránka. Tak, abys ji během editování viděl celou. Ne vždy je nutné to dodržet, ale pokud někdo běžně používá funkce o 2000 řádcích, asi není něco v pořádku.
    6.4.2012 15:28 SCP
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Nemusíš věřit každé ptákovině, kterou na netu najdeš. Kód má tvořit nějaký logický celek a je jedno, kolik má řádek.

    Tak to jsem rád, jelikož je to nerealne..
    ...pokud někdo běžně používá funkce o 2000 řádcích, asi není něco v pořádku.
    Hm, ja taky používam funkce, a ty mensi funkce maji taky cca 2000 radku, ale jen opravdu ty mensi. :-) Jinak neverim ze by se to dalo nejak rozepsat, urcite dalo ale zase by to bylo na ukor rychlosti serveru, myslim si, ze kazde include nebo volani dalsi funkce je zbytecni zatez serveru, nebo tomu tak neni?
    6.4.2012 15:33 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    urcite dalo ale zase by to bylo na ukor rychlosti serveru, myslim si, ze kazde include nebo volani dalsi funkce je zbytecni zatez serveru
    Než budete optimalizovat na úkor přehlednosti zdrojového kódu, chce to mít dobře podložené. Ano, include dalšího souboru je určitě pomalejší, ale je to zpomalení vůbec znatelné? Dokáže ten rozdíl vůbec naměřit? Pokud ne, tak nemá funkce o 2000 řádkách v kódu co dělat. Nebo myslíte, že takhle dlouhou funkci dokáže pochopit někdo jiný kromě autora? Resp. doopravdy ji autor dokáže pochopit, když ji uvidí za rok a mezitím dělal na jiném projektu?
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    6.4.2012 15:36 Kit
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Hm, ja taky používam funkce, a ty mensi funkce maji taky cca 2000 radku, ale jen opravdu ty mensi. :-) Jinak neverim ze by se to dalo nejak rozepsat, urcite dalo ale zase by to bylo na ukor rychlosti serveru, myslim si, ze kazde include nebo volani dalsi funkce je zbytecni zatez serveru, nebo tomu tak neni?
    Není. Divil by ses, ale vhodné rozdělení na více modulů dokáže aplikaci výrazně zrychlit a snížit zátěž serveru.
    8.4.2012 03:15 blizzz | blog: Filmy
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Stejně tak je plný net nesmyslných jednořádkových getterů a setterů. To je také nějaká divná móda. Metody mají něco dělat, nejen zpřístupňovat vnitřní proměnné objektu.
    gettery / settery je dobre pouzivat preto ze sa daju v potomkovi overridnut, ked tam mas premennu tak ju neoverridnes a musis upravovat predka.

    vo vecsine modernych jazykov ale existuju implicitne properties, takze programator nemusi pisat zbytocny kod:
    type Trieda(meno : string) =
        member t.Meno = meno
    
    type Trieda2(meno : string, priezvisko : string) =
        inherit Trieda(meno)
        member t.Meno = base.Meno + " " + priezvisko
    Josef Kufner avatar 8.4.2012 03:44 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    PHP má magické metody __get() a __set(), takže není třeba psát nesmyslné gettery a settery, ale přitom je možné potřebný kód doplnit později.
    Hello world ! Segmentation fault (core dumped)
    8.4.2012 08:01 Kit
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    gettery / settery je dobre pouzivat preto ze sa daju v potomkovi overridnut, ked tam mas premennu tak ju neoverridnes a musis upravovat predka.
    To je stejně divné. Kdykoli se zmíním o nesmyslnosti primitivních getterů/setterů, kdekdo si myslí, že ty proměnné objektu mám deklarované public a že k nim přistupuji z vnějšku. Jako kdyby jiná možnost neexistovala.

    Stále tvrdím, že metody objektu mají něco dělat. Nejen zpřístupňovat vlastní privátní proměnné, ale poskytnout zpracovanou informaci o objektu, resp. umět zpracovat vstupní údaje pro uložení.
    6.4.2012 16:05 SCP
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Tak ja si necham urcite poradit od zkusenych, ale musite byt konkretnejsi, jestli delat spoustu vnorenych funkci, nebo includovat soubory nebo jinak..
    6.4.2012 16:35 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Kód rozdělujte na funkce podle uzavřenosti (dělá to jednu věc) a úrovně abstrakce (funkce pro uložení informace o objednávce vs. funkce pro uložení řádku do tabulky databáze).

    Rozdělení do souborů je obvykle podle funkcionality (funkce pro práci s databází, funkce pro HTML výstup, pomocné funkce atd.), do funkcí viz výše.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    6.4.2012 16:37 Kit
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Hodně pomáhá, pokud includuji jen ty soubory, které budu skutečně potřebovat. Na to výrazně pomáhá autoloader. Když místo 10000 řádek při každém běhu zpracuješ jen 400, tak ani tolik nevadí, že jsi mezitím volal 4 includy.

    Pro weby je dobré používat architekturu MVC a definovat si, co se bude zpracovávat ve které vrstvě. Samozřejmostí je objektový přístup a správné používání výjimek. Také je nutné pro daný účel vybrat vhodnou databázi.
    Řešení 1× (Vojtěch Horký)
    Josef Kufner avatar 6.4.2012 18:09 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Nauč se používat třídy a autoloader. Hlavním přínosem tříd je zapouzdření kódu. Autoloader za tebe vyřeší includy. Jestli budeš mít o include víc nebo míň neřeš, dokud nebudeš mít pořádný důvod proč, neboť pak i budeš vědět jak.

    Do jednoho souboru dej jednu třídu. Jedna třída reprezentuje jednu věc. Jedna metoda dělá jeden úkol a je fajn, když se vejde na jednu stránku (obrazovku).

    Úkol, který metoda řeší by měl být popsán v komentáři před její hlavičkou a tento popis by se měl vejít do jedné nebo dvou vět. Pokud ti dvě věty nestačí, rozděl to na více metod.

    Důležitá je dokumentace. Nauč se používat (např.) doxygen a komentuj tak, aby tomu rozuměl (jde jen o styl psaní komentářů).

    Kód by měl být napsán tak, aby komentáře nepotřeboval. Tedy v první řadě přehledně a srozumitelně, v druhé řadě správně a až potom teprve efektivně. Pokud je kód srozumitelný a chybný, lze ho opravit. Pokud ale je správný a nesrozumitelný, nevíš, že je opravdu správně a nelze ho rozšířit ani znovu použít. Viz Worse is Better. Pokud je kód příliš pomalý, obvykle je třeba zvolit lepší algoritmus, příležitostné optimalizace to nezachrání.

    S tím souvisí i verzování. Když něco uděláš, udělej commit a dej mu smysluplný popis. Nejde ani tak o historii nebo sdílení kódu, ale o to, že budeš schopný pojmenovat provedenou změnu v kódu a díky tomu se ti bude lépe udržovat pořádek, jak program poroste. Doporučuju Git, neboť se nemusíš zatěžovat umístěním repositáře.

    Přehlednosti pomůže, když je kód psaný všude stejným stylem. To se týká pojmenování proměnných a metod, tříd, a formátování. Zvol si automatický formátovač kódu (např. indent -kr -i8 -l120 – pozor, neumí PHP) a přijmi jeho styl za svůj. Pokud ti někdo pošle blbě zformátovaný patch, bude snadné ho upravit, aby ladil s okolním kódem. Obdobně když budeš s někým potřebovat spolupracovat.
    Hello world ! Segmentation fault (core dumped)
    7.4.2012 00:06 Prosík
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Zajímavé a poučné čtení... Ihmo, neexistuje něco jako tohle spl_autoload_register(); i pro function?
    Josef Kufner avatar 7.4.2012 00:21 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Není to potřeba.
    Hello world ! Segmentation fault (core dumped)
    7.4.2012 00:33 Prosík
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    Mě by se to teda šiklo...
    Josef Kufner avatar 7.4.2012 01:12 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Kontrola zapisu v php
    To se ti jen zdá...
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.