笔记
文章平均质量分 64
岛泪
这个作者很懒,什么都没留下…
展开
-
ThinkPHP 远程一对多关联
php// 不是默认主键名称记得定义 pk 属性// 获取商品详情以及商品的评论// 第二个参数是所用到的关联方法的方法名// 远程一对多关联获取商品的所有评论// 完整写法。原创 2023-07-19 11:23:02 · 463 阅读 · 0 评论 -
TP5 模型新增的返回值、返回值的判断以及所使用的SQL
TP5 模型新增的返回值、返回值的判断以及所使用的SQL原创 2022-11-04 10:36:28 · 1480 阅读 · 1 评论 -
TP5 模型更新的返回值、返回值的判断以及所使用的SQL
TP5 模型更新的返回值、返回值的判断以及所使用的SQL原创 2022-11-03 14:20:32 · 1546 阅读 · 0 评论 -
TP5 模型查询的返回值、返回值的判断以及所使用的SQL
TP5 模型查询的返回值、返回值的判断以及所使用的SQL原创 2022-10-31 14:06:18 · 1557 阅读 · 0 评论 -
php 命名空间
PHP 命名空间原创 2022-09-05 17:24:50 · 698 阅读 · 0 评论 -
控制反转与依赖注入
控制反转与依赖注入。原创 2022-09-02 11:22:24 · 298 阅读 · 0 评论 -
基于节点创建虚拟DOM
该算法通过递归已存在的节点从而创建出虚拟DOM。function createVNode(node, vNode) { let props = {}; let children = []; if(node.nodeType === 1){ Array.from(node.attributes).forEach((key) =>{ ...原创 2020-01-22 20:37:01 · 517 阅读 · 0 评论 -
基于节点的 Diff 算法
该算法比较新旧两个节点的差异,在最大程度复用旧节点的基础上把旧节点更新为新节点。该算法的策略和 React 的tree diff 一样,只比较同级节点,并且不移动节点,应该说不需要移动节点,因为新节点已经是真实的节点,而不是虚拟的节点。function diff(oldNode,newNode){ if(oldNode.isEqualNode(newNode)){ ...原创 2020-01-21 15:59:03 · 382 阅读 · 0 评论 -
PHP 常用的日期函数
//获取时间戳time() //函数当前时间的时间戳。mktime() //返回指定日期的世界戳。strtotime() //函数将任何英文文本的日期或时间描述解析为 Unix 时间戳microtime() //函数返回当前 Unix 时间戳的微秒数。//时区相关date_default_timezone_get() //函数返回当前脚本所使用的时区。date_de...原创 2019-10-17 04:20:34 · 255 阅读 · 0 评论 -
PHP 中所有的超全局变量
PHP中,超全局变量是一些已经被预定好的变量,可以在脚本的所有作用域中使用。$GLOBALS //该变量是一个数组,该数组保存了对所有全局变量的引用。其中键名是变量名,键值是变量值。$_SERVER // 该变量保存了报头信息、PHP脚本信息以一点点服务器信息。$_REQUEST // 该变量保存了以 get 和 post 方式提交过来的数据。$_GET // 该变量保存了 以...原创 2019-10-17 03:17:12 · 259 阅读 · 0 评论 -
PHP 中所有魔术常量
__LINE__ //文件中的当前行号。__FILE__ //获取当前文件的绝对路径,包含文件名。__DIR__ //获取当前文件的目录名,除非是根目录,否则目录中名不包括末尾的斜杠。__FUNCTION__ //获取当前函数被定义时的名称。__CLASS__ //获取当前类被定义时的名称。__TRAIT__ //获取当前Trait类的名称。__METHOD__ //获取...原创 2019-10-17 02:29:22 · 177 阅读 · 0 评论 -
PHP 所有魔术方法
<?php__construct() //构造方法,每次创建对象时都会调用。__destruct() //析构方法,该方法会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。//关于访问不存在的属性或对象__get() // 读取不存在的属性的值时,该方法会被调用。__set() // 在给不存在的属性赋值时,该方法会被调用。__isset() //当对不...原创 2019-10-17 02:12:43 · 87 阅读 · 0 评论 -
PHP 实现适配器模式
适配器模式(Adapter Pattern):将某个对象的接口适配为另一个对象所期望的接口。属于结构型设计模式。(一)为什么需要适配器模式1,某个操作数据库的有两套不同的数据库操作方法,我们通过适配器统一成一个接口。例如,我们待会把mysql和mysqli统一成一个接口。2,我们有多套数据库对应了多种数据库操作,例如MySQL,SqlServer,Oralce,Redis都有对应...转载 2019-10-17 00:12:30 · 115 阅读 · 0 评论 -
PHP 中的共享锁和排它锁
共享锁和排他锁主要是为了解决并发导致的问题。在PHP中,共享锁和排它锁主要用在两个地方,一个是数据库,一个是文件。PHP对数据库使用锁依靠SQL语句SELECT 默认不加锁 SELECT... LOCK IN SHARE MODE 加共享锁 SELECT ... FOR UPDATE 加排它锁 UPDATE DELETE INSERT 默认加排它锁Msql中共...原创 2019-10-16 23:40:22 · 757 阅读 · 0 评论 -
PHP 实现注册树模式
class Register { //设置对象数组(树)。 private static $tree = []; //把对象放进对象数组 public static function set($objName,$obj){ self::$tree[$objName] = $obj; } //把对象从对象数组取出 ...原创 2019-10-16 18:46:08 · 177 阅读 · 0 评论 -
PHP 实现单例模式
class Single { private static $instance; // 私有的静态属性,用来存储当前对象。 // 用静态修饰符 //一是因为静态属性不用实例化就可以使用。 //二是因为自定义的静态实例化方法 getInstance()只能访本类的问静态属性,不能访问本类的非静态属性。 // 用私有修饰符的是因为禁止外部修改这个...原创 2019-10-16 05:15:39 · 174 阅读 · 0 评论 -
PHP 实现插入排序(Insert sort)
开头先说一下,学习这些排序算法其实只是学习这些算法的思路,PHP开发的时候最好用PHP内置的排序函数,因为PHP内置的排序函数是底层代码实现的,比我们自己用PHP手动写的函数速度快得多得多。我们用来排序的数组必须是符合数组开始索引是明确的,一般是0。 数组索引的必须是连续的整型或者数字字符串或者两者混合。比如://连续的数字字符串索引数组 $arr = [ '0' =...原创 2019-10-16 02:11:22 · 329 阅读 · 0 评论 -
PHP 实现快速排序(Quick sort)
开头先说一下,学习这些排序算法其实只是学习这些算法的思路,PHP开发的时候最好用PHP内置的排序函数,因为PHP内置的排序函数是底层代码实现的,比我们自己用PHP手动写的函数速度快得多得多。我们用来排序的数组必须是符合数组开始索引是明确的,一般是0。 数组索引的必须是连续的整型或者数字字符串或者两者混合。比如://连续的数字字符串索引数组 $arr = [ '0' =...原创 2019-10-15 05:18:18 · 356 阅读 · 0 评论 -
PHP 实现选择排序(Select sort)
开头先说一下,学习这些排序算法其实只是学习这些算法的思路,PHP开发的时候最好用PHP内置的排序函数,因为PHP内置的排序函数是底层代码实现的,比我们自己用PHP手动写的函数速度快得多得多。我们用来排序的数组必须是符合数组开始索引是明确的,一般是0。 数组索引的必须是连续的整型或者数字字符串或者两者混合。比如://连续的数字字符串索引数组$arr = [ '0' =&...原创 2019-10-15 03:41:49 · 462 阅读 · 0 评论 -
PHP 实现冒泡排序(Bubble sort)
开头先说一下,学习这些排序算法其实只是学习这些算法的思路,PHP开发的时候最好用PHP内置的排序函数,因为PHP内置的排序函数是底层代码实现的,比我们自己用PHP手动写的函数速度快得多得多。我们用来排序的数组必须是符合数组开始索引是明确的,一般是0。 数组索引的必须是连续的整型或者数字字符串或者两者混合。比如://连续的数字字符串索引数组$arr = [ '0' =&...原创 2019-10-14 05:27:34 · 387 阅读 · 0 评论 -
PHP 判断二维数组中是否含有某个值
主要是因为用mysqli_fetch_all() 这函数返回的数组是数字索引的二维数组,有时候我们需要判断一个主键是否在这个二维数组中就会遇到一些麻烦,常见的做法就是写循环判断,但是如果需要判断多次的情况下,我们循环这么多次会大大降低脚本的性能,我们应该要如何改进?思路就是把子数组中的键值作为数组索引,然后直接用 if 或者 array_key_exists()就可以判断了。<?p...原创 2019-10-13 05:29:57 · 4360 阅读 · 0 评论 -
php 常用的数组函数
数组创建array() //创建数组,返回一个数组与数组指针相关的函数key() //函数返回数组内部指针当前指向元素的键名。若发生错误,则函数返回 FALSE。current() //返回数组内部指针当前指向元素的键值,如果当前元素为空或者当前元素没有值则返回 FALSE。next() //函数将内部指针指向数组中的下一个元素,并输出值。如果没有更多的数组元素则返回 FA...原创 2019-10-12 04:58:14 · 336 阅读 · 0 评论 -
php 常用的字符串函数
去掉空格 或者 其他预定义 的字符trim( string, [charlist]) //函数移除字符串两侧的空白字符或其他预定义字符。返回被修改的字符串ltrim( string,[charlist]) //函数移除字符串左侧的空白字符或其他预定义字符。返回被修改的字符串rtrim( string,[charlist]) //函数移除字符串右侧的空白字符或其他预定义字符。返回被...原创 2019-10-12 03:55:13 · 254 阅读 · 0 评论 -
php中,is_null()、isset()、empty()的区别
is_null 函数用于检测 变量 的 值 是否 为 NULL该 函数 返回 TRUE 的条件(满足 其中 之一):作为 该函数 的 参数 的 变量 的值等于NULL。变量 的 值 等于 NULL 的 情况:变量 未赋值。例如$var;变量 的 值 等于NULL。例如$var = NULL;作为 该函数 的 参数 是一个 没有 被声明 的 变量。(会爆出 No...原创 2019-10-11 19:52:08 · 136 阅读 · 0 评论 -
CSRF的原理、类型以及防范
CSRFCSRF(Cross-Site Request Forgery),中文名称:跨站请求伪造攻击。CSRF原理CSRF原理就是攻击者想方设法让你访问某一条链接,如果你真的访问了这一条链接,你就会执行攻击者想让你执行的操作了,简而言之,就是你如果访问了攻击者的链接,你就会被攻击。用户的操作其实是通过访问具体的URL从而让服务端去识别用户的操作然后去执行特定的脚本。我举个...原创 2019-05-13 00:41:27 · 2048 阅读 · 0 评论 -
Javascript自学笔记二(什么是变量?为什么需要使用变量?声明变量的格式是什么?)
Javascript的语法格式和C、PHP的语法格式非常像,如果学过C、PHP等语言的话应该很容易上手。一、什么是变量变量是用来存储数据的容器 或者 用来表示抽象概念。二、为什么需要使用变量?在计算机中,数据是以电子的形式保存的,但计算机数据实际上我们是看不到的(比如计算机数据中有一个数据叫做“123”,但我们知道它叫做&amp;quot;123&amp;quot;吗?当然不知道,因为计算机数据中的“123”只是一堆电子而已...原创 2018-12-22 01:24:38 · 1354 阅读 · 0 评论 -
Javascript自学笔记第一部分(什么是Javascript)。
最近自学了Javascript,然后脑子发热决定把学习Javascript时的一些理解和感想写下来。原创 2018-12-18 20:21:33 · 171 阅读 · 0 评论