Skip to main content


Showing posts from September, 2009

Concatenating a string to a class constant in PHP

Today I wanted to concatenate a String value to a Class constant to get some task done. I wrote a line as follows.

class DeadlineNotifications extends AppraisalObject {

const ROOT_PATH = '/var/www/dev/nus';
const EMAIL_TEMPLATE_DIR = ROOT_PATH . '/lib/models/performance/emailTemplates/';

Expected value in second constant:

Actual result:
Parse error: syntax error, unexpected '.', expecting ',' or ';'

In a way, some one can consider this thing as a bug of PHP. But this is not a bug. You can only initialize class constants with constant values. Here I have passed a statement which has to be evaluated at runtime. But the class constants are defined at compile time which comes earlier.