随笔分类 - PHP
摘要:更改框架协议为MIT,让你更自由地飞 基于ThinkPHP 5.1重构,但核心代码兼容5.0版本,保证老用户最小升级成本 增加对swoole支持,同时支持swoole协程和全同步模式(请单独安装扩展) 重新规范目录结构,更贴心 CMF核心库及应用使用composer加载 合并API到框架核心 更规范
阅读全文
摘要:call_user_func()是利用回调函数处理字符串,call_user_func_array是利用回调函数处理数组。 总结: call_user_func 和 call_user_func_array不同在于传参方式,前者是字符串形式,后者是数组形式。 二者皆可调用自定义函数、匿名函数、系统函
阅读全文
摘要:__call 与__callStatic 魔法方法是php5.3后新增的,二者的应用场景: 1、当要调用的方法不存在或权限不足时,会自动调用__call 方法。 2、当调用的静态方法不存在或权限不足时,会自动调用__callStatic方法。 输出如下:
阅读全文
摘要:class Response { /** * 按json方式输出通信数据 * @param integer $code 状态码 * @param string $message 提示信息 * @param array $data 输入的数据类型 * @return string */ public stat...
阅读全文
摘要:一、strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。 注释:可通过allow设置允许的标签。这些标签不会被删除。 注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。 注释:该函数是二进制安全的。 二、htmlspecialchars()
阅读全文
摘要:通过new static()与new self()都能产生实例对象,new static()是在PHP5.3版本中引入的新特性,本文对二者稍作对比。 一、当直接通过本类创建实例时 通过以上代码可知,当直接从同一个类创建对象时,二者相同。 二、当子类继承父类创建对象时 通过以上代码可知,当子类继承父类
阅读全文
摘要:下载memcache扩展 http://pecl.php.net/package/memcache ,到 /usr/local/src目录下并解压 根据当前的 php 版本动态的创建扩展的 configure 文件 错误提示 Cannot find autoconf. Please check yo
阅读全文
摘要:一、安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二、PHP下载 官网 http://www.php.net/downloads.php 下载 php-7.3.0.tar.bz2 至 /usr
阅读全文
摘要:获取PHP数组中的奇偶数,可通过数组过滤函数array_filter(),看定义:该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。 结果: ps:在定义获取数组中奇偶数方法时,首先判断了参数是否为整数,如果不是就直接返回
阅读全文
摘要:一、对象的创建与访问 1、JS对象的创建与访问 2、PHP对象的创建与访问 二、对象的遍历 1、JS对象的遍历 (for...in...) 2、PHP对象的遍历(foreach...as...) ps:PHP使用foreach...as...遍历对象时,只能输出public类型属性,可以通过定义一个
阅读全文
摘要:一、分类与创建 1:JS的数组都是索引数组,数组是一种特殊的对象,创建数组的方式有两种 js数组只能通过'[]'访问属性。 2:PHP数组分为索引数组和关联数组,创建方式也有两种 php能通过'[]'和'{}'访问。 二、JS数组赋值是引用传递,而PHP赋值的是一个副本 JS 对象常称为引用类型,对
阅读全文
摘要:当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实PHP序列化数组就是将复杂的数组数据类型转换为字符串,方便数组存库操作。对PHP数组进行序列化和反序列化操作,主要就用到两个函数,serialize和unserialize。 一、PHP数组序列化:s
阅读全文
摘要:通过PHP filesize函数可直接获取文件大小(单位字节),如:filesize('test.png') 查看test.png图片属性: 文件大小常见的单位表示还有KB、MB、GB、TB等格式,可通过封装函数进行单位转换。 结果: 通过PHP方法获取文件大小时存在一定误差属正常。
阅读全文
摘要:从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。 一、json_encode() 该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子: 结果为:{"a":1,"b":2,"c":3,"d":4,"e":5}
阅读全文
摘要:RBAC英文全称(Role-Based Access Controller)即基于角色的权限访问控制,简单来讲,一个用户可以拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。相比于传统权限管理方式(如早期的ecshop,是将权限与用户直接挂钩),RBAC有以下优点:
阅读全文
摘要:PHP面向对象的三大特性:封装性、继承性、多态性。 1. 封装性: 也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。 于是开发人员只需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序
阅读全文
摘要:插入排序基本思路:将数组分为两个区(已排序区和未排序区),假定数组的第一个元素处于已排序区, 第一个元素之后的所有元素都处于未排序部分。排序时用到双层循环,外层循环用于从未排序部分中取出待排序元素,并逐步缩小未排序部分,内层循环用于从已排序部分寻找插入位置(即不断地从已排序部分寻找比待排序元素大的元
阅读全文
摘要:ThinkPHP支持两种构造方法: __construct和_initialize(ThinkPHP内置的构造方法)。 测试URL为: http://oa.com/index.php/Admin/User/add 修改用户控制器类文件UserController.class.php 如下: 1、__
阅读全文
摘要:上篇《ThinkPHP空操作和空控制器的处理》中,在处理空操作时修改了父类Controller.class.php中代码,不到万不得已不能 修改基类控制器中的原码,此时可在子类与父类之间,创建一个中间控制器CommonController.class.php通过链式继承来实现。 此时先删除先前基类C
阅读全文