Ciselniky z mysql do PHP rubrika: Programování: PHP
Cau,
jak resite kdyz mate ciselnik v mysql
table enum_name ID | NAME 1 | Petr 2 | Pavel
a v php kodu potrebujete napsat podminku
if($enumId == 1){ // delej neco }
Jedine co me ted napada je do mysql pridat sloupec "const_name"
table enum_name ID | NAME | CONST_NAME 1 | Petr | PETR 2 | Pavel | PAVEl
a nechat si vygenerovat tridy
class EnumName{ const PETR = 1; const PAVEL = 2; }
resilo by to ze ciselnik je jen na jednom miste, takze zmena v ciselniku neovlivni PHP kod, navic se v kodu da lepe hledat vyskyt pouziti cisleniku
//find EnumName::PETR ......
Jde tedy o fixní číselník, který není možné z aplikace změnit, ani změnit konfigurací. Je to tedy pevná součást aplikace a k určité revizi zdrojového kódu patří konkrétní fixní číselník. V takovém případě dává smysl, aby číselník byl součástí zdrojového kódu a do DB se zapisoval v rámci deploymentu. Tedy pokud vůbec v DB musí být. A jak ze zdrojového kódu naplnit DB tabulku? To záleží na možnostech jazyka - v případě PHP lze třeba z nějaké třídy s konstantami reflexí vygenerovat SQL dotazy. Při deploymentu se stejně spouští typicky nějaký skript, který upravuje strukturu DB.
Pro zobrazení všech 6 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře