Asf_Ensure::isTrue

预期是得到一个布尔型 true 值

如果值等于布尔型 true, 则条件合法, 程序继续执行

如果值不等于布尔型 true, 则条件不合法, 程序中断执行


Description

public static void Asf_Ensure::isTrue(mixed $data, int $errno [, string $class_name = ''])

Parameters

data

PHP 支持的数据类型

errno

Constants类中定义的常量错误号

class_name

指定一个 Constants 类名, 默认在 asf.root_path/library 目录下寻找文件

Return Values

根据 asf.ctype_id 配置项定义输出不同数据格式

注意: 0 不属于布尔型

Examples

Example #1

<?php
class Constants
{
    const ERR_TEST_CODE     = 500;
    const ERR_PARAMS_NAME   = 501;

    public static $ErrDescription = array(
        self::ERR_TEST_CODE     => 'This is test default text',
        self::ERR_PARAMS_NAME   => '用户名未填写',
    );
}

var_dump(Asf_Ensure::isNull(null, Constants::ERR_TEST_CODE));
var_dump(Asf_Ensure::isEmpty('', Constants::ERR_TEST_CODE));
var_dump(Asf_Ensure::isFalse(false, Constants::ERR_TEST_CODE));
var_dump(Asf_Ensure::isTrue(true, Constants::ERR_TEST_CODE));

var_dump(Asf_Ensure::notEmpty('xxx', Constants::ERR_TEST_CODE));
var_dump(Asf_Ensure::notFalse('xxx', Constants::ERR_TEST_CODE));
var_dump(Asf_Ensure::notNull('xxx', Constants::ERR_TEST_CODE));

Example #2 SG::$inputs

如果POST参数name为空, 则提示信息 "用户名未填写"

<?php
class Index 
{
    public function addAction()
    {
        $params = SG::$inputs['post'];
        Ensure::isTrue(!empty($params['name']), Constants::ERR_PARAMS_NAME);
    }
}

Example #3 Service.Action GPC

如果POST参数name变量等于NULL, 则提示信息 "用户名未填写"

知识回顾: GPC中形参取值时, 如果变量未找到, 会被赋值特殊变量 NULL, 减少 PHP Notice 产生

<?php
class Index 
{
    public function addAction($p_name)
    {
        Ensure::notNULL($p_name, Constants::ERR_PARAMS_NAME);
    }
}