Autor | Zpráva | ||
---|---|---|---|
Luky Profil |
Zdravím,
potřeboval bych poradit jak se dá zapnout (podle mě) stará direktiva pro PHP, která by mě pomohla vyřešit tento problém: $promena = $_GET[hodnota]; Nejde mi totiž o konstantu ale o klasické přiřazení hodnoty z GET: $promena = $_GET['hodnota']; Někde jsem o tom kdysi četl a už si nemůžu vzpomenout jak se to dá zapnout (vypnout), aby to fungovalo jako ta druhá ukázka. Dostal se mi do rukou web, který je celý takhle napsán a přepisovat se mi to rozhodně nechce, i když by to bylo sebevíc vhodné :) Díky za jakoukoliv radu (omlouvám se za nevhodný název pro toto téma - nevím o co přesně se jedná) |
||
Str4wberry Profil |
#2 · Zasláno: 7. 2. 2013, 21:17:50
Je možné vypnout zobrazování poznámek. Například Use of undefined constant
Ale proč to nenahradit hromadně? Třeba \$_GET\[(.*)\] za $_GET['$1'] .
|
||
Joker Profil |
#3 · Zasláno: 7. 2. 2013, 21:25:16
Luky:
Viz Str4wberry, jinak podle mě ta samotná funkčnost se chová stejně minimálně od PHP 4 (starší neznám): Při použití nedefinované konstanty se generuje notice a nahradí se řetězcem stejné hodnoty. A podle mě i jen vyhledání $_GET[ a dosazení apostrofů by zabralo pár minut maximálně. |
||
Luky Profil |
Vypnout poznámky nepotřebuji. Chtěl bych aby PHP vyhodnocovalo
$_GET[hodnota] stejně jako $_GET['hodnota'] .
Str4wberry: „Ale proč to nenahradit hromadně“ Tento způsob $_GET[hodnota] se v kódu vyskytuje v několika souborech (nevím přesný počet ani přesně v kterých). Přiznám se, že tenhle elegantní způsob mě vůbec nenapadl. Ale raději bych nějakým příkazem povolil tady tu zastaralou techniku než se pouštěl do toho nahrazovaní. U toho nahrazování nevím jak moc by bylo náročné procházet všechny soubory a tohle všechno nahrazovat (nejedná se totiž jen o zmiňovaný GET, ale i POST, SESSION, $nastaveni[hodnota] apod - na některých místech to je dokonce napsané správně s uvozovkama) Edit: Joker: „Při použití nedefinované konstanty se generuje notice a nahradí se řetězcem stejné hodnoty.“ Máte pravdu, to jsem nevěděl - chyba toho webu bude asi někde jinde. Omlouvám se za zbytečný dotaz. |
||
Str4wberry Profil |
#5 · Zasláno: 7. 2. 2013, 21:52:33
Ani to by snad neměl být problém. Mohlo by to být něco jako
\$([_0-9a-z]*)\[([_\-0-9a-z]*)\] za \$$1['$2'] .
|
||
Časová prodleva: 11 let
|
0