PSR编码规范简述

PSR

psr-0 自动加载

psr-1 基本代码规范

  • 文件内只出现 <?php<?= 标签 (必须)
  • 只是用utf-8 没有BOM头的php代码 (必须)
  • 声明新的类型符,不产生副作用
  • 命名空间遵循autoload自动加载psr-0/4规范(必须)
  • 类名驼峰(必须)
  • 类中的常量下划线_分隔(必须)
  • 方法驼峰(必须)

psr-2 代码样式

  • 必须遵循psr-1
  • 四个空格,而非tab
  • 限制每行长度 80或者更少
  • namespace 和 use 必须空格
  • 类的括号必须独立一行
  • 类的方法也一样
  • 所有的属性和方法必须在修饰符之前,static在之后
  • 关键词之后必须有空格
  • 代码流程控制,{ 在一行,}独立一行
  • {之后没有空格,}之前没有空格

psr-3 日志接口

  • 错误级别RFC 5424 (debug, info, notice, warning, error, critical, alert,
    emergency)

psr-4 自动加载

相比于 psr-0 规范比较干净 PSR-0规范中下划线_会被转化成为目录分割线
上面有详细的介绍,这里就不再重复

psr-6 缓存接口

psr-7 http消息接口

psr-11 容器接口

psr-13 超媒体链接

psr-15 http句柄

psr-16 简单缓存

Mysql基本函数

# 判断123是否为数值,如果是则返回0否则返回1
SELECT ('123' REGEXP '[^0-9.]');

# GROUP_CONCAT 指定分隔符
GROUP_CONCAT(uid SEPARATOR ';\n')

# GROUP_CONCAT 有长度限制,默认1024
SET GLOBAL group_concat_max_len=102400;
SET SESSION group_concat_max_len=102400;

清理包含指定条件的清理sql生成

SELECT delete_sql as '-- delete_sql' FROM (
SELECT distinct concat('DELETE from `',c.TABLE_SCHEMA,'`.`',t.TABLE_NAME,'` WHERE `pid`=1 AND `uid`=222;') AS 'delete_sql',count(1) as num
FROM information_schema.`TABLES` t
LEFT JOIN information_schema.`COLUMNS` c ON t.TABLE_NAME=c.TABLE_NAME AND t.TABLE_SCHEMA=c.TABLE_SCHEMA
WHERE t.TABLE_SCHEMA != 'mysql' AND t.TABLE_SCHEMA != 'sys' AND t.TABLE_TYPE='BASE TABLE' AND c.COLUMN_NAME in ('pid','uid')
GROUP BY delete_sql
HAVING num=2
ORDER BY
c.TABLE_SCHEMA,c.TABLE_NAME,c.ORDINAL_POSITION
) aaaa

所有表字段信息

SELECT
    C.TABLE_SCHEMA AS '库名',
    T.TABLE_NAME AS '表名',
    C.COLUMN_NAME AS '列名',
    T.TABLE_COMMENT AS '表注释',
    C.COLUMN_COMMENT AS '列注释',
    C.ORDINAL_POSITION AS '列的排列顺序',
    C.COLUMN_DEFAULT AS '默认值',
    C.IS_NULLABLE AS '是否为空',
    C.DATA_TYPE AS '数据类型',
    C.CHARACTER_MAXIMUM_LENGTH AS '字符最大长度',
    C.NUMERIC_PRECISION AS '数值精度(最大位数)',
    C.NUMERIC_SCALE AS '小数精度',
    C.COLUMN_TYPE AS 列类型,
    C.COLUMN_KEY 'KEY',
    C.EXTRA AS '额外说明'
FROM
    information_schema.`TABLES` T
LEFT JOIN information_schema.`COLUMNS` C ON T.TABLE_NAME = C.TABLE_NAME
AND T.TABLE_SCHEMA = C.TABLE_SCHEMA
WHERE
    T.TABLE_SCHEMA != 'mysql'
ORDER BY
    C.TABLE_NAME,
    C.ORDINAL_POSITION;

linux

# linux
ln -s 源路径 新路径
# 在目标目录中创建src软链到源src目录,名字如果不一致需要二次修改软链名称
ln -s /data/code/typecho_blog/src /data/www.wuloves.com
# 在目标目录中创建test软链到源src目录
ln -s /data/code/typecho_blog/src/ /data/www.wuloves.com/test


查看系统里面的git公钥
cat  ~/.ssh/id_rsa.pub

window

# window
mklink /d 新路径 源路径
# 在新路径中创建名为blog的挂载目录软链到源src目录, blog后面有没有\ 效果都一样
mklink /d D:\www\blog\ D:\code\typecho_blog\src\