Re: constant from variable
| From: | Nathan Rixham | Date: | Fri, 04 Jun 2010 21:30:43 +0000 |
| Subject: | Re: constant from variable | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-305838@lists.php.net to get a copy of this message | ||
Tanel Tammik wrote:
""Tanel Tammik"" <keevitaja@gmail.com> wrote in message news:31.A3.00596.0D7590C4@pb1.pair.com...I'm jumping a few steps here, but you may be interested in looking at this pattern :) http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html"Ashley Sheridan" <ash@ashleysheridan.co.uk> wrote in message news:1275678975.2217.83.camel@localhost...this is better: <?php define('PERFIX', 'dbperfix_'); define('DB_MYTABLE', PERFIX . 'mytable'); abstract class Database { private static function table_name() {On Fri, 2010-06-04 at 22:07 +0300, Tanel Tammik wrote:<?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 TanelHi, define('MYCONST', 'something'); $my = 'my'; $const = 'const'; is it possible to get the value of MYCONST using variables $my and $const_ Br TanelI 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.ukreturn 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(); ?>