Page 1 of 1

Cant access constants defined outside class in it

Posted: Fri Jan 08, 2010 3:27 am
by pankajphartiyal
Parse error: syntax error, unexpected '.', expecting ',' or ';' in G:\workspace\learningPHP\PhotoGallery\includes\photograph.php on line 6
I am getting this error on line in file logfile.php


logfile.php is

Code: Select all

<?php
[color=#FF0000]require_once("../../includes/initialize.php");[/color]
$logpath=SITE_ROOT.DS."logs".DS."log.txt";     //this is working fine
...........
 
photograph.php is

Code: Select all

<?php
 
class Photograph {
        ............
        ............
        [color=#FF0000]public $target_dir=SITE_ROOT.DS."public".DS."images";[/color]
        public $errors=array();
SITE_ROOT and DS are constants defined in a file initialize.php which looks like

initialize.php is

Code: Select all

defined('DS')   ?   null    :   define('DS',DIRECTORY_SEPARATOR);
    defined('SITE_ROOT')    ?   null    :   define('SITE_ROOT',$_SERVER['DOCUMENT_ROOT'].DS."PhotoGallery");
    .......
    require_once(LIB.DS."config.php");
    require_once(LIB.DS."functions.php");
    require_once(LIB.DS."session.php");
    require_once(LIB.DS."database.php");
    require_once(LIB.DS."user.php");
    require_once(LIB.DS."photograph.php");

Cant I access constants defined outside class inside it?
I have also have some constants defined inside config.php which u cn see is included in initialize.php, and whose constants are working fine inside any classes.
Plz help.
Thnx in advance..

Re: Cant access constants defined outside class in it

Posted: Fri Jan 08, 2010 5:32 am
by VladSun
You can't use expressions, functions, etc. to initialize object properties in its class definition - put the initialization into the constructor.