views:

263

answers:

4

how do I define a constant inside a function

eg.

class {

     public test;

     function tester{

      const test = "abc";

     }

  }
+5  A: 

I think you want a Class Constant

class SomeClass {

  const test = "abc";

  function tester() {
    return; 
  }

}
artlung
+4  A: 

You are doing fine but you need to put the const at the class level not inside the function eg:

class {
 const TEST = "abc"; 
 public $test2;

 function tester{
  // code here
 }
}

More info here.

Also, you were missing $ in public variable test

Sarfraz
+4  A: 

By definition, you shouldn't be assigning a value to a constant after its definiton. In the class context you use the const keyword and self:: to access it through the class internally.

class TestClass
{
    const test = "abc";

    function tester()
    {
        return self::test;
    }
}

$testClass = new TestClass();
//abcabc
echo $testClass->tester();
echo TestClass::test;

You can see that you can also access the constant as a static class property using ::

Typeoneerror