Heim  >  Artikel  >  Backend-Entwicklung  >  弱类型好吗?好在哪,小弟我不知道

弱类型好吗?好在哪,小弟我不知道

WBOY
WBOYOriginal
2016-06-13 10:08:32927Durchsuche

弱类型好吗?好在哪,我不知道
因公需要,搞起了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 code
<?php error_reporting(E_ALL);  $a='a';$b='b';  echo $a;  echo $c; //$c没有初始化,所以会抛出NOTICE级错误提示,便于你规范化代码。?><div class="clear">
                 
              
              
        
            </div>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn