随笔分类 -  php

php相关
摘要:RPC (Remote Procedure Call Protocol)远程过程调用协议,是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议。 RPC 可以使得程序能够像访问本地系统资源一样去访问远端系统资源。 简单地说,RPC就是从一台计算机上通过参数传递的方式调用另一台服务器 阅读全文
posted @ 2021-05-12 22:54 smallzhen 阅读(51) 评论(0) 推荐(0) 编辑
摘要:什么是AOP? AOP是面向切面编程,全称 Aspect-Oriented-Programming。它能够让我们在不影响原有功能的前提下为软件横向拓展功能。 什么是横向拓展? web开发为 Controller -> Service -> Dao,此结构为纵向,具体的某一层则为横向。AOP可以作用于 阅读全文
posted @ 2021-05-10 23:26 smallzhen 阅读(61) 评论(0) 推荐(0) 编辑
摘要:OOP(面向对象编程 Object-Oriented Programming),是一种以对象为基础的编程模式。 优点: 易维护。 易拓展。 对象可重复使用。 四大特性: 封装性:对象属性是隐藏的,对象属性修改需要通过对象方法。 继承性:子类可以把父类的属性和方法都继承过来,无需重新定义。 多态性:多 阅读全文
posted @ 2021-04-25 23:27 smallzhen 阅读(1819) 评论(0) 推荐(0) 编辑
摘要:目前有4种常见的php运行模式 CGI通用网关接口模式 每一个用户请求都会创建CGI子进程,然后处理请求,处理完后结束子进程。 每一个web请求php都必须重新解析php.ini、重新载入全部dll扩展并重新初始化全部数据结构(FAST-CGI只在进程启动时发生一次。)。 FAST-CGI模式 CG 阅读全文
posted @ 2021-04-22 23:21 smallzhen 阅读(113) 评论(0) 推荐(0) 编辑
摘要:需要使用幂等的场景: 前端重复提交 接口超时重试 消息队列重复消费 解决方案: token机制:①客户端请求获取token,服务端生成一个唯一ID作为token存在redis中;②客户端第二次请求时携带token,服务端校验token成功则执行业务操作并删除token,服务端校验token失败则表示 阅读全文
posted @ 2021-04-21 23:23 smallzhen 阅读(339) 评论(0) 推荐(0) 编辑
摘要:页面卡顿,可能涉及到很多页面性能问题,有可能是来自前端,有可能是来自后端,也有可能是来自用户网络问题等。 有可能是前端加载的某些js文件加载失败了或者是报错了 有可能是该页面请求的接口太多了,导致数据返回慢,可适当做缓存 有可能是浏览器渲染的东西太多导致卡顿。 但页面卡顿更大的可能是来自内存泄漏。 阅读全文
posted @ 2021-04-18 23:26 smallzhen 阅读(2017) 评论(0) 推荐(0) 编辑
摘要:什么是服务网关? 服务网关=路由转发+过滤器 路由转发:接收一切外界请求,转发到后端服务上去。 过滤器:在服务网关中完成一系列的横切功能,比如权限校验、限流、监控。 服务网关的作用 将权限校验逻辑写在网关过滤器中,后端服务只需要关注业务实现,不需要关注权限校验。 如果需要权限逻辑,只需要修改网关校验 阅读全文
posted @ 2021-04-04 23:27 smallzhen 阅读(338) 评论(0) 推荐(0) 编辑
摘要:了解一下,爬虫可以分为以下四种类型: 聚焦网络爬虫(主题网络爬虫): 会针对某种特定的内容去爬取信息,且会保证信息和需求尽可能相关。 通用爬虫(全网爬虫):广度优先策略或深度优先策略 获取url,根据url爬页面后获取新url,在根据新url获取新新url,满足条件时停止爬取。 增量抓取:通过爬虫程 阅读全文
posted @ 2021-03-17 23:32 smallzhen 阅读(1269) 评论(0) 推荐(0) 编辑
摘要:RESTful API 是服务和消费数据的一种方式,它需要满足以下几个约束条件 客户端-服务器模型:服务器为数据提供服务,客户端连接到服务器以使用数据,客户端与服务器交互通过http请求进行,通过请求传输数据。 无状态:每个请求都被视为独立请求,服务器不应跟踪可能影响将来请求结果的任何内部状态。 统 阅读全文
posted @ 2021-03-12 22:50 smallzhen 阅读(219) 评论(0) 推荐(0) 编辑
摘要:laravel框架优点 文档丰富 大量的第三方开源库 安全机制齐全(表单验证等) 中间件和路由对访问进行过滤及控制,避免非法请求 错误处理机制友好 支持composer包管理工具 集合了php比较新的特性及各种设计模式。 缺点: 基于组件式的框架,比较臃肿 性能比yaf等小型框架的效率会低一些 较复 阅读全文
posted @ 2021-03-01 23:48 smallzhen 阅读(2047) 评论(0) 推荐(0) 编辑
摘要:什么是设计模式? 设计模式是对设计原则的具体化,设计模式可以让我们在特定的情况下使用特定的设计,可以节省时间成本,提高工作效率。 常用的6种架构设计模式 单例模式: 活动的单例只有一个实例。一般只有一个数据库、一个业务应用层、一个后台管理系统。适合需要做全局统一控制的场景,如编码生成器。 优点:结构 阅读全文
posted @ 2021-02-27 01:33 smallzhen 阅读(126) 评论(0) 推荐(0) 编辑
摘要:最近在代码开发中总是被要求需要在脚本第一个语句前加上 declare(strict_types=1);于是就搜集一下它的作用。 众所周知,php是弱类型校验模式,而declare指令可以通过指定 strict_types的值(1位严格模式,0为弱类型校验模式)来控制函数的调用和返回。 影响范围: s 阅读全文
posted @ 2021-02-12 00:31 smallzhen 阅读(997) 评论(0) 推荐(0) 编辑
摘要:什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本,可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等。 此正则表达式,可以匹配到 "2222-8_3" 但是匹配不到 "99*" 基本匹配 正则表达式是执行搜索时的格式,它由一些字母和数字组合而成。如正则表 阅读全文
posted @ 2020-12-02 17:36 smallzhen 阅读(103) 评论(0) 推荐(0) 编辑
摘要:php是个单继承的语言 可以用interface或trait实现多继承。 trait我用的比较多,就是代码片段,比如某个trait定义了几个function,在类引用该trait后,该类也会有这几个成员函数。 interface是接口,它像定义一个标准类一样定义,不过定义的方法都是public的空方 阅读全文
posted @ 2020-04-16 23:24 smallzhen 阅读(1033) 评论(0) 推荐(0) 编辑
摘要:什么是swoole? swoole是一个php拓展,它可以使php可以使用异步方式执行,且可以使用socket(socket是一个接口,在用户进程与TCP/IP协议之间充当中间人,完成TCP/IP协议的书写,用户只需理解接口即可),为PHP提供了一系列异步IO、事件驱动、并行数据结构功能。 swoo 阅读全文
posted @ 2020-03-31 22:39 smallzhen 阅读(466) 评论(0) 推荐(0) 编辑
摘要:什么是php-fpm?官方解释版 FPM(FastCGI 进程管理器)用于替换PHP FastCGI的大部分附加功能,对于高负载网站是非常有用的。它的功能包括: 支持平滑停止/启动的高级进程管理功能; 可以工作与不同的uid/gid/chroot环境下,并监听不同的端口和使用不同的php.ini配置 阅读全文
posted @ 2020-03-30 21:09 smallzhen 阅读(500) 评论(0) 推荐(0) 编辑
摘要:今天我决定总结一下面向过程编程和面向对象编程的区别。 大学时学的是C语言,没有对象的概念,拿到功能设计图就直接写步骤将功能实现,一体化。而现在工作用的是php语言,拿到需求,会归类、拆解模块、封装类,再通过类调用函数实现。其实在早期,我受C语言影响,很难转变自己的面向过程思维,实现功能的逻辑虽然用的 阅读全文
posted @ 2019-11-27 22:50 smallzhen 阅读(7736) 评论(1) 推荐(1) 编辑
摘要:判断类的变量是否存在,可以用isset和property_exists判断,他们俩有着细微的区别。首先我们翻一下手册了解一下两者的具体功能。 property_exists:检查对象或类是否具有该属性(以及是否能在当前范围内访问)。如下图 只要是类定义了该变量,无论是public还是private, 阅读全文
posted @ 2019-11-25 00:02 smallzhen 阅读(828) 评论(0) 推荐(0) 编辑
摘要:参考php Manuel https://www.php.net/manual/zh/language.oop5.decon.php,构造函数__construct()和析构函数__destruct()都是php类中的函数。定义了构造函数的类在实例化时将会先执行一遍构造函数,而定义了析构函数的类则会 阅读全文
posted @ 2019-11-20 23:50 smallzhen 阅读(157) 评论(0) 推荐(0) 编辑
摘要:以前年少无知的时候曾经踩过数组的一个坑,我定义了一个数组$a = [3.5=>4];但是我拿$a[3.5]是拿不到值的,原因是php的键名只能是整数或者字符串。再php手册里详细记录了非法的键名被强制转换的场景: 1、包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为 8。但是 阅读全文
posted @ 2019-11-19 23:17 smallzhen 阅读(481) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示