首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在phpDesigner8中实现getters和setters函数

在phpDesigner8中实现getters和setters函数
EN

Stack Overflow用户
提问于 2012-03-23 00:09:06
回答 2查看 657关注 0票数 0

嗨,我需要在phpDesigner8中制作getters和setter,就像在Zend Studio中一样。我的办公室电脑对Zend8或Zend9不是很强大。(请不要写“更改IDE”,我喜欢这个)。

有没有人知道这是否可能?

代码语言:javascript
复制
class A 
{
   protected $x;
   protected $y;

   public function getX()  // I need this automatically.
   {
     //....
   }

   public function setX($x)  // I need this automatically.
   {
          //......
   }

}

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-17 19:49:18

不可能用phpDesigner8实现自动的getter和setter!

票数 0
EN

Stack Overflow用户

发布于 2012-05-16 18:16:10

我也在同样的情况下,仍然没有在phpDesigner中找到任何宏功能。

所以我决定使用自动热键。这是一个非常小的免费程序(它将满足您的旧计算机的需要),它有一个非常强大的脚本语言来构建宏。

  • http://www.autohotkey.com/download

这样,该方法可以应用于您使用的任何集成开发环境,而不仅仅是PhpDesigner。

我写了以下脚本:

代码语言:javascript
复制
^t::   ;invoke by copying variable name to clipboard, and pressing control+t
  fun = %ClipBoard%           ;takes the content of clipboard
  result = `r`n/**            ;`r`n = carriage return on windows
  result = %result% `r`n * @return
  result = %result% `r`n */
  result = %result% `r`npublic function get_%fun%() {
  result = %result% `r`n`treturn $this->%fun%;
  result = %result% `r`n`}`r`n
  result = %result% `r`n/** 
  result = %result% `r`n * @param %fun%
  result = %result% `r`n * @return
  result = %result% `r`n */ 
  result = %result% `r`npublic function &set_%fun%($%fun%) {
  result = %result% `r`n`t$this->%fun% = $%fun%;
  result = %result% `r`n`treturn $this;
  result = %result% `r`n`}
  result = %result% `r`n
  ClipBoard = %result%        ;stores result on clipboard
  Send {down}{home}           ;moves to prevent overwriting selected text
  Send ^v                     ;writes result to text editor
  Send {shiftdown}{controldown}{f1}{controlup}{shiftup} ;PHPDesigner format file
  Sleep 50                    ;waits for paste to finish                    
  ClipBoard = %fun%           ;restores previous clipboard          
  VarSetCapacity(fun, 0)      ;empties variable     
Return

它是这样工作的:首先查找属性定义(或将其写下来):

代码语言:javascript
复制
protected $table_name_a;

然后选择table_name_a,复制到剪贴板(control+c),然后按control+t,此时会写下(并调用Control+Shitf+F1格式化当前文件中的代码):

代码语言:javascript
复制
/**
 * @return 
 */
public function get_table_name_a() {
    return $this->table_name_a;
}

/**
 * @param table_name_a 
 * @return 
 */
public function &set_table_name_a($table_name_a) {
    $this->table_name_a = $table_name_a;
    return $this;
}

生成的代码是为满足我的需求而设计的。我仍然需要在注释和函数调用、变量的类型和类中编写代码,以便进行文档记录和类型提示。

您可以很容易地修改脚本,例如,提示输入变量名称,因此它的声明也被编写(我碰巧已经编写了所有受保护的变量)。

Internet上充满了有关Autohotkey的文档、示例和帮助,您可以从以下位置开始:

  • http://www.autohotkey.com/docs/Scripts.htm
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9826185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档