Re: constant from variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



""Tanel Tammik"" <keevitaja@xxxxxxxxx> wrote in message 
news:31.A3.00596.0D7590C4@xxxxxxxxxxxxxxx
>
> "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> wrote in message 
> news:1275678975.2217.83.camel@xxxxxxxxxxxx
>> On Fri, 2010-06-04 at 22:07 +0300, Tanel Tammik wrote:
>>
>>> Hi,
>>>
>>> define('MYCONST', 'something');
>>>
>>> $my = 'my';
>>> $const = 'const';
>>>
>>>
>>> is it possible to get the value of MYCONST using variables $my and 
>>> $const_
>>>
>>> Br
>>> Tanel
>>>
>>>
>>>
>>
>>
>> I don't really see how you can? The only correlation at all is that the
>> two variables use the same letters combined as their values as the name
>> of the constant but in a different case. Variables and constants in PHP
>> are case-sensitive.
>>
>> Why are you trying to do this anyway? Perhaps there's a better way than
>> what you are trying to do.
>>
>> Thanks,
>> Ash
>> http://www.ashleysheridan.co.uk
>>
>>
>>
>
> <?php
> define('PERFIX', 'dbperfix_');
> define('DB_MYTABLE', PERFIX . 'mytable');
>
> abstract class Database {
>  private static function table_name() {
>    $table_name = strtolower(get_called_class());
>    return constant('DB_' . strtoupper($table_name));
>  }
>
>  public static function return_query() {
>    return "select * from " . static::table_name() . " where 
> something='value'";
>  }
> }
>
> class MyTable extends Database {
> }
>
> echo MyTable::return_query();
> ?>
>
> i know i could just do return PERFIX . $table_name. -  i'm using it that 
> way. i was just curious if the other way is possible. might come handy 
> some day!
>
> Br
> Tanel
>

this is better:

<?php
define('PERFIX', 'dbperfix_');
define('DB_MYTABLE', PERFIX . 'mytable');

abstract class Database {
  private static function table_name() {
    return constant('DB_' . strtoupper(get_called_class()));
  }

  public static function return_query() {
    return "select * from " . static::table_name() . " where 
something='value'";
  }
}

class MyTable extends Database {
}

echo MyTable::return_query();
?> 



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux