PHPUnit是否有一个断言来检查值的类型
功能:
public function getTaxRate()
{
return 21;
}
Run Code Online (Sandbox Code Playgroud)
我想测试返回的值是一个数字.
抱歉,我是PHPUnit测试的新手.
我发现SimpleTest有assertIsA(); PHPUnit有类似的东西吗?
问候
好的,我相信我会有很多自定义验证,所以我决定按照Yii Standalone Validation Doc创建一个独立的验证类。
这个特定的验证器是为了确保填写 company_name 或 name,所以必填。
我在 app\components\validators\BothRequired.php 中创建了这个类
<?php
namespace app\components\validators;
use Yii;
use yii\validators\Validator;
class BothRequired extends Validator
{
public function validateAttribute($model, $attribute)
{
//validation code here
}
}
Run Code Online (Sandbox Code Playgroud)
这是模型
public function rules()
{
return [
['company_name', BothRequired::className(), 'skipOnEmpty' => false, ],
];
}
Run Code Online (Sandbox Code Playgroud)
但是,此验证需要将一些参数传递给此示例中的验证,我需要发送需要检查的第二个属性。我似乎无法弄清楚如何做到这一点,如果我在模型本身中创建验证规则,那么我可以通过,$params但我不知道如何传递给这个独立的类。
另外还要注意的是,如果我可以拥有一个包含所有自定义验证器的类,而不是每个验证器的文件,那对我来说会好得多。
有任何想法吗?
问候
只是一个简单的问题.我需要在Yii2中创建一个查询查询,其中只有当变量为true时才会出现.
public function getCheckBoxItems($holiday=false)
{
$Items = Items::find()->where(['type'=>'checkbox']);
Yii::info(print_r($Items,1), 'c');
if($holiday)
$Items->andWhere(['<>','category','holiday']);
$Items->All();
foreach($Items as $Item)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
这不起作用
然而,这个deos工作,我期待它.
$Items = Items::find()->where(['type'=>'checkbox'])->andWhere(['<>','category','holiday'])->All();
Run Code Online (Sandbox Code Playgroud)
我如何只根据$holiday变量添加andWhere
提前致谢
问候
利亚姆
更新 我找到了一种方法,但我相信有更好的方法
if($holiday)
$Items = Items::find()->where(['type'=>'checkbox'])->andWhere(['<>','category','holiday'])->All();
else
$Items = Items::find()->where(['type'=>'checkbox'])->All();
Run Code Online (Sandbox Code Playgroud)