我使用 Zend Studio 用 CakePHP 进行 PHP 开发,CakePHP 的问题之一是所有视图都引用了未声明的局部变量.
I use Zend Studio to develop in PHP with CakePHP, and one of the problems with CakePHP is that the views all reference undeclared local variables.
例如,在控制器中你会
$this->set('job',new MyJobObject());
然后在视图中你可以
echo $job->getName();
我的问题是 Zend Studio 无法对 $job 执行自动完成,因为它的类型未知.现在有 PHPDoc 标签允许您声明类型,以便 IDE 可以执行自动完成.例如,@var 标记可用于在类中定义属性的类型.
My problem is that Zend Studio can't perform autocomplete on $job, because it's type is unknown. Now there are PHPDoc tags that allow you to declare the type so that IDE's can perform autocomplete. The @var tag for example can be used in a class to define a property's type.
class MyJobObject
{
/**
* @var MyStatusObject
*/
public $status;
}
有没有办法对局部变量做这样的事情?
你必须使用单行形式:/** @var $job MyJobObject */
请注意,有些编辑器更喜欢相反的语法:/** @var MyJobObject $job */
Note that some editors prefer the syntax the other way around: /** @var MyJobObject $job */
这篇关于如何使用 PHPDoc 表示法声明局部变量的类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
不能使用 'Object 作为类名,因为它是保留的Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作为类名,因为它是保留的 Cake 2.2.x)
OAuth 重定向后会话丢失Session is lost after an OAuth redirect(OAuth 重定向后会话丢失)
Cakephp 3.x 中的分页排序Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分页排序)
CakePHP 多个应用程序的共享核心CakePHP Shared core for multiple apps(CakePHP 多个应用程序的共享核心)
在 CakePHP 3 上登录 [ Auth->identify() ] 始终为 falLogin [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登录 [ Auth-identify() ] 始终为 false)
致命错误:允许的内存大小为 134217728 字节已用尽Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命错误:允许的内存大小为 134217728 字节已用尽