2017-04-13 15 views

回答

1

启动形式php 5.6你可以这样做:

class EmployeeDAO 
{ 
    const FIND_ALL = 'SELECT * FROM employee'; 

    const FIND_BY_NAME = self::FIND_ALL . 
     ' WHERE employee.name LIKE :name'; 
} 
+0

我看,把它变成私有从7.1开始的唯一途径? – LowLevel

+0

http://stackoverflow.com/questions/6770407/php-private-const – LowLevel

+1

@LowLevel是的,https://secure.php.net/ChangeLog-7.php#7.1.0 –

1

声明为静态的属性不能用实例化的类对象来访问(尽管一个静态方法可以)。为了与PHP 4兼容,如果不使用可见性声明,那么该属性或方法将被视为已声明为公共。

PHP: Static Keyword - Manual

+0

如果我使用私有静态函数来返回适当的字符串并相互引用会怎么样? – LowLevel

0

我不知道这是一种欣赏的方式,但我可以解决这个问题是这样的:

private static function sql_findAll() 
{ 
    return 'SELECT * FROM employee'; 
} 

private static function sql_findByName() 
{ 
    return self::sql_findAll() . 
     ' WHERE employee.name LIKE :name'; 
} 
相关问题