Eri*_*c B 0 php dynamic-languages weak-typing loose-typing
我有一个基于Web的小型PHP应用程序,它的大小开始适度增长.
鉴于PHP是一种松散/弱类型的动态语言,我开始关注管理我的PHP代码库.
其他人如何管理基于松散/弱类型的动态语言的代码?
是否存在PHP的预解析器,允许我在我的代码库上运行检查以识别下面的内容?
$var1 = 'data';
// vr1 doesn't exist, it's a typo of $var1, but PHP would allow for this and not complain
echo $vr1;
Run Code Online (Sandbox Code Playgroud)
更新:
上面的例子可能不是最好的例子,但实质上,我想要传达的是,只有当代码在RUN TIME的生产中运行时才能找到动态弱类型语言中的某些错误.然而,其中一些问题通常会在COMPILE时在强类型静态语言中找到.
在将代码转移到生产环境中之前,如何在不创建疯狂数量的单元测试的情况下,如何在PHP中找到这些非算法类型的错误?
因此,在进入生产之前我是否可以通过它运行我的PHP代码,并且这个预处理器解析我的代码以确保我只使用已定义的变量等等.本质上,请检查我的代码以进行验证非算法类型的用途.例如,不尝试对字符串执行代数等.
更新2
请注意,这个问题仍然没有得到解答,因为我正在寻找一种方法来在PHP中以"编译"类型识别这些类型的非算法错误,而不是RUN TIME.
Gor*_*don 10
你可以使用lint你的PHP php -l filename.php.这将显示任何语法错误.在编写代码时,会有一些IDE会丢失.除了linting之外,通常还可以检测问题中显示的问题.
除此之外,考虑为您的代码编写UnitTests以确保功能,并查看http://phpqatools.org以获取可帮助您提高代码质量的许多其他工具.
error_reporting(-1);除了在php.ini中启用display_errors和启用之外,请确保在开发期间设置了所有错误display_startup_errors.在生产系统上禁用后两者以防止暴露服务器信息.
更新后编辑: PHP源代码即时编译.PHP的编译时间在运行时是有效的.如果你想编译PHP,你必须使用Facebook的HipHop.
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |