PHP

PHP开发中需要区别的几组概念

Posted by Chase Shen on 2021-10-25
Estimated Reading Time 2 Minutes
Words 663 In Total
Viewed Times

1. cookie和session区别

  • session存在服务器,cookie存在浏览器;
  • session安全性比cookie高;
  • session为会话服务,在使用时需要开启服务,cookie不需要开启,可以直接使用。

2. redis和memcached区别

  • redis 系统库有个快照,即突然断电,数据还会存在,而memached 就没了;
  • memcached 是简单的键值对,Key-Value, redis 支持的存储方式很多,应用场景很多
  • redis 性能比memached 要高

3. myisam和innodb区别

  • MyISAM 是非事务的存储引擎;适合用于频繁查询的应用;表锁,不会出现死锁;适合小数据,小并发。
  • innodb是支持事务的存储引擎;合于插入和更新操作比较多的应用;设计合理的话是行锁(最大区别就在锁的级别上);适合大数据,大并发。

4. require和include区别

  • 报错的时候,include报严重警告,还是会继续执行后面程序;
  • require报致命错误,不会继续执行。
  • require_once 和 include_once 可以避免重复包含同一文件。

5. char和varchar的区别

  • char是一种固定长度的类型,varchar则是一种可变长度的类型,在检索操作中那些填补出来的空格字符将被去掉;
  • char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足;
  • 在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节)。

6. print,echo,print_r区别

  • echo和print都可输出;
  • echo不是函数,没有返回值,而print是一个函数,有返回值;
  • 如果只是输出,echo会更快;
  • print_r通常用于打印变量相关的信息,一般在调试的时候用;
  • print是打印字符串;
  • prin_r打印复合类型,数组或者对象。

7. 构造函数和析构函数

  • 构造函数(方法)是对象创建完成后第一个被对象自动调用的方法;

  • 它存在于每个声明的类中,是一个特殊的成员方法;

  • 作用是执行一些初始化的任务;

  • PHP中使用__construct()声明构造方法,并且只能声明一个。

  • 析构函数(方法)作用和构造方法正好相反,是对象被销毁之前最后一个被对象自动调用的方法;

  • 是PHP5中新添加的内容作用是用于实现在销毁一个对象之前执行一些特定的操作,诸如关闭文件和释放内存等。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !