Asf_Ensure 条件判断类, 配合 Constants类使用, 如果条件未命中, 中断型输出自定义的错误码 & 错误内容
Constants类是一个特殊的类, 里面必须定义一个静态属性 ErrDescription(暂不支持自定义)
在开启命名空间情况下(asf.use_namespace=1)类名为 Asf\Ensure
<?php
final class Asf_Ensure
{
public static void isNull(mixed $data, int $errno [, string $class_name = ''])
public static void notNull(mixed $data, int $errno [, string $class_name = ''])
public static void isEmpty(mixed $data, int $errno, [, string $class_name = ''])
public static void notEmpty(mixed $data, int $errno, [, string $class_name = ''])
public static void isFalse(mixed $data, int $errno, [, string $class_name = ''])
public static void notFalse(mixed $data, int $errno, [, string $class_name = ''])
public static void isTrue(mixed $data, int $errno [, string $class_name = ''])
public static void out(string $data, int $errno)
}
<?php
use Asf\Ensure;
class Constants
{
const ERR_TEST_CODE = 500;
const ERR_USER_CODE = 501;
public static $ErrDescription = array(
self::ERR_TEST_CODE => 'This is test default text',
self::ERR_USER_CODE => 'This is test user text',
);
}
Ensure::notNull(null, Constants::ERR_TEST_CODE);
<?php
use Asf\Ensure;
// Filepath: asf.root_path/library/DefConstants.php
class DefConstants
{
const ERR_TEST_CODE = 500;
public static $ErrDescription = array(
self::ERR_TEST_CODE => 'This is test default text',
);
}
// Filepath: asf.root_path/modules/api/services/Main.php
class MainService
{
public function userAction()
{
$data = '';
Ensure::notEmpty($data, Defconstants::ERR_TEST_CODE, 'Defconstants');
}
}