ugrás a tartalomhoz

fügvénybe külső változó, konstans

lepke · 2008. Szep. 2. (K), 14.19
Lehetséges-e az hogy egy fügvénybe külső változót hívjak meg, már a fügvény írásakor.

konkrét problémám:
  1. $prefix = "valami-";  
  2. function jogosult($mire) {  
  3. $keres="SELECT `jogosult` FROM `".$prefix."menu` WHERE `hivatkozas`='".$mire."'";//********  
  4. }  
Ugye a prefix az oldalonként változik de több helyen is használom a jogosult() fügvényt...
 
1

global?

zzrek · 2008. Szep. 2. (K), 14.25
Ha a global-ra gondoltál, akkor ez nagyon rtfm...
global manual
2

define

Szekeres Gergő · 2008. Szep. 2. (K), 15.59
  1. define("PREFIX","valami");  
  2.   
  3. function jogosult($mire) {    
  4. $keres="SELECT `jogosult` FROM `".PREFIX."menu` WHERE `hivatkozas`='".$mire."'";//********    
  5. }    
Olyan értékeket, mint pl a tábla prefix érdemes konstansként definiálni, és egy config fájlba tárolni.
4

persze

lepke · 2008. Szep. 6. (Szo), 17.56
Most csak hogy ne legyen ebből probléma mi hol merre meddig, azért írtam így....
3

bad practice

Hodicska Gergely · 2008. Szep. 3. (Sze), 12.56
Azért arra figyelj, hogy egy függvény a függőségeit alapvetően a paraméterein keresztül kapja meg. Minél több ilyen egyéb függőség van, annál átláthatatlanabb, és nehzebben karbantartható kódod lesz.


Üdv,
Felhő
5

oop

vbence · 2008. Szep. 7. (V), 12.04
Igazából egyik nagy találménya az OOP-nek az eységbe zárás, tehát hatöbb függvényed is dolgozik egy változóval, akkor:
  1. class JogosultsagKezeles {  
  2.     protected $prefix;  
  3.   
  4.     public function __contruct ($options) {  
  5.         if (!isset ($options["prefix"])  
  6.             throw new Exception ("A prefix paraméter közelező!");  
  7.         $this->prefix = $options["prefix"];  
  8.     }  
  9.   
  10.     public function jogosult($mire) {  
  11.         $keres="SELECT `jogosult` FROM `" . $this->prefix . "menu` WHERE `hivatkozas`='" . $mire . "'";  
  12.         //********  
  13.     }  
  14.   
  15.     public function jogosultsagAdasa($kinek$mire) {  
  16.         if (!$this->jogosult("adminnak"))  
  17.             throw new Exception ("Csak admin által futtatható funkció!");  
  18.         $keres="INSERT INTO `" . $this->prefix . "menu` ...";  
  19.     }  
  20.   
  21.   
  22. }  
Bővebben:
http://hu2.php.net/manual/en/language.oop5.basic.php