Это правильный способ получить доступ к частной функции в cakePHP - PullRequest
1 голос
/ 01 июня 2010

В контроллере у меня есть две функции, одна из которых сделана частной:

function toavail(){ 
             $this->autoRender=false;                
             $result2=$this->__avail();                  
              if($result2==0){return "OK";}
              else{return 0;}                                                  
        }

function __avail(){  
              $result1=$this->Site1->findByusername('1');  
               if($result1){
                return 1;
                            }
               else{
                 return 0;
                   }
        } 

Я не уверен, что это правильный способ доступа к закрытой функции в этом случае.

Ответы [ 2 ]

3 голосов
/ 01 июня 2010

Вы обращаетесь к нему правильно (при условии, что оба метода находятся в одном и том же классе контроллера), но в случае, если вы не знаете, ваш метод __avail() на самом деле не является частным. Префикс двойного подчеркивания (__) является условием, но это всего лишь соглашение. Ваш «приватный» метод действительно публичен в действительности. Чтобы сделать его закрытым, необходимо указать его в подписи:

private function __avail() { ... }
0 голосов
/ 10 сентября 2012

вы обращаетесь к нему правильно, но вы не объявляете правильно функцию.

Вы должны объявить его защищенным -> защищенная функция __avail ()

Источник: http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...