我正在考虑摆脱 PHP 中的所有自动类型转换。但是当我申请 declare(strict_types=1) 时,我担心这可能会与我的框架 Laravel 发生冲突。所以我的问题是:即使 Laravel 没有将其所有 PHP 文件声明为严格,在我的所有 PHP 文件中使用 declare(strict_types=1) 仍然安全吗?
使用declare(strict_types=1)将仅影响带有函数声明的文件,而不影响定义。例如:
<?php
declare(strict_types=1);
function parseInt(int $value) {}
Run Code Online (Sandbox Code Playgroud)
<?php
require 'foo.php';
parseInt('123');
Run Code Online (Sandbox Code Playgroud)
如果你执行bar.php - 它不会抛出错误。如果您parseInt('123')在foo.php 中使用并执行该文件,则会抛出错误。
所以只要你不接触 Laravel 源代码,就不会发生什么坏事。
| 归档时间: |
|
| 查看次数: |
770 次 |
| 最近记录: |