201911-30 yii2项目实战 图片上传之webuploader的使用 yii2项目实战图片上传之webuploader的使用图片上传几乎是应用必备,前面也针对kartik的fileinput做了一篇详细的说明,不过很多人反馈各种问题,下面针对webuploader的使用单独写了一个组件。该组件可以更好的处理Yii2在图片上传过程中带来的一系列问题,目前支持多图多字段的混合上传。介绍之前我们先演示下效果。安装推荐使用composer进行安装$phpcomposer.pharrequirebailangzhan/yii2-webuploaderdev-master使用p... 继续阅读 >
201911-30 laravel中如何正确在ORM里表达OR关键字 laravel中如何正确在ORM里表达OR关键字在使用laravel开发过程中,开发者经常会遇到如下的SQL,在laravel中如何正确表达类似这样的SQL:SELECT*FROM`medias`WHERE(`prov_id`=410000OR`city_id`=410102)AND(`scence_id`=101OR`parent_id`=10);很多laravel开发者可能会选择whereRaw()这样的方法把原生SQL包裹起来简单省事:Media::whereRaw('(`prov_id`=410000OR`city_id`=410102)AND(`scence_id`=101O... 继续阅读 >
201911-29 Yii2中常用的behavior类的使用讲解 常用类1:AccessControlpublicfunctionbehaviors(){return['access'=>['class'=>AccessControl::className(),'denyCallback'=>function($rule,$action){thrownew\Exception('您无权访问该页面');},'rules'=>[['actions'=>['index','list'],... 继续阅读 >
201911-29 swoole task 踩坑及优化 如果有仔细看过 swoole task 的文档的话,应该都会注意到这句话 task 操作的次数必须小于onTask处理速度,如果投递容量超过处理能力,task会塞满缓存区,导致worker进程发生阻塞。worker进程将无法接收新的请求 task 如果阻塞会引发 woker 进程阻塞,造成服务无法工作,引发问题。 继续阅读 >
201911-29 Laravel Entrust 权限管理扩展包的踩坑记录 Entrust是一个简洁而灵活的基于角色进行权限管理的Laravel扩展包。针对Laravel5,官方推荐的安装版本是5.2.x-dev。它的安装使用方法请查看EntrustGitHub主页:https://github.com/Zizaco/entrust。5.2.x-dev这个版本最后一次更新是2016年12月,距现在已经很久没有更新了。这里针对在使用过程中间遇到的一些问题进行记录。entrust:migration命令执行报错在对Entrust进行配置时就遇到了问题。执行entrust:migratio... 继续阅读 >
201911-28 swoole框架快速入门 下文为swoole框架快速入门一文内容,希望对大家有帮助。swoole有两个部分。一个是PHP扩展,用C开发的,这是核心。另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。swoole扩展本身提供了web服务器功能,可以替代php-fpm。而如果仅仅用swoole框架,可以像其它PHP框架一样,运行在nignx、apache等web服务器中。swoole框架像PHP框架一样,适用于web开发。而swoole扩展是提供了更底层的服务器通信机制,可以使用UDP、TCP等... 继续阅读 >
201911-28 Yii2.0框架模型添加/修改/删除数据操作示例 下面为Yii2.0框架模型添加/修改/删除数据操作示例,希望对读者有一定的帮助。Yii2.0框架模型添加$user=newUser();$user->name='zhang';$user->age=28;$data=$user->save();//添加数据$data=$user->insert();//添加数据$id=$user->attributes['id'];//获取当前添加数据后的自增idYii2.0框架模型修改$user=$User::findOne(1);$user->name='zhang';$data=$user->update();//修改$data=$user->save();//修改/... 继续阅读 >
201911-28 laravel 多个项目如何来共享SESSION 只讨论一个域下的项目。 eg: a.xxx.com 和 b.xxx.com 来共享session 如果多个laravel项目共享SESSION要满足以下条件: SESSION可以存放在一个地方,eg:共用一个reids 用户表为连接同一个数据库的用户表 需要在同一域下 继续阅读 >
201911-27 使用 Swoole 来加速你的 Laravel 应用 HOT Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTTP, WebSocket 服务, 而不需要拥有太多的非阻塞 I/O 编程和低级别的 Linux 内核知识。 你可以把 Swoole 想象成 NodeJS, 但对于 PHP 来说将有更高性能。 继续阅读 >
201911-27 一个极简的基于swoole常驻内存框架 HOT 在用过laravel框架,发现它的路由和数据库ORM确实非常好用,但是整体确实有点慢,执行到控制器大于需要耗时60ms左右。于是打算做一个拥有非常好用的路由和orm又非常简单的框架。所以你会发现one框的路由和ORM有laravel的影子。但也有一些自己的特色,例如ORM支持自动化缓存(自动化读、写、刷新)保持与数据库同步,对外使用无感知。one框架也支持在fpm下运行,在fpm下框架自身整体耗时在1ms左右。 继续阅读 >
201911-27 Laravel Eloquent分表方法并使用模型关联的实现 HOT 众所周知 Laravel 是 PHP 开发项目最优美的框架之一,尤其是 Eloquent 对数据库的操作提供了特别多的便利。 在实际开发中我们经常涉及到分库分表场景,那么怎样才能继续配合 Eloquent 优雅的使用 Model 模型呢,接下来给大家分享下我在实际开发中所遇到的问题。 继续阅读 >
201911-27 PHP的new static和new self的区别与使用 HOT static 则上面的基础上,更聪明一点点:static 会返回执行 new static() 的类,比如 Son 执行 get_class(Son::getStatic()) 返回的是 Son, Father 执行 get_class(Father::getStatic()) 返回的是 Father 而在没有继承的情况下,可以认为 new self 和 new static 是返回相同的结果。 继续阅读 >
201911-26 PHP抽象类与接口的区别详解 HOT 抽象类:是基于类来说,其本身就是类,只是一种特殊的类,不能直接实例,可以在类里定义方法,属性。类似于模版,规范后让子类实现详细功能。 接口:主要基于方法的规范,有点像抽象类里的抽象方法,只是其相对于抽象方法来说,更加独立。可让某个类通过组合多个方法来形成新的类。 继续阅读 >
201911-26 针对PHP开发安全问题的相关总结 HOT 对于互联网应用的开发,作为开发者必须时刻牢记安全观念,并在开发的代码中体现。PHP脚本语言对安全问题并不太关心,特别是对大多数没有经验的开发者来说。每当你做任何涉及到钱财事务等交易问题时,都要特别注意安全问题的考虑。 继续阅读 >
201911-26 详解PHP PDO简单教程 HOT 大约 80% 的 Web 应用程序由 PHP 提供支持。类似地,SQL 也是如此。PHP 5.5 版本之前,我们有用于访问 MySQL 数据库的 mysql_ 命令,但由于安全性不足,它们最终被弃用。 弃用这件事是发生在 2013 年的 PHP 5.5 上,我写这篇文章的时间是 2018 年,PHP 版本为 7.2。mysql_ 的弃用带来了访问数据库的两种主要方法:mysqli 和 PDO 库。 虽然 mysqli 库是官方指定的,但由于 mysqli 只能支持 mysql 数据库,而 PDO 可以支持 12 种不同类型的数据库驱动程序,因此 PDO 获得了更多的赞誉。此外,PDO 还有其它一些特性,使其成为大多数开发人员的更好选择。 继续阅读 >
201911-26 使用Git实现Laravel项目的自动化部署 HOT 在我们的开发过程中,我们不可避免的会用到版本控制。当然,这也致使你对 Git 和 SVN 有所了解。两者都是出色的版本控制工具,我个人比较习惯用 Git,当然这可能和个人习惯有关。不知道大家一开始是怎么使用 git 进行开发的,反正我个人是先将代码提交到 github 仓库,然后用 SSH 登录到服务器,然后进行克隆或者版本更新。 继续阅读 >
201911-25 laravel异步监控定时调度器实例详解 HOT aravel默认提供了一个命令定时任务的功能,在其他的php框架下面,没有这个定时任务,我们要跑一些异步脚本怎么操作呢,只能依赖我们系统提供的crontab来做,这就导致我们每次发版本新增定时任务都要去服务器更改crontab代码,获取更新这个配置。 继续阅读 >
201911-25 Laravel5.1框架注册中间件的三种场景详解 HOT 这篇文章主要介绍了Laravel5.1框架注册中间件的三种场景,结合实例形式详细分析了Laravel5.1框架控制器中的方法进行注册、给整个控制器进行注册以及给全局注册中间件三种应用场景,需要的朋友可以参考下 继续阅读 >
201911-25 Laravel 实现数据软删除功能 HOT 对于任何一个模型,如果需要使用软删除功能,需要在模型中使用 Illuminate\Database\Eloquent\SoftDeletes 这个 trait 。软删除功能需要实现的功能有以下几点: 1.模型执行删除操作,只标记删除,不执行真正的数据删除 2.查询的时候自动过滤已经标记为删除的数据 3.可以设置是否查询已删除的数据,可以设置只查询已删除的数据 4.已删除数据可以恢复 继续阅读 >
201911-23 laravel使用Faker数据填充的实现方法 HOT 做开发的时候,添加测试数据是必不可少的,laravel 内置了很方便的数据填充。 注意:laravel5框架中已经内置了faker组建,不用安装 继续阅读 >
201911-23 详谈PHP程序Laravel 5框架的优化技巧 HOT Laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,但在正式环境下要做好优化提升网站的打开速度 继续阅读 >
201911-23 php的扩展写法总结 HOT 为什么要用C扩展 C是静态编译的,执行效率比PHP代码高很多。同样的运算代码,使用C来开发,性能会比PHP要提升数百倍。IO操作如CURL,因为耗时主要在IOWait上,C扩展没有明显优势。 另外C扩展是在进程启动时加载的,PHP代码只能操作Request生命周期的数据,C扩展可操作的范围更广。 继续阅读 >
201911-23 Laravel推荐使用的十个辅助函数 HOT Laravel 包含各种全局辅助函数。 laravel 中包含大量辅助函数,您可以使用它们来简化开发工作流程。 在这里,我将编写 10 个最好的 laravel 帮助函数,用于使我的开发更容易。 您必须考虑在必要时使用它们。 继续阅读 >