| | |
| Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
Autor | Správa |
---|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal Karo88: 31.03.2011 16:22 | |
|
ako sa dá ošetriť define lebo sa mi začalo stávať že je duplicitne daná ide oto, že mám subor.php v vnich define ale volám ich cez
Kód: $unDirmodules = dir( UN_FULLAPP_PATH."modules" ); while ( $unFilemodules = $unDirmodules->read( ) ) { if (file_exists("modules/".$unFilemodules."/subor.php")) { include_once("modules/".$unFilemodules."/language/subor.php"); } } $unDirmodules->close( ); potrebujem to ošetriť tak že keď už také define("NIECO","") sa bude opakovať tak ho vyradí a ostane iba jedno aby som nemal zbytočne define("NIECO",""), define("NIECO",""), define("NIECO","")
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 31.03.2011 16:48 | |
|
Pouzi podmienku s fciou defined(). Lepsi sposob ale rozhodne bude spravit si v kode taky poriadok, aby si sa duplicitnym deklaraciam vyhol.
|
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 31.03.2011 17:32 | |
|
no tak ja potrebujem iba jedno define a ostatné rovnaké defined no najhoršie je natom, že tieto súbory v niektorých prípadoch to musia mať define a keď to vymažem tak to nejde práve preto sa pýtam ako čo najúčelnejšie poriešiť poriadky v kóde by nepomohli lebo potom by už nefungovali vôbec jednotlivé operácie na define
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 31.03.2011 17:51 | |
|
Vytvor si jeden subor, napr. constants.php, donho napchaj vsetky define() a includni ho raz, hned na zaciatku.
|
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 8:09 | |
|
tak a dospel som k riešeniu konečne a to takému že urobím sa mi zoznam do premennej array potom tieto súbory spracujem cez fopen, fread, fclose a vyberie len názov do ďalšej premennej array na porovnávanie či existuje a keď nie tak tak sa cyklus bude opakovať dokial nedojne na koniec teraz to u len dať dokopy
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 01.04.2011 8:15 | |
|
Zbytocne, absolutne neefektivne, kvoli takej hovadine robit relativne narocne operacie... co ti nie je jasne na mojom rieseni? Preco sa snazis vsetko robit komplikovane?
|
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 8:42 | |
|
asi preto že je tých zložiek cez 40 a mení ich cez 70 ľudí čo na nich pracujú a neustále sa menia...
ide to že každý priečinok je samostatný systém ktorý potrebuje daný súbor s define ale zároveň sa z nich stáva stáva aj doplnok keď sú v adresári doplnky, pre jeden centrálny systém, ktorý sa tým hneď rozšíri a denne sa tieto súbory zmenia aj cez 120 krát. Keby to bolo tak jednoduché ako si myslíš už dávno by som mal jeden súbor ale to nieje zrovna moje riešenie tak by mi vznikol súbor aj cez 6000 riadkov a to by isto nevyriešilo že sa niekto sekne a zrazu mám zase duplicity... tak že by sa stále to muselo kontrolovať, tak prečo si to nezjednodušiť keď sa to dá
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 01.04.2011 12:07 | |
|
Ak chceš urobiť to, čo si písal, tak potom použi podmienku s tým defined (ale to ti napísal Ďuri hneď v prvom komentári).
Inak by ma celkom zaujímalo, ako chceš zabezpečiť to, že tie hodnoty budú vo všetkých súboroch rovnaké. To, aby tie hodnoty boli uložené len na jednom mieste (nemusia byť nutne v jedinom súbore), sa ti zdá byť zložité, takže by ma zaujímal ten tvoj jednoduchší systém, ktorým zvládaš kontrolovať/upravovať... tie hodnoty v tak veľkom počte súborov.
|
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 12:43 | |
|
ako máš na mysli podmienku? len neviem na zákklade čoho ta podmienka bude potom spracovaná
Kód: if (niečo) { defined(); }
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
Kód: if(!defined('NIECO')) define('NIECO', 5);
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Karo88 píše: ako máš na mysli podmienku? len neviem na zákklade čoho ta podmienka bude potom spracovaná Kód: if (niečo) { defined(); }
karo, veľa šťastia v projekte ak máš problém s takouto banalitou.. chrono má pravdu, ten tvoj spôsob nemá hlavu ani pätu
_________________ C#, PHP, ... |
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 13:10 | |
|
no tak mi povedz teda ako dostaneš do defined NIECO ? keď na základe čoho sa to vydedukuje? s čista jasna to tam nespadne bude kód s define
Kód: define('NIECO1', 35); define('NIECO3', 5); define('NIECO', 5); define('NIECO23', 5); define('NIECO'3, 5); define('NIECO1', 35); a teraz chcem tie duplicity NIECO1, NIECO3 odstrániť a platila ta najhornejšia? NIECO1 a NIECO3 Kód: if(!defined('NIECO')) define('NIECO', 5);
asi sme sa nepochopili....
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
nepochopil si, ze v tych tvojich suboroch mas pouzivat zapis s defined() namiesto cisteho define()?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 13:26 | |
|
pochopil som len aj tak by to potom chcelo niečo čo potom otvorí sú automaticky to prepíše, teraz je cez 40 priečinkov a v nich 80 súborov. a tak asi nato najlepšie bude Kód: str_replace(define, defined, $prem); tak takto to bude jednoduchšie kiež by som nezabudol na str_replace
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
karo, vieš, čo je to framework? aspoň približne?
to s tým str_replace si dúfam myslel ako aprílový žart
_________________ C#, PHP, ... |
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 13:36 | |
|
by sa divil viem ale tak v jednoduchosti je krása, len škoda že zadávateľ to nechcel na frameworku, keby áno tak už je dávno po tom projekte...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
nechapem, co chces prepisovat cez str_replace, ked to, co potrebujes, staci includnut dohromady a mas po probleme... samozrejme, musel by si ale vsetky dotknute subory najskor upravit...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Karo88 píše: by sa divil viem ale tak v jednoduchosti je krása, len škoda že zadávateľ to nechcel na frameworku, keby áno tak už je dávno po tom projekte...
nejde o to, aby si použil nejaký hotový framework, ale aby si vedel použiť niektoré princípy, aké sa využívajú pri frameworkoch... pokiaľ je to také obrovské ako hovoríš, tak sa preorganizovaniu nevyhneš. Nehovorím, aby si veci komplikoval, ale práve aby si ich zjednodušoval. Ty máš pocit, že str_replace je jednoduché riešenie? Som zvedavý, čo urobíte, keď sa vám ten projekt ešte rozrastie a bude treba zmeniť nejakú vec...
_________________ C#, PHP, ... |
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 14:28 | |
|
tak to máš pravdu projekt bol dávnejšie začatí a pri počiatkoch som nebol čo je škoda, aby som pravdu povedal keď som bol prizvaní k tomuto projektu už bol dosť rozsiahli, zadávateľ o frameworku nechce ani počuť... tiež by to uľahčilo kopec práce, ale ani OOP som tam nenašiel keď som začal podieľať na tomto, najlepšie je, že sme sa nikdy osobne nevideli čo pracujeme
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
netreba sa navzájom vidieť, ale nejaká komunikácia a hlavne jednotné pravidlá MUSIA byť...inak z toho budete mať taký miš-maš, že to radšej prerobíte odznovu. ťažko takto súdiť keď nevidíme zdroják, aký spôsob by bol pre vás najlepší. str_replace by som ale vážne nepoužíval na takýto účel
inak, OOP je pri rozsiahlych povinnosť nutnosť, tam nie je o čom debatovať ak to nie je komplet oop, tak to fúúha...
_________________ C#, PHP, ... |
|
Registrovaný: 17.10.08 Prihlásený: 18.11.15 Príspevky: 35 Témy: 10 | Napísal autor témy Karo88: 01.04.2011 16:43 | |
|
no tak to bola len zmienka na str_replace no to mi vrav o tom že OOP by bolo najlepšie len už na samom začiatku sa malo používať teraz je sa veľmi ťažko prerábajú niektoré funkcie, len najhoršie je na tom, že vždycky príde niekto nový, ktorý to tak maximálne rozhodí že to nieje až pekné a pravidlá nepravidlá nezáujem je im to jedno... 5 mesiacov čo to programuje som už mal vidieť kadečo v kóde... najhoršie je na tom že ani úplne prístupy do jednotlivých zložiek čo teraz skoro pre mňa už neoplatí ale keď som začínal tak som videl len okrajová zložku a potom časom bližšie k hlavnejším priečinkom a súborom...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 21 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|