
php参考手册
文章平均质量分 78
智慧浩海
源码资源仅供个人研究参考学习,不得将内容资源用于商业或者非法用途,否则,一切后果请用户自负,暂不提供安装服务和技术支持。文档资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。
展开
-
Java 空对象模式
在空对象模式中,我们通常创建一个抽象类来指定各种操作。Null Object和具体类都将扩展这个抽象类。在空对象模式中,创建一个无业务对象,包括。我们称之为一个无业务的对象Null对象。Null对象在数据不可用时提供默认行为。Null Object类只提供空逻辑。我们使用无业务对象来替换空指针检查。上面的代码生成以下结果。原创 2023-07-20 08:30:05 · 321 阅读 · 0 评论 -
Java 状态模式
在状态模式中,类行为基于其状态而改变。状态模式是一种行为模式。当使用状态模式时,我们创建各种状态对象和上下文对象,其行为随着其状态对象改变而变化。原创 2023-07-20 08:29:18 · 94 阅读 · 0 评论 -
Java 解释器模式
我们通常使用解释器模式来评估语言语法或表达。这种类型的模式是行为模式之一。原创 2023-07-20 08:28:41 · 125 阅读 · 0 评论 -
Java 中介者模式
中介者模式减少多个对象之间的通信。此模式提供了一个处理不同类之间的所有通信的中介类。中介者模式属于行为模式类别。原创 2023-07-19 09:33:25 · 83 阅读 · 0 评论 -
Java 观察者模式
观察者模式用于在一个对象被修改时通知其相关对象。观察者模式是一种行为模式类别。原创 2023-07-19 09:32:52 · 188 阅读 · 0 评论 -
Java 迭代器模式
迭代器模式以顺序方式访问集合对象的元素,而不知道其底层表示。迭代器模式是行为模式之一。原创 2023-07-19 09:29:32 · 94 阅读 · 0 评论 -
Java 命令模式
命令模式是数据驱动设计模式它是行为模式之一。请求被作为命令的对象包装传递给invoker对象。Invoker对象将命令传递到相应的对象并且该对象执行该命令。原创 2023-07-19 09:28:54 · 106 阅读 · 0 评论 -
Java 责任链模式
如果一个对象不能处理请求,则它将相同的对象传递给下一个接收者,等等。当使用责任链模式时,通常每个接收器包含对另一个接收器的引用。责任链模式为请求创建一个接收者对象列表。上面的代码生成以下结果。这种模式是行为模式。原创 2023-07-18 09:04:20 · 218 阅读 · 0 评论 -
Java 代理模式
在代理模式中,我们创建具有原始接口的对象,以将其功能暴露给外部世界。在代理模式中,一个类代表另一个类的功能。代理模式是一种结构模式。上面的代码生成以下结果。原创 2023-07-18 08:51:12 · 81 阅读 · 0 评论 -
Java 外观模式
外观模式隐藏了系统的复杂性。它为客户端提供了一个简单的接口,客户端使用接口与系统交互。外观模式是结构型模式。原创 2023-07-18 08:50:35 · 227 阅读 · 0 评论 -
Java 装饰模式
装饰模式在不链接其结构的情况下向现有对象添加新功能。装饰模式创建一个装饰器类来包装原始类并提供其他功能。它是一种结构型模式,因为它充当现有类的包装器。上面的代码生成以下结果。原创 2023-07-18 08:49:57 · 175 阅读 · 0 评论 -
Java 组合模式
组合模式是结构型模式,因为它创建了一组对象的树结构。组合模式将一组对象视为单个对象。组合模式使用一个类来表示树结构。在组合模式中,我们创建一个包含自己对象的类的组。原创 2023-07-15 08:35:08 · 195 阅读 · 0 评论 -
Java 过滤器/标准模式
过滤器模式使用不同的条件过滤对象。这些标准可以通过逻辑操作链接在一起。过滤器模式是一种结构型模式。原创 2023-07-15 08:34:33 · 201 阅读 · 0 评论 -
Java 桥接模式
桥接模式将定义与其实现分离。它是一种结构模式。此模式涉及充当桥接的接口。桥使得具体类与接口实现者类无关。这两种类型的类可以改变而不影响对方。原创 2023-07-15 08:34:01 · 180 阅读 · 0 评论 -
Java 适配器模式
我们在现实生活中使用适配器很多。例如,我们使用存储卡适配器连接存储卡和计算机,因为计算机仅支持一种类型的存储卡,并且我们的卡与计算机不兼容。适配器是两个不兼容实体之间的转换器。适配器模式是一种结构模式。在Java设计模式中,适配器模式作为两个不兼容接口之间的桥梁。通过使用适配器模式,我们可以统一两个不兼容的接口。原创 2023-07-15 08:33:23 · 197 阅读 · 0 评论 -
Java 原型模式
原型模式是创建模式之一。原型模式有助于创建具有更好性能的重复对象。在原型模式中,将返回一个现有对象的克隆,而不是创建新的对象。我们使用原型设计模式,如果创建一个新对象的成本是昂贵和资源密集型。原创 2023-07-14 15:44:55 · 193 阅读 · 0 评论 -
Java 生成器模式
生成器模式用于使用简单对象创建复杂对象。它从小而简单的对象逐步创建更大的对象。生成器模式是另一个创建模式。例如,当创建一个窗口作为我们应用程序的主窗口时,我们需要创建一个菜单,一个工具栏,然后添加菜单和工具栏。对于我们要创建的每个窗口,我们需要创建一个空窗口,创建菜单,创建工具栏,将菜单和工具栏安装到窗口。我们可以使用构建器模式来隐藏如何创建窗口的实现。原创 2023-07-14 15:44:12 · 95 阅读 · 0 评论 -
Java 单例模式
单例模式是一种创建模式。这种模式只涉及一个单独的类,它负责创建自己的对象。该类确保只创建单个对象。这个类提供了一种访问其唯一对象的方法。例如,当设计一个用户界面时,我们可能只有一个主应用程序窗口。我们可以使用Singleton模式来确保只有一个MainApplicationWindow对象的实例。原创 2023-07-14 15:43:32 · 179 阅读 · 0 评论 -
Java 抽象工厂模式
抽象工厂模式是另一个创建模式。抽象工厂模式,也称为工厂的工厂,有一个工厂创建其他工厂。当使用抽象工厂模式时,我们首先使用超级工厂创建工厂,然后使用创建的工厂创建对象。原创 2023-07-14 15:42:53 · 186 阅读 · 0 评论 -
Java设计模式 - 工厂模式
工厂模式是一种创建模式,因为此模式提供了更好的方法来创建对象。在工厂模式中,我们创建对象而不将创建逻辑暴露给客户端。原创 2023-07-13 08:41:27 · 179 阅读 · 0 评论 -
Redis悲观锁、乐观锁和调用Lua脚本三种方式的优缺点
但是这样使用的风险在于 Redis 的不稳定性,因为其事务和存储都存在不稳定的因素,所以更多的时候,笔者都建议使用独立 Redis 服务器做高并发业务,一方面可以提高 Redis 的性能,另一方面即使在高并发的场合,Redis 服务器宕机也不会影响现有的其他业务,同时也可以使用备机等设备提高系统的高可用,保证网站的安全稳定。互联网的高并发应用,先谈及了一些常用的系统设计理念,用以搭建高可用的互联网应用系统,着重介绍了抢红包的高并发应用,还讨论了数据不一致的超发问题。并且还论述了乐观锁、悲观锁和。原创 2023-07-13 08:39:10 · 314 阅读 · 0 评论 -
使用Redis和Lua的原子性实现抢红包功能
数据库最终会将数据保存到磁盘中,而使用的是内存,内存的速度比磁盘速度快得多,所以这里将讨论使用 Redis 实现抢红包。对于使用 Redis 实现抢红包,首先需要知道的是 Redis 的功能不如数据库强大,事务也不完整,因此要保证数据的正确性,数据的正确性可以通过严格的验证得以保证。而 Redis 的 Lua 语言是原子性的,且功能更为强大,所以优先选择使用 Lua 语言来实现抢红包。原创 2023-07-13 08:38:38 · 249 阅读 · 0 评论 -
Redis乐观锁解决高并发抢红包的问题
在 CAS 原理中,对于多个线程共同的资源,先保存一个旧值(Old Value),比如进入线程后,查询当前存量为 100 个红包,那么先把旧值保存为 100,然后经过一定的逻辑处理。当需要扣减红包的时候,先比较数据库当前的值和旧值是否一致,如果一致则进行扣减红包的操作,否则就认为它已经被其他线程修改过了,不再进行操作,CAS 原理流程如图 1 所示。图 1 CAS原理CAS 原理并不排斥并发,也不独占资源,只是在线程开始阶段就读入线程共享数据,保存为旧值。原创 2023-07-13 08:37:32 · 429 阅读 · 0 评论 -
PHP 可用的函数
PHP 提供了很多可用的标准函数,下表列出了常用的几个:原创 2023-07-11 08:31:21 · 197 阅读 · 0 评论 -
PHP 正则表达式(PCRE)
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。。PHP 中我们可以使用 PCRE 扩展来匹配字符串的模式。原创 2023-07-11 08:30:13 · 123 阅读 · 0 评论 -
PHP RESTful
REST(英文:Representational State Transfer,简称REST) ,指的是一组架构约束条件和原则。符合REST设计风格的Web API称为RESTful API。本教程我们将使用 PHP(不用框架) 来创建一个 RESTful web service,在文章末尾你可以下载本章节使用到的代码。原创 2023-07-11 08:29:36 · 136 阅读 · 0 评论 -
PHP 图像处理
使用 PHP 图像处理函数,需要加载 GD 支持库。原创 2023-07-11 08:28:36 · 85 阅读 · 0 评论 -
PHP 5 时区
下面是 PHP 支持的时区的完整列表,这些对一些 PHP 日期函数很有用。原创 2023-07-10 08:46:05 · 151 阅读 · 0 评论 -
PHP Zip File 函数
Zip File 函数允许您读取压缩文件。原创 2023-07-10 08:43:10 · 116 阅读 · 0 评论 -
PHP 5 String 函数
PHP String 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。原创 2023-07-10 08:41:54 · 173 阅读 · 0 评论 -
PHP 5 SimpleXML 函数
SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式,只要您知道 XML 文档的布局。SimpleXML 转换 XML 文档到 SimpleXMLElement 对象。通过正常的属性选择器和数组迭代器,这个对象能够像其他对象一样被处理。与 DOM 或者 Expat 解析器比较,SimpleXML 只需要几行代码就能读取元素中的文本数据。原创 2023-07-08 10:44:08 · 80 阅读 · 0 评论 -
PHP PDO
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。原创 2023-07-08 10:43:29 · 189 阅读 · 0 评论 -
PHP 5 MySQLi 函数
MySQLi 函数允许您访问 MySQL 数据库服务器。MySQLi 扩展被设计用于 MySQL 4.1.13 版本或更新的版本。原创 2023-07-08 10:42:35 · 103 阅读 · 0 评论 -
PHP 杂项 函数
我们把不属于其他类别的函数归纳到杂项函数类别。原创 2023-07-08 10:42:03 · 186 阅读 · 0 评论 -
PHP 5 Math 函数
Math 函数能处理 integer 和 float 范围内的值。常量值描述PHP 版本INFINF无限PHP 4M_E返回 ePHP 4M_EULER返回 Euler 常量PHP 4M_LNPI返回圆周率 PI 的自然对数:log_e(pi)PHP 5.2M_LN2返回 2 的自然对数:log_e 2PHP 4M_LN10返回 10 的自然对数:log_e 10PHP 4M_LOG2E返回 E 的以 2 为底的对数:log_2 ePHP 4。原创 2023-07-07 08:45:43 · 100 阅读 · 0 评论 -
PHP Mail 函数
mail() 函数允许您从脚本中直接发送电子邮件。原创 2023-07-07 08:27:10 · 126 阅读 · 0 评论 -
PHP Libxml 函数
Libxml 函数和常量与 SimpleXML、XSLT 以及 DOM 函数一起使用。原创 2023-07-07 08:26:25 · 73 阅读 · 0 评论 -
PHP HTTP 函数
HTTP 函数允许您在其他输出被发送之前,对由 Web 服务器发送到浏览器的信息进行操作。原创 2023-07-07 08:28:18 · 79 阅读 · 0 评论 -
PHP FTP 函数
FTP 函数通过文件传输协议 (FTP) 提供对文件服务器的客户端访问。FTP 函数用于打开、登录以及关闭连接,同时用于上传、下载、重命名、删除及获取文件服务器上的文件信息。不是所有的 FTP 函数对每个服务器都起作用或返回相同的结果。自 PHP 3 起,FTP 函数可用。这些函数用于对 FTP 服务器进行细致的访问。如果您仅仅需要对 FTP 服务器进行读写操作,建议使用 Filesystem 函数中的 ftp:// wrapper。原创 2023-07-06 09:11:36 · 201 阅读 · 0 评论 -
PHP Filter 函数
PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。原创 2023-07-06 09:10:50 · 84 阅读 · 0 评论