Maison >développement back-end >tutoriel php > 弱类型好吗?好在哪,小弟我不知道
弱类型好吗?好在哪,我不知道
因公需要,搞起了php,它越来越让我觉得反胃.
代码里到处都是if empty if empty
if(!empty($CFG->aaaa)){}
搜索一下$CFG->aaaa从未出现过,当场吐血,然后多吐了几次就不吐了.
另外,到处都是以下形式的代码,反胃
if(){}else{
if(){
}else{
}
}
最让我郁闷的是
$a = NULL;
$a->a = 'bbb'; 这样尽然没错,NULL是没有意义的,完全就可以不使用stdClass了
弱类型在javascript中演绎得如此优雅,而在php中却如此恶心
从此我爱上了js中的未定义变量异常,至少解释器提示了我.
这种不声明便可以使用的变量给调试,阅读带来了无尽的痛苦.
抱怨归抱怨,血还是要接着吐,请高手指教php编程之道,这样或许能少吐.
php的编程模式是否是显示页面与处理页面分离?
还是都同一个页面,使用if else判断?
如果是分离的,如何实现服务器端跳转? 即在一次请求内执行流程经过多个页面,require或include?
------解决方案--------------------
强类型还是弱类型,都有各自的优缺点,不能一概而论,强类型编译质量高,代码运行快。弱类型则更灵活。
尽管php是弱类型语言,但是,良好的实践告诉我们,使用变量前先初始化是一个良好的习惯,不仅便于阅读,而且可以避免很多莫名其妙的错误。
而且,php开发的优点就是快速,轻便,如果使用强类型,恰恰违反了它的初衷。
------解决方案--------------------
处理页面和展现页面还是分开比较好吧?至于跳转现在基本上都是用框架。。。我也是刚转到php不久的,弱类型的确让我很不习惯,但我超喜欢用关键字做键的数组,很好用~
------解决方案--------------------
如果觉得不习惯,记得自己写的代码中变量初始化一下
------解决方案--------------------
php的编程模式是否是显示页面与处理页面分离?
还是都同一个页面,使用if else判断?
php有很多优秀的mvc框架
------解决方案--------------------
PHP的弱类型使用起来还是很方便的。至于你觉得它恶心,那只是你没上手。
起码,弱类型使用起来便洁,现在我们用OOP模式开发,可以做到将成员属性集中在类中声明,这样便于管理。
再想,一个页面中,变量的个数毕竟是有限的,还不至于让人无法追踪变量的地步。
如果你真不习惯它这种模式,那你可以这样:开启PHP的错误级为所有,然后将变量集中起来初始化,这样就行了。
eg:
<?php error_reporting(E_ALL); $a='a';$b='b'; echo $a; echo $c; //$c没有初始化,所以会抛出NOTICE级错误提示,便于你规范化代码。 ?> <div class="clear"> </div>