2015-06-05 7 views
1

Ниже приводится небольшой фрагмент кода из кода класса:Как использовать метод defined() с «Константами класса», которые определены в конкретном классе в PHP?

<?php 
/** 
* [PHPFOX_HEADER] 
*/ 

defined('PHPFOX') or exit('NO DICE!'); 

/** 
* 
* 
* @copyright  [PHPFOX_COPYRIGHT] 
* @author   Raymond Benc 
* @package   Phpfox_Service 
* @version   $Id: service.class.php 67 2009-01-20 11:32:45Z Raymond_Benc $ 
*/ 
class Notification_Service_Process extends Phpfox_Service 
{ 
    /** 
    * Class constructor 
    */ 
    const PW_AUTH  = 'xxxxxxxx'; 
    const PW_APPLICATION = 'XXXX-XXX'; 
    const PW_DEBUG  = true; 

    public function __construct() 
    { 
     $this->_sTable = Phpfox::getT('notification'); 
    } 
    public function pwCall() { 


    if (defined('PW_DEBUG') && self::PW_DEBUG) { // Is this a right way to use defined() method for class constants? 
     print "[PW] request: Request come\n"; 
     print "[PW] response: Response sent\n"; 
    } 
    } 
}  
?> 

Я положил в комментариях в мой код, где У меня есть сомнения. Скажите, пожалуйста, правильно ли использовать функцию defined() для констант класса в соответствии со стандартами кодирования?

Спасибо.

+1

, что "* стандарты кодирования *"? –

ответ

2

Вы можете использовать self:: или static:: для решения класса постоянной в defined():

if (defined('self::PW_DEBUG') && self::PW_DEBUG) { 
}