11 2019 档案

摘要:基本约定 源文件 代码使用<?php开头,忽略闭合标签?> 文件格式必须是无BOM UTF-8格式 一个文件只声明一种类型,如class和interface不能混写在一个源文件中 缩进 使用4个空格来缩进,IDE可以设置 行长度 每行120个字符 关键字 所有关键字均为小写,如true、false 阅读全文
posted @ 2019-11-30 17:01 八重樱 阅读(361) 评论(0) 推荐(0) 编辑
摘要:微信开发已经是现在phper必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单,这里我们一起来看一个微信自动登陆注册的例子. php 微信扫码 pc端自动登陆注册 用的接口scope 是snsapi_userinfo, 微信登陆一个是网页授权登陆,另一个是微信 阅读全文
posted @ 2019-11-30 16:11 八重樱 阅读(2222) 评论(0) 推荐(0) 编辑
摘要:Session的声明与使用 Session的设置不同于Cookie,必须先启动,在PHP中必须调用session_start()。session_start()函数的语法格式如下: Bool session_start(void) //创建Session, 开始一个会话,进行Session初始化 注 阅读全文
posted @ 2019-11-28 22:14 八重樱 阅读(854) 评论(0) 推荐(0) 编辑
摘要:1、如果一个方法能被静态,那就声明他为静态的,速度可提高1/4; 2、echo的效率高于print,因为echo没有返回值,print返回一个整型; 3、在循环之前设置循环的最大次数,而非在在循环中; 4、销毁变量去释放内存,特别是大的数组; 5、避免使用像__get, __set, __autol 阅读全文
posted @ 2019-11-28 17:12 八重樱 阅读(474) 评论(0) 推荐(0) 编辑
摘要:延迟队列,顾名思义它是一种带有延迟功能的消息队列。 那么,是在什么场景下我才需要这样的队列呢? 一、背景 先看看一下业务场景: 1.会员过期前3天发送召回通知 2.订单支付成功后,5分钟后检测下游环节是否都正常,比如用户购买会员后,各种会员状态是否都设置成功 3.如何定期检查处于退款状态的订单是否已 阅读全文
posted @ 2019-11-28 16:44 八重樱 阅读(3650) 评论(0) 推荐(2) 编辑
摘要:对于初入门的PHP新手来说,或许有一定的难度。建议大家先看看PHP中session的基础含义,需要的朋友可以选择参考。 下面我们就通过具体的代码示例,为大家详细的介绍PHP中session实现记录用户登录信息的具体方法。 1.简单的登录界面代码示例: login.html 1 <!DOCTYPE h 阅读全文
posted @ 2019-11-27 21:18 八重樱 阅读(1614) 评论(0) 推荐(0) 编辑
摘要:单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁; 例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几 阅读全文
posted @ 2019-11-27 21:14 八重樱 阅读(786) 评论(0) 推荐(0) 编辑
摘要:之前有人询问 self 关键字的用法,答案是比较明显的:静态成员函数内不能用 this 调用非成员函数,但可以用 self 调用静态成员函数/变量/常量;其他成员函数可以用 self 调用静态成员函数以及非静态成员函数。随着讨论的深入,发现 self 并没有那么简单。鉴于此,本文先对几个关键字做对比 阅读全文
posted @ 2019-11-26 22:29 八重樱 阅读(2520) 评论(0) 推荐(1) 编辑
摘要:1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作 阅读全文
posted @ 2019-11-26 22:21 八重樱 阅读(623) 评论(0) 推荐(0) 编辑
摘要:LaravelS LaravelS是一个胶水项目,用于快速集成Swoole到Laravel或Lumen,然后赋予它们更好的性能、更多可能性。Github 特性 内置Http/WebSocket服务器 多端口混合协议 协程 自定义进程 常驻内存 异步的事件监听 异步的任务队列 毫秒级定时任务 平滑Re 阅读全文
posted @ 2019-11-26 16:43 八重樱 阅读(1678) 评论(0) 推荐(0) 编辑
摘要:想要成为中高级phper, shell 脚本是需要掌握的,它有助于你在工作环境中自动完成很多任务。 如下是一些面试过程中,经常会遇到的 shell 脚本面试问题及解答: Q:1 Shell脚本是什么、它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需 阅读全文
posted @ 2019-11-26 14:32 八重樱 阅读(614) 评论(0) 推荐(0) 编辑
摘要:一、为什么需要规范? 无规矩不成方圆,编程也一样。 如果你有一个项目,从始至终都是自己写,那么你想怎么写都可以,没有人可以干预你。可是如果在团队协作中,大家都张扬个性,那么代码将会是一团糟,好好的项目就被糟践了。不管是开发还是日后维护,都将是灾难。 这时候,有人提出了何不统一标准,大家都按照这个标准 阅读全文
posted @ 2019-11-26 14:26 八重樱 阅读(404) 评论(0) 推荐(0) 编辑
摘要:为了以后能开发PHP扩展,就一定要了解PHP的执行顺序。这篇文章就是为C开发PHP扩展做铺垫。 Web环境我们假设为Apache。在编译PHP的时候,为了能够让Apache支持PHP,我们会生成一个mod_php5.so的模块。Apache加载这个模块,在url访问.php文件的时候,就会转给mod 阅读全文
posted @ 2019-11-25 21:44 八重樱 阅读(918) 评论(0) 推荐(0) 编辑
摘要:别再到处搜PHP类扩展包了,对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少: 依赖处理容易出问题 配置非常复杂 难用的命令行接口 好在我们有 Composer 阅读全文
posted @ 2019-11-25 21:03 八重樱 阅读(654) 评论(0) 推荐(1) 编辑
摘要:一:前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 二:缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流 阅读全文
posted @ 2019-11-25 20:39 八重樱 阅读(381) 评论(0) 推荐(1) 编辑
摘要:随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二维码,并且结合 Swoole 的 WebSocket 服务实现 阅读全文
posted @ 2019-11-23 17:05 八重樱 阅读(404) 评论(0) 推荐(0) 编辑
摘要:前后端分离的项目,使用 Swoole+React 实现的聊天室,整个项目的框架结构可以进行参考,前端 react+react-redux+react-router+react-ant 等等,后台使用 easySwoole,自行实现中间件(数据封装,token 验证,签名验证), 认真看代码可以学到很 阅读全文
posted @ 2019-11-23 16:44 八重樱 阅读(790) 评论(0) 推荐(0) 编辑
摘要:近来有个需求:想实现一个可以主动触发消息推送的功能,这个可以实现向模板消息那个,给予所有成员发送自定义消息,而不需要通过客户端发送消息,服务端上message中监听传送的消息进行做相对于的业务逻辑。 主动消息推送实现平常我们采用 swoole 来写 WebSocket 服务可能最多的用到的是open 阅读全文
posted @ 2019-11-23 13:54 八重樱 阅读(5124) 评论(2) 推荐(3) 编辑
摘要:错误与异常 错误,可以理解程序本身的错误,例如语法错误。而异常则更偏向于程序运行不符合预期或者不符合正常流程;对于 PHP 语言而言,处理错误和处理异常使用的机制完全不同,因此很容易让人产生困惑。 例如,我们希望通过捕获异常来处理除数为 0 的情况,但是在捕获到异常之前,PHP 就触发了错误。 1 阅读全文
posted @ 2019-11-22 22:04 八重樱 阅读(1811) 评论(0) 推荐(0) 编辑
摘要:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis支持的数据类型有 Stirng(字符串), List(列表), Hash(字典), Set(集合), Sorted Set(有序集合); 要让php能 阅读全文
posted @ 2019-11-22 15:44 八重樱 阅读(3413) 评论(1) 推荐(0) 编辑
摘要:数组 (Array) 数组是 PHP 中最重要的数据类型,可以说是掌握数组,基本上 PHP 一大半问题都可以解决. PHP 数组与其他编程语言数组概念不一样。其他编程语言数组是由相同类型的元素(element)的集合所组成的数据结构,而 PHP 数组元素可以为不同类型的元素。因此说 PHP 数组不是 阅读全文
posted @ 2019-11-21 20:58 八重樱 阅读(319) 评论(0) 推荐(0) 编辑
摘要:本文实例讲述了php+redis实现注册、删除、编辑、分页、登录、关注等功能。分享给大家供大家参考,具体如下: 主要界面 ​ 连接redis redis.php 1 <?php 2 //实例化 3 $redis = new Redis(); 4 //连接服务器 5 $a=$redis->connec 阅读全文
posted @ 2019-11-21 20:47 八重樱 阅读(810) 评论(0) 推荐(0) 编辑
摘要:项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器。应用场景举例我们可能会遇到这样的场景: 场景一:每隔30秒获取一次本机内存使 阅读全文
posted @ 2019-11-21 14:47 八重樱 阅读(3820) 评论(1) 推荐(2) 编辑
摘要:由于PHP不支持多线程,但是作为一个完善的系统,有很多操作都是需要异步完成的。为了完成这些异步操作,我们做了一个基于Redis队列任务系统。 大家知道,一个消息队列处理系统主要分为两大部分:消费者和生产者。 在我们的系统中,主系统作为生产者,任务系统作为消费者。 具体的工作流程如下: 1、主系统将需 阅读全文
posted @ 2019-11-21 14:25 八重樱 阅读(2134) 评论(0) 推荐(0) 编辑
摘要:怎么开通企业付款到零钱? 有的商户号的产品中心是没有这个功能的,不过,该功能的pid(product id)是5,只要随便进去某一个产品,在地址栏把pid改为5。 即可进入该功能页面,进行开通,不过要满足条件。 用户提现代码: 1 //用户微信提现 2 private function withdr 阅读全文
posted @ 2019-11-20 21:34 八重樱 阅读(654) 评论(0) 推荐(0) 编辑
摘要:提现必须得用双向证书、所以大家一定要在微信的商户平台找到相应的地方去设置、因为做这个提现已经有一段时间了、所以设置微信商户平台的那几个地方没有图的情况、也说不清楚、下次再做提现的时候、给大家分享如何设置商户平台那几个地方、不是很难、下面贴代码 注意事项:商户打款时是从商户可用余额中减钱,所以确保商户 阅读全文
posted @ 2019-11-20 21:03 八重樱 阅读(2617) 评论(0) 推荐(0) 编辑
摘要:简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) 需要注意此功能是在redis 2.8版本以后推出的,因此你服务器上的reids最少要是2.8版本以上; (A)业务场景: 1、当一个业务触发以后需要启动一个定时任务,在指定时间内再去执行一个任务( 阅读全文
posted @ 2019-11-20 16:57 八重樱 阅读(2410) 评论(0) 推荐(0) 编辑
摘要:一、单选题(共27题,每题5分) 1若下列所用变量均已经正确定义,以下表达式中不合法的是? A、x>>3 B、+++j C、a=x>y?x:y D、x%=4 参考答案:B 答案解析: 运算符优先级口诀:单目算术位关系,逻辑三目后赋值。 单目:++、-- 算术:+、-、*、/、% 位:位移运算符:>、 阅读全文
posted @ 2019-11-20 15:43 八重樱 阅读(1370) 评论(1) 推荐(0) 编辑
摘要:一、单选题(共21题,每题5分) 1在正则表达式当中下面那一个字符集表示非空格字符 A、[:graph:] B、[:digit:] C、[:space:] D、[:alpha:] 参考答案:A 答案解析: A 2下列叙述中,错误的是( )。 A、 内部类可访问它所在类的成员 B、 内部类的名称与定义 阅读全文
posted @ 2019-11-20 15:11 八重樱 阅读(1566) 评论(0) 推荐(0) 编辑
摘要:一、单选题(共10题,每题5分) 1 关于设计模式遵循的原则,说法错误的是? A、组合优于继承 B、针对实现编程 C、对扩展开放,对修改关闭 D、降低对象之间的耦合 参考答案:B 答案解析: 设计模式(面向对象)有七大原则,分别是: 1.开放-封闭原则 2.单一职责原则 3.依赖倒转原则 4.迪米特 阅读全文
posted @ 2019-11-20 14:58 八重樱 阅读(1094) 评论(0) 推荐(0) 编辑
摘要:1. 数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?什么是数据库垂直拆分?水平拆分?分区等等 一:为什么要分表 当一张表的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。日 阅读全文
posted @ 2019-11-19 21:54 八重樱 阅读(1669) 评论(0) 推荐(0) 编辑
摘要:PHP-Casbin 是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。 Think-Casbin 是一个专为 ThinkPHP5.1 定制的 Casbin 的扩展包,使开发者更便捷的在 thinkphp 项目中使用 Casbin。 安装 创建 thinkphp 项目(如果 阅读全文
posted @ 2019-11-19 21:00 八重樱 阅读(1777) 评论(0) 推荐(1) 编辑
摘要:队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作;而在表的后端,可以称之为rear进行插入操作。队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处在于:队列是遵循“先进先出”原则,而堆栈遵循的是“先进后出”原则。队列进行插入操作的端称为队尾,进行删除操作的称为队头 阅读全文
posted @ 2019-11-19 16:53 八重樱 阅读(823) 评论(0) 推荐(0) 编辑
摘要:一旦用户(浏览器)发送了一个HTTP请求,我们的apache或者nginx一般都转到index.php,因此,之后的一系列步骤都是从index.php开始的,我们先来看一看这个文件代码。 <?php require __DIR__.'/../bootstrap/autoload.php'; $app 阅读全文
posted @ 2019-11-19 16:26 八重樱 阅读(423) 评论(0) 推荐(0) 编辑
摘要:QueryList 是什么 QueryList是一套用于内容采集的PHP工具,它使用更加现代化的开发思想,语法简洁、优雅,可扩展性强。相比传统的使用晦涩的正则表达式来做采集,QueryList使用了更加强大而优雅的CSS选择器来做采集,大大降低了PHP做采集的门槛,同时也让采集代码易读易维护,让你从 阅读全文
posted @ 2019-11-19 14:52 八重樱 阅读(1122) 评论(0) 推荐(0) 编辑
摘要:三连问 经常有社区的同学问: “我的PHP程序有没有阻塞,我的PHP程序有没有开启协程(对自己写好的代码表示不自信),我的PHP程序有没有问题”.然后贴出了自己的程序,然后进入了愉快的灌水环节,随着时间的流逝,我们并没有形成系统的解决方法.求人不如求己,我们自己来解决这些问题. 方法论 最近接触到一 阅读全文
posted @ 2019-11-19 14:19 八重樱 阅读(677) 评论(0) 推荐(0) 编辑
摘要:一、内存管理机制 先看一段代码: 1 <?php 2 //内存管理机制 3 var_dump(memory_get_usage());//获取内存方法,加上true返回实际内存,不加则返回表现内存 4 $a = "laruence"; 5 var_dump(memory_get_usage()); 阅读全文
posted @ 2019-11-18 22:10 八重樱 阅读(529) 评论(0) 推荐(1) 编辑
摘要:根据不同的权限,在菜单栏显示不同的功能,只对菜单进行了限制,若对路由也进行限制,可以根据菜单的例子,请自行完善,开发。下面请认真学习一下laravel的RBAC设计 1、建表(用户表、角色表、权限表、用户角色表、角色权限表) 1 CREATE TABLE IF NOT EXISTS mr_role 阅读全文
posted @ 2019-11-18 22:02 八重樱 阅读(2147) 评论(0) 推荐(0) 编辑
摘要:微信支付企业付款到零钱功能应用广泛,比如微信红包奖励,业务结算等。通过企业向个人付款,付款资金将直接进入用户微信零钱。 一 开通条件 ​ 付款资金 企业付款到零钱资金使用商户号余额资金。 根据商户号的账户开通情况,实际出款账户有做区别: ◆ 默认情况下,企业付款到零钱使用商户号基本户(或余额账户)余 阅读全文
posted @ 2019-11-18 22:00 八重樱 阅读(2068) 评论(0) 推荐(0) 编辑
摘要:设计模式六大原则 开放封闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象. 依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 单一职责原则:不要存在多于一个导致类变更的 阅读全文
posted @ 2019-11-18 16:24 八重樱 阅读(1587) 评论(0) 推荐(0) 编辑
摘要:众所周知,Laravel 控制反转 (IoC) / 依赖注入 (DI) 的功能非常强大。遗憾的是, 官方文档 并没有详细讲解它的所有功能,所以我决定自己实践一下,并整理成文。下面的代码是基于 Laravel 5.4.26 的,其他版本可能会有所不同。 了解依赖注入 我在这里不会详细讲解依赖注入/控制 阅读全文
posted @ 2019-11-16 21:30 八重樱 阅读(940) 评论(0) 推荐(0) 编辑
摘要:什么是系统服务?系统服务是对于程序要用到的类在使用前先进行类的标识的绑定,以便容器能够对其进行解析(通过服务类的 register 方法),还有就是初始化一些参数、注册路由等(不限于这些操作,主要是看一个类在使用之前的需要,进行一些配置,使用的是服务类的 boot 方法)。以下面要介绍到的 Mode 阅读全文
posted @ 2019-11-16 16:25 八重樱 阅读(5212) 评论(0) 推荐(0) 编辑
摘要:内存 默认设置 memory_limit = 128M 单个进程可使用的内存最大值,这个值的设定可以从以下几点考虑: 应用的类型。如果是内存集中型应用,可增加该值; 单个 PHP 进程平均消耗的内存,该值可通过多次运行同一个脚本来计算平均值; 能负担多少个 php-fpm 进程;该值等于分配的总内存 阅读全文
posted @ 2019-11-16 15:46 八重樱 阅读(1738) 评论(0) 推荐(2) 编辑
摘要:短闭包,也叫做箭头函数,是一种用 php 编写的短函数。当向函数中传递闭包时,这个功能是非常有用的,比如使用 array_map 或是 array_filter 函数时. 译者注:PHP7.4 计划于今年底发布,请见 Wiki:PHP 基础信息:发行计划 这就是它们看起来的样子: 1 // Post 阅读全文
posted @ 2019-11-15 21:03 八重樱 阅读(2107) 评论(0) 推荐(0) 编辑
摘要:深入理解预定义接口 场景:平常工作中写的都是业务模块,很少会去实现这样的接口,但是在框架里面用的倒是很多。 1. Traversable(遍历)接口 该接口不能被类直接实现,如果直接写了一个普通类实现了该遍历接口,是会直接报致命的错误,提示使用 Iterator(迭代器接口)或者 IteratorA 阅读全文
posted @ 2019-11-15 16:29 八重樱 阅读(500) 评论(0) 推荐(1) 编辑
摘要:PHP-FPM 介绍 CGI 协议与 FastCGI 协议 每种动态语言( PHP,Python 等)的代码文件需要通过对应的解析器才能被服务器识别,而 CGI 协议就是用来使解释器与服务器可以互相通信。PHP 文件在服务器上的解析需要用到 PHP 解释器,再加上对应的 CGI 协议,从而使服务器可 阅读全文
posted @ 2019-11-15 15:43 八重樱 阅读(501) 评论(0) 推荐(0) 编辑
摘要:简介: 通过 PHP 扩展, 我们可以在 php 代码中使用一些特定的方法(大部分的 php 扩展都是用 C 写的)。 比如,在 PHP 中需要与 SQLite3 交互,我们可以自己写方法与之进行连接,再写 SQL 语句请求数据。然而,这都是些既琐碎又重复度相当高的工作,因此,所有开发者对插件的需求 阅读全文
posted @ 2019-11-15 14:32 八重樱 阅读(522) 评论(0) 推荐(0) 编辑
摘要:命名规范 1.库名、表名、字段名必须使用小写字母,并采用下划线分割。 a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为 0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,但以小写比较。 b)如 阅读全文
posted @ 2019-11-15 13:49 八重樱 阅读(333) 评论(0) 推荐(0) 编辑
摘要:准备工作 首先查询了相关的类库,有FPDF,zendPDF,TcPDF等等。首先看了下先选择了FPDF,可以说除了中文字符以外没有什么问题,中文乱码而且看了下最新版本没有很好的解决方案,所以只能放弃。后来就专门找支持中文的发现了TcPDF,开始也是中文字体支持不是很好,但是发现了有人做了中文的语言包 阅读全文
posted @ 2019-11-15 13:37 八重樱 阅读(862) 评论(0) 推荐(0) 编辑
摘要:攻击者通过构造恶意SQL命令发送到数据库,如果程序未对用户输入的 SQL命令执行判断过滤,那么生成的SQL语句可能会绕过安全性检查,插入其他用于修改后端数据库的语句,并可能执行系统命令,从而对系统造成危害 例如删除 id 为 1 的帖子,sql 如下: 1 $post_id = $_POST['po 阅读全文
posted @ 2019-11-14 21:21 八重樱 阅读(705) 评论(0) 推荐(0) 编辑
摘要:只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 面试题剖析 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请 阅读全文
posted @ 2019-11-14 17:11 八重樱 阅读(1115) 评论(0) 推荐(0) 编辑
摘要:事实上,PHP 作为一门编程语言存在的问题之一,就是你只能使用单继承。这意味着一个类只能从另一个类中继承。例如,可能希望从几个不同的类继承方法,以防止代码重复。在 PHP 5.4 中 一个新的语言特性被添加进来,这就是众所周知的 Traits,它在 Laravel 框架中被广泛使用。 PHP 官方网 阅读全文
posted @ 2019-11-14 16:16 八重樱 阅读(609) 评论(1) 推荐(0) 编辑
摘要:Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比RBAC更方便 。 RBAC是按节点进行认证的,如果要控制比节点更细的权限就有点困难了,比如页面上面的操作按钮, 我想判断用户权限来显示这个按钮, 如果没有权限就不会显示这个按钮; 再比如 阅读全文
posted @ 2019-11-14 16:05 八重樱 阅读(1006) 评论(1) 推荐(1) 编辑
摘要:出于一些原因近期做了一次工作变动,在职交接近一个半月时间大概面试了十五家公司,并且得到了自己比较满意的offer,最后基本上无缝衔接了新工作。总体来说,虽然准备的很充分,但面试期间还是暴露了许多问题,所以做下总结,供大家和自己以后参考,主要分四部分讲述: 简历方面,格式内容包括七个板块,个人简介,求 阅读全文
posted @ 2019-11-14 16:01 八重樱 阅读(3957) 评论(0) 推荐(2) 编辑
摘要:在网站开发过程中我们会经常用到签到功能来奖励用户积分,或者做一些其他活动。这次项目开发过程中做了日历签到,因为没有经验所有走了很多弯路,再次记录过程和步骤。 1.日历签到样式:使用的是calendar日历插件 前台代码 1 <!doctype html> 2 <html> 3 <head> 4 <m 阅读全文
posted @ 2019-11-14 15:04 八重樱 阅读(1414) 评论(0) 推荐(0) 编辑
摘要:PHP 中的 Exception, Error, Throwable PHP 中将代码自身异常(一般是环境或者语法非法所致)称作错误 Error,将运行中出现的逻辑错误称为异常 Exception 错误是没法通过代码处理的,而异常则可以通过 try/catch 来处理 PHP7 中出现了 Throw 阅读全文
posted @ 2019-11-14 14:52 八重樱 阅读(2865) 评论(0) 推荐(0) 编辑
摘要:1、冒泡排序 在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 1 // 升序 2 $arr=[1,43,54,62,21,66,32,78,36,76,39]; 阅读全文
posted @ 2019-11-12 22:27 八重樱 阅读(4992) 评论(0) 推荐(0) 编辑
摘要:提出 在匿名函数出现之前,所有的函数都需要先命名才能使用 1 function increment($value) 2 { 3 return $value + 1; 4 } 5 6 array_map('increment', [1, 2, 3]); 有的时候函数可能只需要使用一次,这时候使用匿名函 阅读全文
posted @ 2019-11-12 20:23 八重樱 阅读(539) 评论(0) 推荐(0) 编辑
摘要:提出 在命名空间提出之前,不同的组件很容易碰到命名的冲突,例如 Request 、Response 等常见的命名。PHP 在 5.3 后提出了命名空间用来解决组件之间的命名冲突问题,主要参考了文件系统的设计: 同一个目录下不允许有相同的文件名 - 同一个命名空间下不允许有相同的类; 不同的目录可以有 阅读全文
posted @ 2019-11-12 20:12 八重樱 阅读(176) 评论(0) 推荐(0) 编辑
摘要:1.get,post 的区别 **显示有区别 ** get方法是将字符串拼接在地址栏后面可以看见 而post方法看不见 **传递的大小有区别 ** 具体大小和浏览器有关系,ie浏览器是2k其他浏览器的最大值可能不同,但是也比较小。 而post方法传递参数的大小是可以设定的,原来是认为无限大。在Php 阅读全文
posted @ 2019-11-12 17:01 八重樱 阅读(1068) 评论(0) 推荐(1) 编辑
摘要:随着失业率越来越高,很多人意识到保全自己的工作是多么的重要。那么,什么是保住自己工作,并让自己无可替代的好方法呢?一个很简单的事实是只要你的代码没有人能够维护,那么你就成功保住了工作。编写不可维护的代码是一个特殊的技能,但奇怪的是,似乎对某些开发者来说是很自然的。不过对于剩下的开发者来说,这里有一些 阅读全文
posted @ 2019-11-11 21:27 八重樱 阅读(786) 评论(2) 推荐(0) 编辑
摘要:1 <?php 2 function divide($dividend, $divisor){ 3 return $dividend / $divisor; 4 } 5 echo divide(12, 4); 6 echo divide('sa', 'sd'); 这段代码乍一看没毛病,但是如果你向它 阅读全文
posted @ 2019-11-11 17:17 八重樱 阅读(340) 评论(0) 推荐(0) 编辑
摘要:PHP语言是一个短生命周期的Web编程语言,很多PHPer已经形成了fpm下编程的思维定势。实际上在Swoole出现之后,这种串行化编程的模式早已被打破。使用Swoole完全可以轻易实现更灵活的并发编程。 场景介绍假设我们要做一个石头剪刀布的Web游戏,3个玩家同时提交竞猜后显示胜者。在传统串行化W 阅读全文
posted @ 2019-11-11 17:07 八重樱 阅读(1744) 评论(0) 推荐(0) 编辑
摘要:连接失效问题例子其中,Redis常见的报错就是: 配置项:timeout报错信息:Error while reading line from the serverRedis可以配置如果客户端经过多少秒还不给Redis服务器发送数据,那么就会把连接close掉。 MySQL常见的报错: 配置项:wai 阅读全文
posted @ 2019-11-11 16:42 八重樱 阅读(2577) 评论(0) 推荐(0) 编辑
摘要:为什么要这样做? 默认情况下,Redis 服务会提供 16 个数据库,Laravel 使用数据库 0 (请见 Redis 文档)作为缓存和 Session 的存储。 在执行命令 php artisan cache:clear 清除缓存时,会把 Session 也连带清除了,可以通过以下设置来避免这个 阅读全文
posted @ 2019-11-11 16:00 八重樱 阅读(1345) 评论(0) 推荐(0) 编辑
摘要:PSR是PHP Standards Recommendation的简称,意为PHP推荐标准。要想了解PSR,首先得知道制定这一标准的人/组织是谁————PHP-FIG。 PHP-FIG PHP-FIG全称为PHP Framework Interop Group,是一个组织,这个组织的成员由一些PHP 阅读全文
posted @ 2019-11-10 22:25 八重樱 阅读(448) 评论(1) 推荐(1) 编辑
摘要:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 阅读全文
posted @ 2019-11-10 22:09 八重樱 阅读(585) 评论(0) 推荐(0) 编辑
摘要:在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。 设置过期时间 expire key time(以秒为单位) 这是最常用的方式setex(String key, int second 阅读全文
posted @ 2019-11-10 21:33 八重樱 阅读(1468) 评论(0) 推荐(0) 编辑
摘要:你可能想创建一个在应用的任何地方都可以访问的函数,这个教程将帮你实现 👏 很多教程都会说,你在 composer.json 这个文件中通过添加一个自动加载的文件,就可以实现这个需求。但我认为这不是一个好的方式,当你在 helpers.php 文件中添加了更多的函数时,可读性将变得很差。 下面我将介 阅读全文
posted @ 2019-11-10 21:24 八重樱 阅读(413) 评论(0) 推荐(0) 编辑
摘要:当创建队列jobs、监听器或订阅服务器以推送到队列中时,您可能会开始认为,一旦分派,队列工作器决定如何处理您的逻辑就完全由您自己决定了。 嗯……并不是说你不能从作业内部与队列工作器交互,但是通常情况下,哪怕你做了,也是没必要的。 这个神奇的骚操作的出现是因为“InteractsWithQueue”这 阅读全文
posted @ 2019-11-10 21:12 八重樱 阅读(2604) 评论(0) 推荐(0) 编辑
摘要:环境:MacOS 10.13 MAMAP Prophp 7.0.33 + xdebugVisual Studio Code前言我所理解的 POP Chain:利用魔术方法并巧妙构造特殊属性调用一系列函数或类方法以执行某种敏感操作的调用堆栈反序列化常用魔法函数前言我所理解的 POP Chain:利用魔 阅读全文
posted @ 2019-11-10 20:42 八重樱 阅读(704) 评论(0) 推荐(0) 编辑
摘要:今天,我的任务是,在 Laravel 应用程序用户个人资料页面上,用户名旁边添加一个绿点,表示他们是否在线。我首先想到的是,我们将需要启动一个 node.js 服务器并跟踪每个用户的活动套接字连接。然后用当前登录的用户套接字,我们可以实时更新在线状态!唯一的问题是,这是我们目前的要求,有点超过顶部, 阅读全文
posted @ 2019-11-07 21:17 八重樱 阅读(516) 评论(0) 推荐(0) 编辑
摘要:Laravel 发布了 v6.2 版本,它添加了一个新的密码确认功能,该功能使你可以要求已登录的用户重新输入密码,然后才能访问路由。 在你执行敏感操作的时候,这个功能就类似GitHub确认对话框。在 Laravel 中你可以轻松的设置它,所以让我们来试用一下新功能,以便你可以更好的了解它的工作原理: 阅读全文
posted @ 2019-11-07 21:04 八重樱 阅读(667) 评论(0) 推荐(0) 编辑
摘要:我最近在 Laravel Brasil 社区看到一个问题,结果比看起来更有趣。想象一下你有一个 UsersResource 用下面的实现: 1 <?php 2 namespace App\Http\Resources; 3 use Illuminate\Http\Resources\Json\Res 阅读全文
posted @ 2019-11-07 20:39 八重樱 阅读(1003) 评论(0) 推荐(0) 编辑
摘要:thinkphp5配合datatable插件分页后端处理程序第一版DataTable.php v.1.0 1 <?php 2 use think\Db; 3 /** 4 * DataTable.php. 5 */ 6 /** 7 * datatable结合thinkphp5使用的分页后台处理程序. 阅读全文
posted @ 2019-11-07 14:43 八重樱 阅读(446) 评论(0) 推荐(0) 编辑
摘要:首先我们用go-micro构建一个服务。(关于go-micro的使用可以参照官方实例或者文档) //新建一个微服务 micro new --type "srv" user-srv 定义我们的服务,这里定义两个rpc服务,Register和User 1 // 修改proto 2 syntax = "p 阅读全文
posted @ 2019-11-07 14:13 八重樱 阅读(2544) 评论(1) 推荐(1) 编辑
摘要:Laravel作为最受欢迎的php web框架一直广受广大互联网公司的喜爱。 笔者也参与过一些由laravel开发的项目。虽然laravel的性能广受诟病但是业界也有一些比较好的解决方案,比如堆机器,比如使用swoole进行加速。 一个项目立项到开发上线,随着时间和需求的不断激增,会越来越复杂,变成 阅读全文
posted @ 2019-11-07 13:58 八重樱 阅读(6195) 评论(1) 推荐(1) 编辑
摘要:分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? Cache Aside Pattern 最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。读的 阅读全文
posted @ 2019-11-06 21:06 八重樱 阅读(657) 评论(0) 推荐(0) 编辑
摘要:tcp 服务端简单demo与client . 1 <?php 2 /** 3 * author : rookiejin <mrjnamei@gmail.com> 4 * createTime : 2018/1/4 10:26 5 * description: tcp.php - swoole-dem 阅读全文
posted @ 2019-11-06 16:43 八重樱 阅读(1294) 评论(0) 推荐(0) 编辑
摘要:0x01 起步 PHP-X本身基于C++11开发,使用cmake进行编译配置。首先,你需要确定所有依赖项已安装好。包括: gcc-4.8 或更高版本 PHP7.0 或更高版本,需要php7-dev 开发包 cmake-2.8 或更高版本 然后安装PHP-X。 git clone https://gi 阅读全文
posted @ 2019-11-06 16:26 八重樱 阅读(881) 评论(0) 推荐(0) 编辑
摘要:1、什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。 2、主从同步有什么好处? 水平扩展数据库的负载能力。 容错,高可用。Failover(失败切换)/High Availability 数据备份。 3、主从同步的原理是什么? 首先我们来 阅读全文
posted @ 2019-11-06 14:54 八重樱 阅读(939) 评论(0) 推荐(0) 编辑
摘要:1、给你四个坐标点,判断它们能不能组成一个矩形,如判断 ([0,0],[0,1],[1,1],[1,0]) 能组成一个矩形。勾股定理,矩形是对角线相等的四边形。只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。 2、写一段代码判断单向链 阅读全文
posted @ 2019-11-06 14:16 八重樱 阅读(8460) 评论(0) 推荐(0) 编辑
摘要:假如说我有这样一个表,我想往这个表里面插入大量数据 1 CREATE TABLE IF NOT EXISTS `user_info` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键', 3 `name` varchar(255) NOT 阅读全文
posted @ 2019-11-05 20:39 八重樱 阅读(4318) 评论(0) 推荐(0) 编辑
摘要:从根本上说,依赖注入不是让对象创建一个依赖关系,也不是让工厂对象去创建对象,而是将所需的依赖变成一个外部对象,使之成为一个"某些人的问题” 你为"某些人的问题”注入了类的依赖关系。在Laravel中,这个"某人”是 服务容器 。在Laravel中,服务容器负责通过构造函数注入类的依赖关系。 任何时候 阅读全文
posted @ 2019-11-05 19:43 八重樱 阅读(420) 评论(0) 推荐(0) 编辑
摘要:本文假设你已经有了 Linux 操作系统的 PHP 环境,强烈推荐使用 Vagrant 来搭建开发环境安装 Swoole PECL 拓展可以通过 pecl 命令或者通过源码包编译安装,本文采用 pecl 命令来安装 Swoole在命令行输入 $ > pecl install swoole 安装 Sw 阅读全文
posted @ 2019-11-05 16:24 八重樱 阅读(2692) 评论(0) 推荐(0) 编辑
摘要:ThinkPHP使用Swoole需要安装 think-swoole Composer包,前提系统已经安装好了Swoole PECL 拓展* tp5的项目根目录下执行composer命令安装think-swoole: composer require topthink/think-swoole 话不多 阅读全文
posted @ 2019-11-04 20:09 八重樱 阅读(3820) 评论(0) 推荐(0) 编辑
摘要:在过去的两三年里,我一直在研究同时使用 Vue 和 Laravel 的项目,在每个项目开发的开始阶段,我必须问自己 “我将如何将数据从 Laravel 传递到 Vue ?”。这适用于 Vue 前端组件与Blade模板紧密耦合的两个应用程序,以及运行完全独立于 Laravel 后端的单页应用程序。 这 阅读全文
posted @ 2019-11-04 15:22 八重樱 阅读(1701) 评论(0) 推荐(0) 编辑
摘要:一、开发环境的搭建 (1)apache+php+mysql环境搭建 因为要用apache来做服务器,mysql作为数据库来存储数据,php来写代码以此实现网页与数据库的交互数据,所以需要下载上述软件,但上述软件的安装环境、配置很麻烦,所以在这里用了一个功能强大的建站集成软件包 XAMPP 当然,也有 阅读全文
posted @ 2019-11-04 15:08 八重樱 阅读(10170) 评论(1) 推荐(0) 编辑
摘要:简介: 容器(container)技术(可以理解为全局的工厂方法), 已经是现代项目的标配. 基于容器, 可以进一步实现控制反转, 依赖注入. Laravel 的巨大成功就是构建在它非常强大的IoC容器 illuminate/container 基础上的. 而 PSR-11 定义了标准的 conta 阅读全文
posted @ 2019-11-02 15:01 八重樱 阅读(635) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示