Class YiiRequirementChecker
继承 | YiiRequirementChecker |
---|---|
可用版本自 | 2.0 |
源码 | https://github.com/yiichina/yii2/blob/api/framework/requirements/YiiRequirementChecker.php |
YiiRequirementChecker 允许检查,如果当前系统满足运行 Yii 应用程序的要求。 此类允许渲染 web 和控制台应用程序界面的检查报告。
例如:
require_once 'path/to/YiiRequirementChecker.php';
$requirementsChecker = new YiiRequirementChecker();
$requirements = array(
array(
'name' => 'PHP Some Extension',
'mandatory' => true,
'condition' => extension_loaded('some_extension'),
'by' => 'Some application feature',
'memo' => 'PHP extension "some_extension" required',
),
);
$requirementsChecker->checkYii()->check($requirements)->render();
如果您希望使用自己的表示形式渲染报告,请使用 getResult() 代替 render()
需求条件可以采用 "eval:PHP expression" 格式。 在这种情况下,将在此类实例的上下文中计算指定的 PHP 表达式。 例如:
$requirements = array(
array(
'name' => 'Upload max file size',
'condition' => 'eval:$this->checkUploadMaxFileSize("5M")',
),
);
Note: 这个类定义与普通的 Yii 样式不匹配,因为它应该与 PHP 4.3 匹配,不应该使用较新的PHP版本的功能!
公共方法
方法详情
检查给定的需求,将结果收集到内部字段中。 可以多次调用此方法来检查不同的需求集。 使用 getResult() 或 render() 来获得结果
public $this check($requirements) | ||
$requirements | array|string | 要检查的需求。 如果是数组,则将其视为一组需求; 如果是字符串,则将其视为文件的路径,其中包含需求; |
return | $this | 自身实例。 |
---|
检查给定的 PHP 扩展是否可用且其版本是否与给定的版本匹配。
public boolean checkPhpExtensionVersion($extensionName, $version, $compare = '>=') | ||
$extensionName | string | PHP 扩展名称。 |
$version | string | 必需的 PHP 扩展版本。 |
$compare | string | 比较运算符,默认为 '>=' |
return | boolean | 如果 PHP 扩展版本匹配。 |
---|
检查 PHP 配置选项(来自 php.ini)是否关闭。
public boolean checkPhpIniOff($name) | ||
$name | string | 配置选项名称。 |
return | boolean | 选项已关闭。 |
---|
检查 PHP 配置选项(来自 php.ini)是否打开。
public boolean checkPhpIniOn($name) | ||
$name | string | 配置选项名称。 |
return | boolean | 选项已开启。 |
---|
检查上传的最大文件大小是否与给定范围匹配。
public boolean checkUploadMaxFileSize($min = null, $max = null) | ||
$min | string|null | 上传文件大小最小要求值,传递 null 以跳过最小检查。 |
$max | string|null | 上传文件大小最大要求值,传递 null 以跳过最大检查。 |
return | boolean | 成功。 |
---|
执行 Yii 核心要求的检查。
public YiiRequirementChecker checkYii() | ||
return | YiiRequirementChecker | 自身实例。 |
---|
比较详细表示中给出的值的字节大小, 例如:'5M','15K' 等。
public boolean compareByteSize($a, $b, $compare = '>=') | ||
$a | string | 第一个值。 |
$b | string | 第二个值。 |
$compare | string | 比较运算符,默认为 '>='。 |
return | boolean | 比较结果。 |
---|
在此类的上下文中计算 PHP 表达式。
public mixed evaluateExpression($expression) | ||
$expression | string | 要计算的 PHP 表达式。 |
return | mixed | 表达式结果。 |
---|
从详细大小表示中获取大小(以字节为单位)。 例如:'5K' => 5*1024
public integer getByteSize($verboseSize) | ||
$verboseSize | string | 详细的大小表示。 |
return | integer | 实际大小(字节)。 |
---|
如果可能,以字符串表示形式返回当前时间。
public string getNowDate() | ||
return | string | 当前时间 |
---|
返回检查结果。
public array|null getResult() | ||
return | array|null | 检查结果格式:
|
---|
返回服务器信息。
public string getServerInfo() | ||
return | string | 服务器信息。 |
---|
规范化需求以确保其格式正确。
public array normalizeRequirement($requirement, $requirementKey = 0) | ||
$requirement | array | 原始需求。 |
$requirementKey | integer | 列表中的需求键。 |
return | array | 标准化需求。 |
---|
渲染需求检查结果。 输出将根据从 web 或控制台运行的脚本而有所不同。
public void render() |
渲染一个视图文件。 此方法将视图文件包含为 PHP 脚本, 并在需要时捕获显示结果。
public string renderViewFile($_viewFile_, $_data_ = null, $_return_ = false) | ||
$_viewFile_ | string | 视图文件 |
$_data_ | array | 要提取的数据并使其可用于视图文件 |
$_return_ | boolean | 是否应将渲染结果作为字符串返回 |
return | string | 渲染结果。如果不需要渲染结果,则为空。 |
---|
显示使用错误。 然后,此方法将终止当前应用程序的执行。
public void usageError($message) | ||
$message | string | 错误消息 |