PHP interface 接口类
<?php
//接口类,约束参数与方法
interface Db
{
public function execute($param);
}
//实现类,按接口约束的方法实现功能
class Db_Mysql implements Db
{
public function execute($param)
{
print_r($param);
}
}
<?php
//接口类,约束参数与方法
interface Db
{
public function execute($param);
}
//实现类,按接口约束的方法实现功能
class Db_Mysql implements Db
{
public function execute($param)
{
print_r($param);
}
}
在脚本中使用 spl_autoload_register(['className','functionName'])
进行注册,需要注意这个方法需要是个静态方法,且需要有一个参数。
调用找不到的类时PHP会自动调用这里注册的方法,并给此方法提交一个参数,内容为不存在的类(含命名空间),此方法只需要根据命名空间判断找不到的类是不是需要自己引入的类(比如自己程序的自动加载与Composer的自动加载共存时),是的话加载文件并返回 true
,不是的话返回 false
。
spl_autoload_register(['className','functionName'])
可以多次调用注册多个方法,PHP会按照注册顺序依次调用,直到找不到的类被自动加载为止。
参考:官方文档
有时会在LTSC 2019自行安装的应用商店中出现,按Win
+R
打开运行,输入inetcpl.cpl
,打开高级,下拉找到并勾选使用TLS1.2
,应用即可。
型号是A1534,去年摔过,把C壳边角摔缺了一大块,之后拆键帽清理又把空格键拆的固定不稳了,但还能凑合用。
前阵子买了瓶压缩空气想再仔细清理一下,没想到前面一点喷出来的是液态的,喷进键盘内瞬间产生了大量的冷凝水,大概半小时后键盘用不成了。
刚好早就想换了,去淘宝买了个C壳键盘,到手换上开机,发现触摸板按压反馈变得非常弱。
拆开检查回想起拆的时候几个触摸板固定螺丝很松,没被拧紧,就尝试调整螺丝松紧观察是否有效。
这里有个小插曲,其中一次测试忘记关机了,插排线的时候歪了一点,触摸板瞬间冒烟了,再插上开机触摸板中间的芯片就会开始发烫,无奈又去闲鱼买了个触摸板。
到手安装后继续测试,发现螺丝拧越紧按压的震动反馈越弱,拧越松震动反馈越强,但太松了触摸板又无法固定,可以上下滑动,最后发现拧到刚好开始变紧的位置是最合适的,震动反馈较强且触摸板基本可以固定住。
¥98买来的教训,插拔排线等硬件操作必须关闭电源!
git config --list
# 查看设置
git config user.name
# 查看用户名
git config user.password
# 查看密码
git config user.email
# 查看邮箱
git config user.name "用户名"
# 设置用户名
git config user.password "密码"
# 设置密码
git config user.email "邮箱"
# 设置邮箱
git config --global user.name
# 查看全局用户名
git config --global user.password
# 查看全局密码
git config --global user.email
# 查看全局邮箱
git config --global user.name "用户名"
# 设置全局用户名
git config --global user.password "密码"
# 设置全局密码
git config --global user.email "邮箱"
# 设置全局邮箱
import os
from tempfile import TemporaryFile
f = TemporaryFile('w+t', encoding='utf-8')
# 创建临时文件
f.write('数据1')
f.write('数据2')
# 写数据
f.seek(0)
print(f.read())
# 读取输出
f.close()
# 关闭并删除
import win32ui
dlg = win32ui.CreateFileDialog(1)
dlg.SetOFNInitialDir("默认打开路径")
dlg.DoModal()
path = dlg.GetPathName()
# 获取选择文件的绝对路径
如果报错,需要安装pywin32
pip install pywin32
import win32com.client
def check_process(process_name):
WMI = win32com.client.GetObject('winmgmts:')
processCodeCov = WMI.ExecQuery('select * from Win32_Process where Name="%s"' % process_name)
if len(processCodeCov) > 0:
return True
else:
return False
import os
os.system("指令")
# 显示窗口执行cmd指令
os.popen("指令")
# 隐藏窗口执行cmd指令