20

I am getting this error in this PHP code on line 3, what could be wrong? This code has been taken from php manual user notes by frank at interactinet dot com

<?php

public function myMethod()
{
return 'test';
}

public function myOtherMethod()
{
return null;
}

if($val = $this->myMethod())
{
 // $val might be 1 instead of the expected 'test'
}

if( ($val = $this->myMethod()) )
{
// now $val should be 'test'
}

// or to check for false
if( !($val = $this->myMethod()) )
{
// this will not run since $val = 'test' and equates to true
}

// this is an easy way to assign default value only if a value is not returned:

if( !($val = $this->myOtherMethod()) )
{
$val = 'default'
}

?> 
2
  • 1
    Looks like this is supposed to be part of a class definition. This won't run as is. Commented Nov 12, 2012 at 9:44
  • in addition, the code is showcasing bad programming, something you should not do. Why would you want to use the code? Commented Nov 12, 2012 at 9:49

2 Answers 2

56

The public keyword is used only when declaring a class method.

Since you're declaring a simple function and not a class you need to remove public from your code.

Sign up to request clarification or add additional context in comments.

3 Comments

what's the difference between a public function in a class and a function out in the open?
You can also hit this error from not closing a bracket & that runs into the next function... It will throw this error on that function. That's what I did. Don't be like me.
@Tanner_Gram I did what you did so I checked every single braces, and it works
3

You can remove public keyword from your functions, because, you have to define a class in order to declare public, private or protected function

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.