PHP学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP学习总结相关的知识,希望对你有一定的参考价值。

php 面向对象

  1. 使用parent访问父类的构造方法(__construct)时一定要为当前类继承要访问的构造方法
  2. 类的构造方法(__construct)在实例化时直接被加载,静态方法不需要实例化
  3. 静态成员(static)访问方法:self::$abc
  4. 函数 spl_autoload_register(方法) 仅在使用不存在类时被触发该方法,并传入一个类名
  5. 实例化PDO类时如果当前文件有命名空间(namespace),则输出后会报错该目录下不存在PDO类,所以必须在PDO前加一个反斜杠:\PDO
  6. 实例化一个类也可以不用变量来存放,如:new PDO()
  7. preg_match($pattern, $string); 返回匹配次数,参数一是正则表达式,二是匹配内容,此函数只匹配一次,匹配全部请用preg_match_all
  8. preg_replace(‘/\{\$([\w]+)\}/‘, " b ", ‘个{$dd}f仿{$dd}4s65f‘); 替换正则匹配到的内容并返回,参数一是表达式,二是替换内容,三是原文
  9. json_encode(); 函数中文乱码(u265/ 类似情形)和部分符号被转化解决方法:
foreach ($data as $key => $value) {
  $data[$key] = urlencode($value);
}
  1. 为每个值urlencode一下,返回时再urldecode(json_encode())就好了!
  2. namespace(命名空间)使用:一个文件 app\ctrl\model.php,其命名空间应为 namespace App\Ctrl;
  3. 规范:命名空间每级首字母大写、类名首字母大写、常量全部大写
  4. 》命名空间和use关键字
  5. 为类起一个命名空间:namespace plugin;
  6. 使用use访问这个类:use plugin\nos;
  7. 注意:使用use访问类时必须先把这个类引入(include)
  8. 推荐使用 spl_autoload_register() 自动为你加载不存在的类


》PHP 模板

1. 为什么要使用模板?

  • 为了分离php和html代码,使可维护性更高!

2. 为什么要缓存模板?

  • 为了提高加载速度,提高性能和数据库承受能力!

3. 为什么要把模板编译成PHP文件?

  • 模板中使用了一些自定义语法,如 {$name} , 为了使其正常显示,需将它转换为 <?php echo $name 输出,将转换后的文件编译成文件,下次直接调用!

4. 如何将模板缓存?

  • 将引入的编译文件放如缓冲器 ob_start() ,然后使用 ob_get_contents() 将复制到的内容用 file_put_contents() 保存成缓存文件

 

以上是关于PHP学习总结的主要内容,如果未能解决你的问题,请参考以下文章

Python学习总结

线程学习知识点总结

56个PHP开发常用代码

PHP学习总结

超级有用的9个PHP代码片段

php学习部分总结