Autor Zpráva
Martin Joneš
Profil
Dobrý den. Tak, jak kód je, tak funguje. Já si z toho chci ale udělat funkce, který pak vyvolám a tím ušetřím počet řádků v souborech. Funkce si jen dám do index.php a pak je budu vyvolávat v mojich templatových souborech. Funkci jsem si zakomentoval, takže si zakomentování odmyslete a odkomentovaný to bohužel nefunguje. Nevíte někdo proč? Global scope jsem všem potřebným proměnným dal v obou funkcích.
Obrázek
Davex
Profil
Martin Joneš:
Global scope jsem všem potřebným proměnným dal v obou funkcích.
Opravdu? Nebylo by správnější na global zapomenout a naučit se používat argumenty funkcí?
Martin Joneš
Profil
Davex:
Ne, zapomněl jsem na proměnnou $db. Já si ríkal, že kdybych tam měl chybu, že by mi vypsalo alespoň něco... Tím, že to nevypsalo nic mi pak ťuklo do hlavy, jestli to má vůbec přístup k databázi.
Každopádně díky.
milous
Profil
Martin Joneš:
Davex:
Ne, zapomněl jsem na proměnnou $db.


Davex má pravdu, global je celkem zlo a jak bude aplikace bobtnat, tak to bude čím dál tím náročnější a horší udržovat. Zkus si přečíst něco o Dependency Injection. Např. na github.com/nette/di najdeš třídu (di container), který ti usnadní práci s předáváním závislostí (musel bys přejít ale z funkcí na objektové programování)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: