
php
wwena8
现为研一在读学生
展开
-
Yii2权限系统
模块下面增加行为类'class' =>\app\common\AuthToken::class, extend ActionFilterbeforeAction里面添加 action的类是yii\base\InlineAction$id = $action->getUniqueId();获取请求路由allowActions里面可以加* yii\web\user can函数 yii migrate --migrationPath=@yii/rbac/migration.原创 2021-03-13 22:00:22 · 252 阅读 · 2 评论 -
1 yii2 validate验证参数工作步骤:
通常为了节省服务器资源,需要在客户端提交参数时做相应的验证工作。比如必填参数、参数范围等。1 设置场景:类继承自model来设置const常量:const SCENARIO_ADD = 'add';2 设置场景对应的验证规则:public function rules(){ ['store_no', 'check_store_no', 'on' => [ self::SCENARIO_ADD, Stor.原创 2020-08-04 14:37:33 · 896 阅读 · 0 评论 -
PHP1-php垃圾回收机制
为了避免内存泄露,需要探究php垃圾回收机制。一 写时复制function cow(){ $a='仙士可'.time(); $b=$a; $c=$a;//这个时候内存占用相同,$b,$c都将指向$a的内存,无需额外占用 $b='仙士可1号';//这个时候$b的数据已经改变了,无法再引用$a的内存,所以需要额外给$b开拓内存空间 $a='仙士可2号';//$a的数据发生了变化,同样的,$c也无法引用$a了,需要给$a额外开拓内存空间 xde原创 2020-06-09 22:03:08 · 175 阅读 · 0 评论 -
php多进程ipc
php多进程ipc由于php没有多线程机制,在一些cpu密集型任务时,只能起多进程操作,于是要考虑进程间通信等场景。php已有方式包括:管道、消息队列、共享内存、socket,如下重点探究文件与共享内存<?phpconst SHM_VAR = 1;const M = 20000;const N = 100000;const NUM = 10;/** * 文件 */function pipe(){ // 申请锁资源 $sem_key = ftok( __F.原创 2020-05-19 20:31:28 · 259 阅读 · 0 评论 -
Php swoole协程揭秘
首先需要明白并发与并行的区别,并发是只多个任务在一段时间内交替执行,并行是多个任务可以在同一时刻同时执行。同一时刻可以执行的任务数取决于cpu的核数。sysctl -n machdep.cpu.core_count。接着讨论一个问题:cpu密集型与IO密集型Cpu密集型任务特点是要进行大量的计算,IO密集型网络、磁盘IO的任务都是IO密集型任务,任务的大部分时间是在等待io操作完成。CPU密集型计算20000到100000之间的质数单进程const M = 20000;const N.原创 2020-05-16 22:40:44 · 253 阅读 · 0 评论 -
Yii2模型-Model
Model是 MVC模式中的一部分, 是代表业务数据、规则和逻辑的对象。模型主要包括以下关键内容:属性:代表可像普通类属性或数组 一样被访问的业务数据;属性标签:指定属性显示出来的标签;场景:根据实际的业务请求设置验证规则,一个action下可以有一个场景,根据所在场景来进行相应的规则验证。接收方式:根据模型load的方式决定请求参数的请求格式验证v...原创 2019-11-06 17:59:06 · 738 阅读 · 0 评论 -
Yii2模块简介
Yii2中模块是软件的独立单元,由模型,视图,控制器和其他组件组成。模块必须从属与某个应用主体。1 模块声明通常在web.php文件中生成,声明方式如下:声明一个名为api的模块,同时在目录项下创建module文件,创建api文件,在api下创建controllers文件。在api下创建module.class文件,访问地址:ip:port/api/controller...原创 2019-11-06 16:05:25 · 258 阅读 · 0 评论 -
Call to a member function ** on null
Call to a member function ** on null,通常是因为** 方法的实体对象为空导致的,一般推荐使用get_class(对象名),来获取** 方法对象所对应的class类来反查对象的初始化情况。...原创 2019-10-29 20:35:38 · 5186 阅读 · 0 评论 -
Yii2行为
行为是yii\base\Behavior或其子类的实例, 可以无须改变类继承关系即可增强一个已有的组件类功能。所有组件类均可以使用行为。通常注册行为有以下方式:1 在组件类内部定义behaviors()函数,返回Behavior类数组,即可以是组件类对象访问行为内部所有公有属性或函数方法。public function behaviors(){ return [ ...原创 2019-10-29 00:00:08 · 159 阅读 · 0 评论 -
编译安装lnmp
很多PHP工程师没有做过编译安装的工作,经过一段探究,今天写个小博客。一 源码编译安装PHP1 下载PHP7.0源码包7.0.13tar.gz2 tar -zxvf 源码包3 切换到源码包目录执行:./configure --prefix=/usr/local/php/php-7.0 --with-config-file-path=/usr/local/php/php-7.0...原创 2019-10-17 00:35:34 · 227 阅读 · 0 评论