摘要: 转自:https://github.com/domnikl/DesignPatternsPHP 1 interface Logger 2 { 3 public function log(string $message); 4 } 5 6 class FileLogger implements Log 阅读全文
posted @ 2020-05-26 20:24 是的哟 阅读(136) 评论(0) 推荐(0)
摘要: 转自:https://github.com/domnikl/DesignPatternsPHP 1 class Context 2 { 3 private Comparator $comparator; 4 5 public function __construct(Comparator $comp 阅读全文
posted @ 2020-05-26 20:21 是的哟 阅读(92) 评论(0) 推荐(0)
摘要: 转自:https://github.com/domnikl/DesignPatternsPHP 1 final class Singleton 2 { 3 private static ?Singleton $instance = null; 4 5 public static function g 阅读全文
posted @ 2020-05-26 20:18 是的哟 阅读(116) 评论(0) 推荐(0)
摘要: 转自:https://github.com/domnikl/DesignPatternsPHP 1 abstract class Journey 2 { 3 private array $thingsToDo = []; 4 5 final public function takeATrip() 6 阅读全文
posted @ 2020-05-26 20:14 是的哟 阅读(142) 评论(0) 推荐(0)
摘要: PHP 设计模式 B站视频 单一职责、开闭、里氏替换、依赖倒置、接口隔离、迪米特 阅读全文
posted @ 2020-05-26 20:07 是的哟 阅读(71) 评论(0) 推荐(0)
摘要: 1、对现有业务造成冲击,可能导致整个网站瘫痪 秒杀系统独立部署,甚至使用独立的域名,和其他业务完全隔离。 2、用户会不停的刷新页面,对应用服务器和数据库服务器造成极大的压力 秒杀页面静态化 3、突然增加的带宽 租借服务器带宽,CDN也需要租借带宽 4、直接访问下单页面,提前下单 动态生成随机下单页面 阅读全文
posted @ 2020-05-26 20:06 是的哟 阅读(127) 评论(0) 推荐(0)
摘要: 扩展性指的是各个模块高内聚低耦合,可以很容易地扩展新功能。 消息队列:各个模块不直接调用 纵向拆分业务:将大应用拆分成业务独立的小应用 横向拆分业务:将复用的业务拆分出来。 较复杂,涉及到:识别可复用的业务、设计服务接口、服务依赖关系、 分布式服务管理框架 阅读全文
posted @ 2020-05-26 20:05 是的哟 阅读(349) 评论(0) 推荐(0)
摘要: 伸缩性指的是通过增加或减少机器的数量,来改变网站的处理能力。 负载均衡可以及时发现新上线或新下线的服务器,并向新上线的服务器分发请求,停止向已下线的服务器分发请求,那么就实现了应用服务器集群的伸缩性。 应用服务器负载均衡 特点:应用服务器没有状态,访问哪一台都行 DNS负载均衡: 优点:不需要维护负 阅读全文
posted @ 2020-05-26 20:04 是的哟 阅读(157) 评论(0) 推荐(0)
摘要: 负载均衡:心跳检测,自动转移 解决负载均衡后的session问题: ip哈希,或根据cookie来转发。不满足高可用。 session服务器,利用分布式缓存、数据库等。引入了网络开销 session replication,即在服务器间同步session。同步开销、存储开销都很大 把session记 阅读全文
posted @ 2020-05-26 20:03 是的哟 阅读(138) 评论(0) 推荐(0)
摘要: XSS(Cross Site Script)跨站脚本攻击 持久型:黑客提交含有恶意脚本的请求,保存在被攻击的web站点的数据库中, 用户浏览网页时,恶意脚本被包含在正常页面中,被浏览器执行。 例如在博客里写一段js代码,把cookie发给黑客,里面可能含有sessionID 用户访问该博客,黑客就能 阅读全文
posted @ 2020-05-26 20:02 是的哟 阅读(304) 评论(0) 推荐(0)
摘要: 前端优化: 减少http请求:合并css、js、img keep-alive复用tcp连接 浏览器缓存:css、js、img,设置http头Cache-Control、Expires。 如果要更新缓存的文件,可以改变文件名。 更新文件时,应当一个一个更新,避免浏览器缓存同时大量失效。 压缩:减少传输 阅读全文
posted @ 2020-05-26 20:00 是的哟 阅读(135) 评论(0) 推荐(0)
摘要: 200 OK 请求已成功, 204 No Content 服务器成功处理了请求,没有返回任何内容。 206 Partial Content 成功处理了部分GET请求。 多用于断点续传、大文件拆分下载等 301 Moved Permanently 永久移动到新位置 302 Found 临时重定向 30 阅读全文
posted @ 2020-05-26 19:51 是的哟 阅读(342) 评论(0) 推荐(0)
摘要: 套接字对:(源ip:源port,目的ip:目的port),唯一标识了一个网络上的TCP连接 收到报文,不仅要看目的port,还要看源ip和port才能确定报文该交给哪个连接 listen():将主动套接字转化成被动套接字,内核为每个监听套接字维护半连接队列和全连接队列 backlog参数指定半连接队 阅读全文
posted @ 2020-05-26 19:49 是的哟 阅读(338) 评论(0) 推荐(0)
摘要: TCP的差错恢复:tcp确认是累积式的,接收方不会确认失序的报文段, 发送方仅需维护已发送但未确认的最小序号,以及下一个要发送的序号 这样看来,tcp是GBN风格的,但tcp又会缓存失序的报文段, 并对缓存的报文段进行选择确认(SACK) 回退N步(Go-Back-N,GBN),也常被称为滑动窗口协 阅读全文
posted @ 2020-05-26 19:47 是的哟 阅读(768) 评论(0) 推荐(0)
摘要: 大量的源想以过高的速度发送数据,导致路由器缓存溢出,继而丢包。 速率控制:TCP维护拥塞窗口cwnd变量,发送端未被确认的数据量不能超过cwnd cwnd代表发送端认为能发送的数据量,流量控制窗口代表接收端能接收的数据量, 实际能发送的数据量是二者的较小值 拥塞检测:隐式检测:超时或者收到三个冗余a 阅读全文
posted @ 2020-05-26 19:45 是的哟 阅读(281) 评论(0) 推荐(0)
摘要: 三次握手:能确定双方都做好了传输数据的准备,并且彼此知道对方已经准备好, 通知对方自己的初始序号isn,设置其他初始化的参数和状态变量。 前两次握手不能携带数据,第三次握手可以携带数据。 syn flood攻击:攻击者发送syn,服务器创建半开连接并发送synack,攻击者不发送ack 解决方法:很 阅读全文
posted @ 2020-05-26 19:44 是的哟 阅读(178) 评论(0) 推荐(0)
摘要: 序号:指字节流首字节的编号,例如100 000字节的数据,MSS为1000字节, 那么第一个报文段的序号为0,第二个报文段的序号为1000,第三个为2000 由于报文段的长度是可变的,所以不能对报文段进行确认,只能对字节进行确认 确认序号:收到0~199字节,和300~456字节,确认序号为200, 阅读全文
posted @ 2020-05-26 19:42 是的哟 阅读(677) 评论(0) 推荐(0)
摘要: ip协议不可靠,会丢失、出错、乱序 延迟、重复 tcp可靠性是指数据的可靠传递,或故障的可靠通知 tcp为保证可靠性,使用了“带重传的正面确认”技术 1.发送端需要知道接收端有没有收到段,接收端需要返回ack。 2.超时未收到ack就重传,重传会导致段重复,序号可以识别重复的段 3.停等式发一个确认 阅读全文
posted @ 2020-05-26 19:41 是的哟 阅读(438) 评论(0) 推荐(0)
摘要: 创建函数 function func1 { ....... } 或者 func2() { ....... } 调用函数 需要先定义,再调用 .... func1 .... 返回值 默认情况下,函数的退出状态码是函数中最后一条命令的退出状态码 return 0~255 获取返回值:result=$(f 阅读全文
posted @ 2020-05-26 19:38 是的哟 阅读(107) 评论(0) 推荐(0)
摘要: 临时重定向 echo "error" >&2 # test.sh 脚本里 将标准输出重定向到标准错误 ./test.sh 2> test2.txt # 运行脚本时,将错误重定向到文件,则 error 会被写入到文件中 永久重定向 exec 1>a.txt 将脚本中所有标准输出 都重定向到a.txt 阅读全文
posted @ 2020-05-26 19:37 是的哟 阅读(225) 评论(0) 推荐(0)
摘要: $0 是脚本名称 $# 参数个数 $* 所有参数作为一个单词 $@ 所有参数作为多个单词 $1..9 是参数 ${10}是第10个参数... if [ -n "$1" ] 检测参数 shift 所有参数左移一位 第1个参数丢弃 shift 3 所有参数左移三位 1.2.3三个参数丢弃 用户输入: r 阅读全文
posted @ 2020-05-26 19:36 是的哟 阅读(1117) 评论(0) 推荐(0)
摘要: for for var in list do ... done for i in a b "c" d for i in $(cat $file) # 根据 $IFS 将$file的内容分隔成许多字段 for f in /home/* for (( i = 1, j=2 ; i < 10; i++, 阅读全文
posted @ 2020-05-26 19:35 是的哟 阅读(137) 评论(0) 推荐(0)
摘要: test命令内的条件为真,则返回退出状态码0 test 5 -eq 15 && echo Yes || echo No teest var1 #测试变量是否有值 test -f /etc/resolv.conf && echo "File /etc/resolv.conf found." || ec 阅读全文
posted @ 2020-05-26 19:34 是的哟 阅读(190) 评论(0) 推荐(0)
摘要: 查看内置变量:set、env、printenv 赋值时,等于号两边不能有空格。变量名对大小写敏感 a=b # a的值为字符串“b” myhome="/home/v/vivek" NOW=$(date) # $() 执行命令 将结果赋给变量 NOW=`date` # 反引号执行命令 将结果赋给变量 s 阅读全文
posted @ 2020-05-26 19:32 是的哟 阅读(137) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-05-26 19:31 是的哟 阅读(137) 评论(0) 推荐(0)
摘要: s=abc 直接用等号赋值 不能有空格 s = abc s=ab c 都是无效的 有空格的话,用引号括起来,双引号内的特殊字符保有原本的特性,单引号内的特殊字符仅为字符本身 反斜杠可转义空格回车等字符 $()命令替换 a=$(ls) echo $a 输出ls的结果 增加变量内容 PATH="$PAT 阅读全文
posted @ 2020-05-26 19:29 是的哟 阅读(381) 评论(0) 推荐(0)
摘要: gzip a.txt 压缩为a.txt.gz 并删除原文件a.txt gzip -c a.txt > abc.gz 压缩a.txt -c将结果输出到屏幕并保留a.txt > 重定向到abc.gz gzip -d a.txt.gz 解压缩为a.txt 并删除压缩文件a.txt.gz 源文件是文本文件的 阅读全文
posted @ 2020-05-26 19:27 是的哟 阅读(190) 评论(0) 推荐(0)
摘要: cat cat -A显示控制字符 -s禁止输出多个空白行 -n给文本添加行号 cat > foo.txt The quick brown fox jumped over the lazy dog. cat -ns foo.txt 1 The quick brown fox 2 3 jumped ov 阅读全文
posted @ 2020-05-26 19:21 是的哟 阅读(140) 评论(0) 推荐(0)
摘要: locate abc/def 根据路径名匹配 locate abc | grep def updatedb程序每天运行一次,更新locate的数据库,所以locate的数据不是实时的 whereis 搜索可执行文件、源代码文件、帮助文件 只在部分目录里查找 find 直接在硬盘中搜索 速度比较慢 f 阅读全文
posted @ 2020-05-26 19:20 是的哟 阅读(171) 评论(0) 推荐(0)
摘要: ps 查看进程 ps x 查看所有进程 ps aux显示更多信息 --forest 显示层级信息 状态 意义 R 运行。这意味着,进程正在运行或准备运行。 S 正在睡眠。 进程没有运行,而是,正在等待一个事件, 比如说,一个按键或者网络数据包。 D 不可中断睡眠。进程正在等待 I/O,比方说,一个磁 阅读全文
posted @ 2020-05-26 19:19 是的哟 阅读(197) 评论(0) 推荐(0)
摘要: id – 显示用户身份号 umask – 设置默认的文件权限 passwd – 更改用户密码 who 看谁在线 用户帐户 定义在/etc/passwd 文件里面,用户组定义在/etc/group 文件里面。当用户帐户和用户组创建以后, 这些文件随着文件/etc/shadow 的变动而修改,文件/et 阅读全文
posted @ 2020-05-26 19:18 是的哟 阅读(151) 评论(0) 推荐(0)
摘要: C-a C-e C-f C-b M-f M-b C-y C-d M-d M-backspace向前剪切一个词 C-k C-u 剪切行首到光标 C-t M-t 交换两个单词 C-l 清屏 等同clear命令 Tab 自动补全 按两次显示列表 history | less 查看历史命令 !20 输入第2 阅读全文
posted @ 2020-05-26 19:05 是的哟 阅读(397) 评论(0) 推荐(0)
摘要: echo 输出 路径展开 echo * 不会输出*,而是输出当前目录下的所有文件名 因为*会先展开 参数展开 echo $USER 会输出当前用户的用户名 波浪线~展开 echo ~ 会输出当前用户的home目录 echo ~zhangsan 会输出用户zhangsan的home目录 算术表达式展开 阅读全文
posted @ 2020-05-26 19:04 是的哟 阅读(220) 评论(0) 推荐(0)
摘要: 与 Unix 主题“任何东西都是一个文件”保持一致,程序,比方说 ls,实际上把他们的运行结果 输送到一个叫做标准输出的特殊文件(经常用 stdout 表示),而它们的状态信息则送到另一个 叫做标准错误的文件(stderr)。默认情况下,标准输出和标准错误都连接到屏幕,而不是 保存到磁盘文件。除此之 阅读全文
posted @ 2020-05-26 19:02 是的哟 阅读(256) 评论(0) 推荐(0)
摘要: 命令可以是一个可执行程序,或者内建于shell自身的命令,如cd,或者是shell函数,或者是命令别名 type 查看命令类型 which ls 查看可执行程序的位置 对命令别名和内建命令无效 help cd 查看帮助 mkdir --help 查看帮助 一些程序不支持--help选项 可以把命令放 阅读全文
posted @ 2020-05-26 19:00 是的哟 阅读(164) 评论(0) 推荐(0)
摘要: grep [options] regex [file...] 选项 描述 -i 忽略大小写。不会区分大小写字符。也可用--ignore-case 来指定。 -v 不匹配。通常,grep 程序会打印包含匹配项的文本行。这个选项导致 grep 程序只会打印不包含匹配项的文本行。也可用--invert-m 阅读全文
posted @ 2020-05-26 18:58 是的哟 阅读(262) 评论(0) 推荐(0)
摘要: ln a.txt aa 创建硬链接 默认每个文件都有一个硬链接 这个硬链接给文件起名字 创建硬链接 就创建了一个额外的目录条目 硬链接不能关联目录,也不能关联所在磁盘分区以外的文件 硬链接和文件没什么区别,列出硬链接所在目录的文件时,硬链接没有特殊的链接指示说明 删除硬链接,这个链接被删除,文件本身 阅读全文
posted @ 2020-05-26 18:57 是的哟 阅读(1565) 评论(0) 推荐(0)
摘要: mkdir、rmdir mkdir dir1 dir2 dir3... 创建目录 -p建立多级目录 -m初始化目录权限 rmdir a/b/c 删除空目录 -p删除a/b/c(如果a下只有b,b下只有c,c为空目录) -r删除非空目录 cp cp a b 复制文件或目录a到文件或目录b cp a1 阅读全文
posted @ 2020-05-26 18:52 是的哟 阅读(175) 评论(0) 推荐(0)
摘要: ls ~ /usr 列出home目录和/usr目录的内容 -l 结果以长模式输出 ls的选项 选项 长选项 描述 -a --all 列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。 -d --directory 通常,如果指定了目录名,ls 命令会列出这个目录中的内容,而不是目录本身 阅读全文
posted @ 2020-05-26 18:50 是的哟 阅读(169) 评论(0) 推荐(0)
摘要: linux命令行与shell脚本编程大全 16 Gawk 工具 http://www.shell-fu.org/lister.php?browse 另一个收集命令的网站 左键拖动选择区域,或者双击单词,即为复制 单击中键即为粘贴 使用 aptitude 来管理软件 改变聚焦策略 单击聚焦 date 阅读全文
posted @ 2020-05-26 18:49 是的哟 阅读(117) 评论(0) 推荐(0)
摘要: 2、设置root密码 sudo passwd->输入当前密码->输入新密码 6、开启root登录 /etc/pam.d/ 下的gdm-autologin 和 gdm-password 先改为777权限 再用Gedit打开 注释掉 #auth required pam_succeed_if.so us 阅读全文
posted @ 2020-05-26 18:48 是的哟 阅读(123) 评论(0) 推荐(0)
摘要: 知乎 资料 github 资料 一个github项目 docker+lnmp+redis PowerShell配置别名: 查看profile文件 :$profile 创建profile文件: New-Item -Path $ profile -ItemType file force 在profile 阅读全文
posted @ 2020-05-26 18:42 是的哟 阅读(128) 评论(0) 推荐(0)
摘要: git 对象 .git / objects 目录下存放git对象,每种对象都有40位的SHA1值作为唯一标识 SHA1前两位作为文件夹名,后38位作为文件名 blob对象,映射到一个文件,对象内容就是文件内容 tree对象,映射到一个目录,对象内容为本目录下的文件的SHA1值和子目录的SHA1值 c 阅读全文
posted @ 2020-05-26 18:40 是的哟 阅读(133) 评论(0) 推荐(0)
摘要: remote git remote add origin git@github.com:abc/def.git 将本地git目录关联远程origin仓库 origin只是url的别名 git remote 查看远程仓库 -v git remote show [remote] 显示某个远程仓库的信息 阅读全文
posted @ 2020-05-26 18:39 是的哟 阅读(213) 评论(0) 推荐(0)
摘要: git reset 1. git reset [-q] [<commit>] [--] <path> 带有路径path时,path如果和引用或commitID同名,可在path前加 -- 用<commit>里的<path>文件,替换暂存区中的文件,工作区和版本库不变 省略commit则为HEAD 2 阅读全文
posted @ 2020-05-26 18:38 是的哟 阅读(143) 评论(0) 推荐(0)
摘要: git diff 后面跟两个参数,用a、b表示,可以是commitID、HEAD^、分支名等 --stat简单的结果 不加参数是工作区和暂存区 参数只有一个HEAD表示工作区和版本库 只有一个分支名是工作区和该分支 --cached或--staged是版本库和暂存区 git status -s 精简 阅读全文
posted @ 2020-05-26 18:37 是的哟 阅读(2214) 评论(0) 推荐(0)
摘要: git init 或 git init dirname git add 点.修改的和新增的,不包括删除 -u修改的和删除的 -A (--all)修改删除新增重命名 dir指定目录递归 -p依次确认 git commit -m "abc" -a 将未暂存的也提交 直接回车进入编辑器 -v 回车 带有详 阅读全文
posted @ 2020-05-26 18:36 是的哟 阅读(102) 评论(0) 推荐(0)
摘要: commitID HEAD、commitID、tag、branchName 等在很多地方都是等效的 HEAD^ HEAD~ HEAD^3 HEAD~3 HEAD@{3}是reflog里第4个commit commit^ 该commit的父commit 如果有冲突,需要解决后再add、commit,形 阅读全文
posted @ 2020-05-26 18:34 是的哟 阅读(109) 评论(0) 推荐(0)
摘要: paxos作者论文 The Part-Time Parliament 翻译1 翻译2 paxos作者论文 Paxos Made Simple 翻译1 翻译2 翻译3 维基百科 英文wiki 视频 知行学社 文章 刘杰的《分布式系统原理介绍》 不错 文章 深入浅出Paxos算法协议 还不错 三个约束: 阅读全文
posted @ 2020-05-26 18:29 是的哟 阅读(132) 评论(0) 推荐(0)
摘要: M-m s 一组搜索操作 多用搜索功能 helm搜索的时候要加空格 M-s h 高亮正则 C-s/r RET abc RET 向后/前搜索abc isearch C-s/r isearch-forward/backward C-M-s/r isearch-regexp-forward/backwar 阅读全文
posted @ 2020-05-26 18:26 是的哟 阅读(174) 评论(0) 推荐(0)
摘要: smartsparen? 删除左括号,右括号还在 和hungry-delete冲突 多用C-v M-v web-mode C-c C-f 折叠元素 C-减号 会将后面的命令取反 如C-- C-k 删除到行首 C-u 10 k 输入10个k C-u 10 C-u 1 输入10个1 C-u -3 C-n 阅读全文
posted @ 2020-05-26 18:24 是的哟 阅读(132) 评论(0) 推荐(0)
摘要: WSL 在商店里安装ubuntu,然后在powerShell里输入ubuntu wslconfig /list 查看安装的wsl wslconfig /setdefault ubuntu 设置powerShell里bash命令默认打开的wsl wslconfig /unregister ubuntu 阅读全文
posted @ 2020-05-26 18:23 是的哟 阅读(380) 评论(0) 推荐(0)
摘要: (global-set-key (kbd "<f1>") 'my-func) (add-hook 'emacs-lisp-mode-hook 'show-paren-mode) 在lisp-mode里打开paren-mode (defun indent-buffer() (interactive) 阅读全文
posted @ 2020-05-26 18:22 是的哟 阅读(188) 评论(0) 推荐(0)
摘要: Emacs github C-h t emacs tutorial 原生手册中文 http://www.gnuemacs.org/ http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html https://www.gnu. 阅读全文
posted @ 2020-05-26 18:15 是的哟 阅读(177) 评论(0) 推荐(0)
摘要: phpinfo() 查看php信息 可同时存在多个版本的php nginx的upstream可使用不同的php 安装 官网获取链接 wget http://hk1.php.net/get/php-7.3.2.tar.gz/from/this/mirror tar -zxvf mirror ./con 阅读全文
posted @ 2020-05-26 18:13 是的哟 阅读(1014) 评论(0) 推荐(0)
摘要: GD 步骤: 1、创建画布:在内存开辟空间,用于存储图像信息 2、绘制图像 3、输出图像:要用header()发送Content-type 4、释放资源 直接用浏览器请求该脚本,或将该脚本的url赋给src属性,都可以获取图像 ** php配置文件 extension_dir="ext所在目录" 启 阅读全文
posted @ 2020-05-26 18:12 是的哟 阅读(153) 评论(0) 推荐(0)
摘要: max — 找出最大值 min — 找出最小值 计算 abs — 绝对值 sqrt — 平方根 pow — 指数表达式 exp — 计算 e 的指数 expm1 — 返回 exp(number) - 1,甚至当 number 的值接近零也能计算出准确结果 log — 自然对数 log10 — 以 1 阅读全文
posted @ 2020-05-26 18:11 是的哟 阅读(127) 评论(0) 推荐(0)
摘要: flush — 刷新输出缓冲 ob_clean — 清空(擦掉)输出缓冲区 ob_end_clean — 清空(擦除)缓冲区并关闭输出缓冲 ob_end_flush — 冲刷出(送出)输出缓冲区内容并关闭缓冲 ob_flush — 冲刷出(送出)输出缓冲区中的内容 ob_get_clean — 得到 阅读全文
posted @ 2020-05-26 18:08 是的哟 阅读(142) 评论(0) 推荐(0)
摘要: 路径 basename — 返回路径中的文件名部分 dirname — 返回路径中的目录部分 pathinfo — 返回文件路径的信息 realpath — 返回规范化的绝对路径名 glob — 寻找与模式匹配的文件路径 fnmatch — 用模式匹配文件名 判断 file_exists — 检查文 阅读全文
posted @ 2020-05-26 18:07 是的哟 阅读(264) 评论(0) 推荐(0)
摘要: session_set_save_handler — 设置用户自定义会话存储函数 session_save_path — 读取/设置当前会话的保存路径 session_id — 获取/设置当前会话 ID session_create_id — Create new session id sessio 阅读全文
posted @ 2020-05-26 18:05 是的哟 阅读(171) 评论(0) 推荐(0)
摘要: php.ini 配置时区 date.timezone checkdate — 验证日期 date — 时间戳转字符串 getdate — 时间戳转关联数组 localtime — 时间戳转关联数组 date_parse — 字符串日期转为关联数组 date_parse_from_format — 指 阅读全文
posted @ 2020-05-26 18:04 是的哟 阅读(128) 评论(0) 推荐(0)
摘要: 字符串 多字节字符串 字符串结构里存储了长度,根据长度来判断字符串的结束,而不是根据特殊的结束符字节 所以php字符串是二进制安全的,可以包含null字节 $name="zhangsan"; echo "{$name}p"或"${name}p" // zhangsanp 花括号{}里不要有空格 ec 阅读全文
posted @ 2020-05-26 18:03 是的哟 阅读(206) 评论(0) 推荐(0)
摘要: 不需要指定数组的大小,也不需要提前声明,直接赋值即可声明数组:$arr['a']=1,或$arr[]=1 合并数组且key相同时,array_merge()保留最后一个value,"+"保留第一个value 键为字符串且为标准的integer表示时,会转为整型。例如"8"会转为8,"08"不会转为8 阅读全文
posted @ 2020-05-26 18:01 是的哟 阅读(204) 评论(0) 推荐(0)
摘要: 命名空间 自动加载 抽象类 至少一个抽象方法,不能实例化 abstract class A{ abstract protected function getValue(); } class B extends A{ public function getValue($v=null){...} } 可 阅读全文
posted @ 2020-05-26 18:00 是的哟 阅读(147) 评论(0) 推荐(0)
摘要: $a=$b=$c=1; 一次声明多个变量 变量名区分大小写, 内置结构和关键字,用户自定义的类名和函数名,不区分大小写 $a=null isset($a) // false empty($a) // true 检测一个变量是不存在还是值为null,需要 array_key_exists('var', 阅读全文
posted @ 2020-05-26 17:58 是的哟 阅读(220) 评论(0) 推荐(0)