为了便于维护和IDE类自动完成和成员提示,我在我的项目中使用了PHPDoc.鉴于此示例类:
class my_class {
public $id;
public $name;
public $number;
public function __construct() {
//Do something
}
public function Rename($name) {
$this->name = $name;
}
}
Run Code Online (Sandbox Code Playgroud)
我更愿意用类文档本身记录所有属性($id,$name和$number),它们在类声明之上,然后在每个方法上面放置方法文档(如果需要).这是我最终希望我的班级看起来像:
/**
* Represents an example class for Stackoverflow
*
* @property int $id The id of the object
* @property string $name The name of the object
* @property int $number The number of the object
*/
class my_class {
public $id;
public $name;
public $number;
public …Run Code Online (Sandbox Code Playgroud) 我还没有使用过 laravel,但是在 youtube 上观看教程给我留下了一个输入提示的问题,这对我来说真的很重要。
现在我已经在这里阅读
和这里
但都没有解决以下问题:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Movie extends Model {
}
Run Code Online (Sandbox Code Playgroud)
现在让我们说电影有名字、id、长度、作者
所有这些字段都没有在类电影中定义,但是如果我理解正确的话,它们会以某种方式自动来自活动记录 ORM 雄辩模型
但老实说,我不记得它是叫author,Author还是AuthorName. 或MovieLength,Length或TotalTime
我应该如何记住所有型号的所有内容?有没有办法在phpstorm中输入提示?
我的意思是所有模型中所有表的字段。
编辑
让它更清楚
我想输入:
$m = App\Movie::find(1);
$m->|
Run Code Online (Sandbox Code Playgroud)
|我的插入符号在哪里。现在我在电影类中有哪些字段?
我在PhpStorm中使用Yii2框架。
当我使用$this->render函数在具有一些变量的主文件中包含另一个代码片段时,我的问题出现在视图中。
代码本身可以完美运行,我只需要突出显示即可。
这是我的代码:
<?php
echo $this->render('commentsBlock', [
"comments" => $comments,
'deleteURL' => $deleteURL,
'editURL' => $editURL,
]);
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码呈现了commentsBlock.php,该目标文件的内容如下:
如您所见,PhpStorm认为变量在定义时未声明。
我知道我需要添加一些注释,以告知IDE确实存在var,但是到目前为止,我尝试过的工作没有奏效。
我这样做:
但这不是重点。
关于如何正确编写此注释部分以欺骗IDE以突出显示我的变量的任何想法?
php ×3
eloquent ×1
laravel ×1
netbeans ×1
netbeans-7 ×1
orm ×1
phpdoc ×1
phpstorm ×1
type-hinting ×1
yii2 ×1