dongyong3223 2012-09-11 10:14
浏览 19
已采纳

CakePHP2.0如何在组件中使用函数?

This might be a very noob question, but I can't seem to find the answer anywhere. Is it possible to make your own function in a component and call it in the same component?

Example:

Class myComponent extends Component{

 public function doSomething(){

  doThis();

  $b = $a + 2;

  return $b;

 }

 function doThis(){

  $a = 0;

 }

}
  • 写回答

2条回答 默认 最新

  • duande1985 2012-09-11 10:19
    关注

    You are mixing up several things here.

    1. You can generally create object methods like this without problem. You have to call them as objects methods though:

      public function doSomething() {
          $this->doThis();
          ...
      }
      
    2. Just calling doThis() won't magically create the variable $a in the calling scope. The variable will be created inside doThis and will be contained there. And that's a good thing. You'll have to explicitly return the value from the method to make it available:

      public function doSomething() {
          $a = $this->doThis();
          ...
      }
      
      protected function doThis() {
          return 0;
      }
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?