需求 加载后让第一个输入框或者焦点是个很基本的功能,典型的如“登录”对话框。...一般来说“登录”对话框加载后“用户名”应该马上获得焦点,用户只需输入用户名,点击Tab,再输入密码,点击回车就完成了登录操作。...在WPF中要让一个控件在加载时获得焦点应该很简单,只需要在Loaded事件后调用Focus()就行了。...IsAutoFocus这个附加属性控制是否自动获得焦点,做成附加属性是为了可在XAML上控制。...在Form中是在DefaultStyle设用Setter设置了默认值,以前提过一般情况下附加属性和依赖属性都不会在代码里设置默认值。
本篇主要介绍如何在php中使用redis。 随着项目发展,有一些业务逻辑开始出现并发的问题,即便优化代码和sql执行速度,甚至于添加文件缓存,很可能在并发情况下也是会有问题的。...下面来说如何在php项目中使用redis作为缓存引擎。 1. 环境 debian linux操作系统 php 7.3.6版本 redis 5.0.5 其实除了系统类型,其他基本不影响安装过程。.../configure 3.5 make make && make install 3.6 配置php.ini extension=redis 3.7 重启php-fpm sudo pkill php-fpm...&& sudo /path/to/your/php-fpm 以上就是安装配置phpredis扩展的方法,赶紧在你的项目中用起来吧~ 文章作者ianzhi,原文地址:https://www.dnote.cn
为了将原本运行在Windows Server 2016 中IIS上的PHP环境(WordPress程序加MySql)迁移到Ubuntu Server下的Nginx上。...但是在环境的配置是,发现了一个问题,就是在Ubuntu重启后,本地站点打开php站点phpMyAdmin会出现502错误,通过多次尝试,发现主要可能是一下几个问题,也算是列举下nginx 502错误的解决方法...---- Q1:php.ini的memory_limit 用编辑器打开php.ini 将memory_limit修改为更高值 #vim /etc/php/7.0/fpm/php.ini ?...重新加载 PHP-FPM: # service php7.0-fpm reload ---- Q2:listen监听设置 # vim /etc/php5/fpm/pool.d/www.conf 搜索以下行...---- Q3:listen监听TCP配置出错 php的监听修改为tcp,而nginx的仍然为 sock # vim /etc/nginx/sites-available/default ?
譬如说我们通过4张表来维护用户数据、在redis上就应该只使用一个Hash 另外类似于Comment这样的表,我们就需要设计成Redis List类型 以COMMET_USERID来作为key 每一次添加一条反序列化数据进去...在第三个方案的时候,其实我们并不应该使用HASH 因为相对来说SETTING的动态存取概率不大,另外总数据量也相对很小。应该直接使用SET来进行存取。...使用的时候只需要一次序列化开销即可。 不过并不saasid作为前缀的方案,这里事实上可以优化一下saasid的位数,我们使用4位ID 既可以支持1400万的saas用户,5位ID支持7亿。...# 优化后的 用户存储 hset TRFU_qFVqmqMz nickname sprite hset TRFU_Lh8PCIVy nickname soki hset hGE5_gdYuSu4G nickname...amber # 优化后的 设置存储 set TRFU_SETTING {\"WECHATID\":\"123456\",\"APPNAME\":\"AppSite\"} 仅作为高速数据库缓存时的用法
goto语法在PHP中的使用 在C++、Java及很多语言中,都存在着一个神奇的语法,就是goto。顾名思义,它的使用是直接去到某个地方。从来代码的角度来说,也就是直接跳转到指定的地方。...我们的PHP中也有这个功能,我们先来看看它是如何使用的: goto a; echo "1"; // 不会输出 a: echo '2'; // 2 代码运行到goto位置时,就跳转到了a:所在的代码行并继续执行下去...感觉很好玩吧,这个功能对于复杂的嵌套if或者在一些循环中进行跳出很有用,特别是针对某些异常或者错误情况的处理,比如: for ($i = 0, $j = 50; $i < 100; $i++) {...这就要仁者见仁智者见智的进行选择了,目前大多数语言的文档中都并不是很提倡使用这个语法,包括PHP。...我的建议是,如果不是非常特殊的情况或者是为了炫技,尽量不要使用goto语法,当项目代码复杂起来后,很容易让别人或者自己看懵。
另外,在服务端,Session 数据默认存储在文件中,这是通过 php.ini 中 session.save_handler 配置项配置的: ?...,如果要使用 Session 需要主动开启,Session 默认的有效期是 3 个小时(通过 cache_expire 配置项配置,单位为分钟),3 小时后自动销毁: ?...3、Session 的基本使用 我们以用户认证为例,演示下如何在 PHP 中使用 Session。...数据即可,如果要删除某个 Session 数据,使用 unset 函数即可: unset($_SESSION['name']); 我们在浏览器中访问 http://localhost:9000/session.php...这个就是服务端自动生成并发送到客户端 Cookie 的 Session ID,这些逻辑都有 PHP 底层自动维护,我们不必关心。
trait能力在PHP中的使用 相信大家对trait已经不陌生了,早在5.4时,trait就已经出现在了PHP的新特性中。当然,本身trait也是特性的意思,但这个特性的主要能力就是为了代码的复用。...我们都知道,PHP是现代化的面向对象语言。...因为程序无法区分出你要使用的是哪一个trait中的test()方法。我们可以使用insteadof来指定要使用的方法调用哪一个trait。...当然,越是灵活的东西越需要我们去弄明白它的一些使用规则,这样才能避免一些不可预见的错误。...9C%A8PHP%E4%B8%AD%E7%9A%84%E4%BD%BF%E7%94%A8.php 参考文档:https://www.php.net/manual/zh/language.oop5.traits.php
Google Charts API Code 页面有对这个 API 使用的详细说明,但是还略显繁琐。...今天发现有人开发了一个这个方面的 PHP 类,并且还包括三个例子,我就挑选一个例子结合自己的一个项目给大家讲解下如何使用: <?...php include( 'GoogChart.class.php' ); // 导入 Google Chart API 类 $chart = new GoogChart(); //实例化一个...> 最后获取的图像是: PHP 类下载: Google Charts API PHP Class 实际应用查看:17 Fav Stats
今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识。...当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。...四、json_decode() 该函数用于将json文本转换为相应的PHP数据结构。...第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。...另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。
WEBHOOK是一种系统通知的形式,在达到特定条件时系统自动触发网络请求。 可以理解为服务端系统中的跨设备回调函数。 手头有很多个项目在同时运作维护,核心的框架也不断在升级和修复。...现在研究一下使用webhook来做到自动部署。目前的代码库托管在gitee码云。 注!...(强烈建议要使用鉴权) 如: https://domain.cn/hook.php 3- 编写服务端消息解析、文件部署的功能 <?...php因为安全原因会出现shell_exec被禁用的问题,解决的方案是在php.ini中取消禁用 注意 1 添加文件夹的写入权限 修改git文件的权限为 www:www 2 注意不要使用FTP上传覆盖库中文件...(冲突自救) 相关参考: php与Git下基于webhook的自动化部署 配置码云git自动更新的webhook
PHP-CS-Fixer 项目地址: https://github.com/FriendsOfPHP/PHP-CS-Fixer 用来自动格式化你的代码。...export PATH="$PATH:$HOME/.composer/vendor/bin" 更多请查看installation 使用fix命令 使用 fix 指令修复文件夹或文件的代码风格 php...php-cs-fixer.phar fix /path/to/dir php php-cs-fixer.phar fix /path/to/file 使用 --level 选项设置修复至的「规范」。...通过安装 Composer 安装 composer global require "squizlabs/php_codesniffer=*" 还可以使用PEAR pear install PHP_CodeSniffer...下载phar(PHP-CS-Fixer也可以使用此方法) curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar php phpcs.phar
不同的项目中,可能会使用不同的php版本,在使用 composer 安装依赖时,如何指定不同的php版本呢?...比如平时开发时,使用的是 php 7.0版本,但是在按照 Laravel最新版本(5.6) 时就跑不同了。因为在Laravel 5.6中, 最低要求版本是 PHP 7.1.3....7.2 在macOS系统中使用brew软件管理工具安装: $ brew search php72 $ brew install php72 // 将命令路径复制一份到环境变量目录里: $cp...$ wget https://getcomposer.org/download/1.6.5/composer.phar 下载好后,直接使用: 比如安装 “laravel/passport” 包:...$ php72 composer.phar install 在使用 php artisan 命令行时,也要使用 php72: $ php72 artisan
当你在因个人兴趣爱好而开发PHP程序时,面对可以达到你的目的却长达千行以上的js脚本,你有精力去用php重写它么?想用PHP模拟用户行为么?...但却遇到js泛滥的站点……一个不为人所知的php扩展项目可以满足这些需求,这个扩展的目的就是在php内解释javascript。.../configure make && make install 如果一切无误,js.so已经在你的php的lib目录 最后,修改你的php.ini,在相应的位置加入extension=js.so,并确认...如果一切无误的话,我们就可以开始使用这个功能了。 这里附上官方网站的使用说明: A simple ....(LD) -shared $(XMKSHLIBOPTS) 更改为 MKSHLIB = $(CC) -shared $(XMKSHLIBOPTS) ,make -f Makefile.ref clean后再次尝试编译
在根目录下创建一个temp文件夹,temp文件夹里面创建一个phpsid.txt文件. login.php get_sid.php set_sid.php 最后。...在根目录下创建一个temp文件夹,temp文件夹里面创建一个phpsid.txt文件. login.php 登录后浏览"; exit(); } ?> 解析: 当用户登录成功后,get_sid.php文件把session_id函数的值获取到一个文件中。...这样就可以在cookie失效的情况下,使用之前的session_id里面的值 当点击下一页时。cookie已经失效了。...这样就可以读取到之前文本的txt文件里面的值.并赋值给session_id函数(防止在创建一个session_id出来)。这样就可以使用同一个session进行操作啦 最后。
总会有这样或者那样的原因导致站长们使用CDN。比如说主机带宽较小、亦或者性能不足,被DDoS,被CC攻击等。但是Wordpress在使用CDN后会有一个问题:你在后台看到访客ip都是CDN的ip。...除了无法判断游客的地址这种无伤大雅的问题之外,如果有使用一些防止垃圾评论的插件之类的话,会导致误伤。可能会导致整个地区无法在博客上评论。所以我们需要对Wordpress做点“小手术”。...方法 在wp-config文件尾加入以下代码就可以了 //使用CDN后获取访客ip //使用CDN后获取访客ip if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16...近期有技术人员在EasyCVR开启演示默认,当其自动注销后,发现播放窗口还会存留在页面上,如下图:发现问题后,立即开展排查,发现视频播放弹框出现的原因是添加body所导致的,所以在检测到登录失效时路由跳转销毁就会播放弹窗...只需在组件中新增路由监听,当路由变化时,主动消销毁播放弹窗支持,该问题即可解决。
从 PHP 7.0 升级到 PHP 7.1 废弃了一个在过去普遍应用的扩展(mcrypt),但是微信官方提供的消息加密解密算法中的核心部分中确实使用 mcrypt 的,Prpcrypt class 的加密方法.../** * 对明文进行加密 * @param string $text 需要加密的明文 * @return string 加密后的密文 */ public function encrypt($text
在php7的mongodb扩展中,当要查询某个集合在某个条件下的数据个数时,可以使用下面的方式来获取。...比原生的命令要复杂许多 比旧版mongo扩展也复杂许多 需要使用到MongoDB\Driver\Command 这个类 //查询条件 $filter=[];
(英文) phpredis 中文手册 ——《redis中文手册》 php版 【phpredis 中文手册下载】 —— 链接:https://pan.baidu.com/s/1dHatAIP 密码:8izg...事实上,更多时候 Redis 是在数据库和代码中间作为一个中间件使用,如果你发现你目前的数据库出现瓶颈,那么你就可以通过 Redis 来优化 ♬ 代码使用 可以参考视频 —— 【php 操作 redis...②. rpoplpush 的使用场景 ? ③. Redis 在现实世界的 5 个用法 全页面缓存 排行榜 会话Session存储 队列 pub/sub 附录 ①....是否使用过Redis集群,集群的原理是什么? Redis Sentinal 着眼于高可用,在 master 宕机时会自动将 slave 提升为 master,继续提供服务。...Redis Cluster 着眼于扩展性,在单个 redis 内存不足时,使用 Cluster 进行分片存储 Redis 学习笔记(十三)Redis Sentinel 介绍与部署 Redis 学习笔记
在建站中,注入(Injection)一直都是一个值得考虑的安全问题,在OWASP(Open Web Application Security Project) TOP 10 中位列第一。...详见OWASP官网https://www.owasp.org/ 当然我们要考虑的不是怎么去注入,而是怎么去防止注入(此处以php+MySQL作例) 对参数进行安全化处理。...安装可以查看文档https://www.php.net/manual/zh/pdo.installation.php PDO同时也支持其他的数据库类型,这也极大的简化了php中原有的与数据库交互的形式...php header("Content-Type: text/html;charset:utf-8"); $host = 'localhost'; //数据库地址 $port = 3306; //...`占位的 $tmp->execute(array("北京大学")); echo $tmp->rowCount();//返回影响的行数 ×由于上边这个实例是使用LIKE查询,所以就需要先把
领取专属 10元无门槛券
手把手带您无忧上云