设为首页 收藏本站
查看: 690|回复: 0

[经验分享] PHP入门知识点

[复制链接]

尚未签到

发表于 2017-3-27 08:00:06 | 显示全部楼层 |阅读模式
  PHP基本概念:
  1.代码写在<?php   ?>中间
  2.变量:
  2.0 变量名大小写敏感,变量名定义前带美元符:$XXX
  2.1 特殊变量
  2.1.1 $_SERVER["XXX"]:超全局变量,描述服务器端信息
  2.1.2 $_POST["XXX"]: post过来的名为XXX的变量
  2.1.3 $_GET["XXX"]:get过来的名为XXX的变量
  2.1.4 $_COOKIE["XXX"]:客户端名为XXX的cookie的值
  2.1.5 $_FILE["XXX"]:指代客户端上传的文件
  2.1.6 $_REQUEST["XXX"]:包含了所有 GET[]、POST[]、COOKIE[] 和 FILE[] 的数据,可以代替前述所有的变量
  2.2 变量的修饰
  2.2.1 引用符: & ,新变量相当于旧变量的指针。
  2.2.2 新变量默认值:FALSE,NULL,0
  2.2.3
  3.语句
  3.1 语句带分号
  3.2 echo 打印
  3.3 if语句:if(){}
  3.4 foreach($var as $key => $var){...}
  3.5 三种注释:/*    */     //   #
  3.6 *错误控制运算符(亮点):@,放在表达式之前,用于屏蔽可能出现的错误。
  3.7 *数组运算符(亮点):
  3.8 *类型运算符(亮点):instanceof,用法:(var instanceof class),返回TRUE 或 FALSE
  3.9 switch语句:
  switch(){
  case 1:
  XXXXXXXXXXX;
  case 2:
  XXXXXXXXXXX;
  case 3:
  XXXXXXXXXXX;
  }
  3.10 require()语句:用来包含并运行文件
  4. 八种数据类型
  4.1四种标量类型: 
  boolean(布尔型,注意:0,NULL 被转换为FALSE,-1被转换为TRUE) 
  integer(整型) 
  float(浮点型,注意:也作“double”)
  string(字符串) 
  4.2两种复合类型: 
  array(数组 注意:集合定义方式为: $colors = array('red', 'blue', 'green', 'yellow');
  键值对方式为: array("key1" => value1,"key2" => value2);
  取值方式为:array["key1"],array[10];
  移除方式为:unset(array[key]);
  排序方式为:sort(array[key]);
  二维数组则嵌套上述定义) 
  object(对象  注意:定义方式为 class Name{};里面可以包含function和变量
  实例化方式为 $ins = new Name;
  也可以通过类型转换得到:(object)) 
  4.3最后是两种特殊类型: 
  resource(资源) 
  NULL
  注意:变量类型程序员无法定义,是程序运行时自定义的。
  变量赋值可以用ini_set(XXX,XXX);也可以 = 
  可以使用settype(xxx)修改变量类型,gettype(XXX)得到变量类型
  可以使用var_dump()查看表达式的值和类型。
  如果定义的一个数长度超出了 integer 的范围,将会被解释为 float。
  4.4类型强制转换
  4.4.1 用(type)转换
  4.4.2 false=0,true=1
  4.5
  5. 字符串处理
  5.1 双引号内的字符串要使用转义字符:
  \n 换行  
  \r 回车 
  \t table 
  \\ 反斜线 
  \$ 美元符 
  \" 双引号
  \111此正则表达式序列匹配一个用八进制符号表示的字符  
  \x111 此正则表达式序列匹配一个用十六进制符号表示的字符  
  5.2字符串连接只能用"."和".=",不能用+
  5.3
  6. 常量
  6.0 常量前面不能有美元符$
  6.1 常量的定义:define("varname",val);
  6.2 常量可以在任何地方访问
  7. 函数
  7.1 函数内部可以定义函数和类
  7.2 函数名大小写不敏感。
  7.3 不存在函数的重载和重写,所有函数和类都是全局的
  7.4 传址函数:
  function XXXXXXXX(&$XXX){
  $XXX......;
  }
  指针只在函数头上写。
  7.5 默认参数:直接将参数的默认值等号在函数头
  7.6 return 可以返回数组
  7.7 函数也可以取址
  7.8 变量函数(即回调函数)举例说明:
  function foo() {
  ......
  }//定义函数
  $var = 'foo';//定义变量
  $var();//用变量回调该函数
  7.9 变量方法(即回调方法):
  class Foo
  {
  function Variable()
  {
  ......
  }
  }
  $foo = new Foo();
  $funcname = "Variable";
  $foo->$funcname(); 
  8. 类与对象(PHP5)
  8.1 $this变量指向类的该对象
  8.2 类的方法可以用对象调用($Ins->func();),也可以通过类本身调用(Class::func();)
  8.3 用extends可以实现继承,除非是父类中的final成员,其他都可以用parent::来访问
  8.4 为php文件写一个autoload函数,用于加载任何一个可能未被require()的class.php的文件:
  function __autoload($class_name) {
  require_once $class_name . '.php';
  }
  8.5 类的构造函数__construct(){},父类的构造函数parent::__construct(){}
  8.6 类的析构函数__destruct(){},父类的析构函数parent::__destruct(){}
  8.7 类成员有public,private,protected三类。类成员默认都为public
  8.8 static是类成员的描述符,const是类的常量成员的描述符
  (1)带有abstract关键字的类是抽象类,带有abstract关键字的方法是抽象方法,抽象类中的抽象方法,必须在子类中被覆写。 
  (2)带有interface关键字的类,就是接口,接口不允许实现任何的方法,接口中所有的方法,都必须在子类中被覆写。 
  (3)带有 classA extends classB 或者 classA implements classB 字样的就是继承,extends表示继承另一个类,implements表示继承另一个接口,一次只能extends一个类,但是可以implements多个接口。 
  (4)抽象类,接口,以及最终继承并实现的方法,都必须是public的
  8.9 $a = clone $b; clone关键字实现了真赋值,= 是假赋值
  8.10 类的钩子(__autoload(),__construct()等等)就是一些回调函数
  8.11 
  9. PHP的反射机制
  9.1 反射:程序运行时,用反射API可以逆向抽取出类的方法、属性、参数、注释等等全部信息。
  9.2 反射的基本方法:
  step1:定义该类的反射类:
  $refclass = new ReflectionClass('classname');
  step2:实例化该反射类里面的该类:
  $instance = $refclass->newInstanceArgs($args);
  step3:
  10. PHP的异常处理
  原始异常处理:
  try {
  $error = 'Always throw this error';
  throw new Exception($error);
  } catch (Exception $e) {
  echo 'Caught exception: ',  $e->getMessage(), "\n";
  }
  扩展内置的异常处理类:
  class MyException extends Exception
  {
  ......
  }

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-355827-1-1.html 上篇帖子: 原创:PHP内核研究 常量 下篇帖子: PHP图片自动裁切
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表