201912-12 swoole框架基本总结 swoole框架基本总结 swoole有两个部分。 一个是PHP扩展,用C开发的,这是核心。 另一个是框架,像yii、TP、Laravel一样,是PHP代码写的。 swoole扩展本身提供了web服务器功能,可以替代php-fpm。 而如果仅仅用swoole框架,可以像其它PHP框架一样,运行在nignx、apache等web服务器中。 继续阅读 >
201912-12 laravel通过a标签从视图向控制器实现传值 laravel通过a标签从视图向控制器实现传值 小编就为大家分享一篇laravel通过a标签从视图向控制器实现传值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 继续阅读 >
201912-12 yii2-GridView在开发中常用的功能及技巧 yii2-GridView在开发中常用的功能及技巧 数据网格或者说 GridView 小部件是Yii中最强大的部件之一。 它有一个属性名叫 dataProvider ,这个属性能够提供一个数据提供者的示例并且可以显示所提供的数据,即使用 yii\grid\GridView::columns 属性的一组列配置,在一个表格中渲染每一行数据。 继续阅读 >
201912-11 laravel实现上传图片并在页面显示 今天小编就为大家分享一篇laravel实现上传图片并在页面显示的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 继续阅读 >
201912-11 yii2开发中19条推荐实践 做yii2开发的基石,除非没有办法使用,否则请不要放弃,除了更容易的安装yii2及第三方扩展外,能使用Composer代表着你的服务器最少能运行起来php-cli,那么你就可以使用yii命令行,它会为你的开发带来无尽的遍历。 对于composer,有些关键词你要特别关注 install、update、require。 继续阅读 >
201912-11 压测 swoole_websocket_server 性能 对 swoole_websocket_server 压测,使用 ab 命令是不能压测的,我从网上一直也没找到合适的方法,看官方提供的代码 benchmark/async.php 中,使用的异步模块 swoole\http\client 方法进行压测的,但在 Swoole 4.3 版本就移除了异步模块,让使用 Coroutine 协程模块。 在本地我用 Coroutine 协程实现了一下, 测的差不多的时候,一直不确定是否正确,就在 segmentfault 发了个提问,没想到韩老师回答了,'如果的如果'老师也回答了,非常感谢两位老师的答案,然后整理出文章分享给大家。 继续阅读 >
201912-11 PHP与Go语言之间的通信详解 HOT 最近工作中遇到的一个场景,php项目中需要使用一个第三方的功能,而恰好有一个用Golang写好的类库。那么问题就来了,要如何实现不同语言之间的通信呢?下面就来一起看看吧。 继续阅读 >
201912-11 从PHP基础到GO语言,结合Golang搭建网站 HOT 本系列文章,将会以编程开发中需求最大、应用最广的Web开发为例,一步一步的学习Go语言。当看完本系列,您能够清晰的了解Go语言Web开发的基本原理,您会惊叹于Go语言的简洁、高效和新鲜。 继续阅读 >
201912-10 Go 定时器内部实现原理剖析 HOT 本节,我们重点关注系统协程是如何管理这些定器的,包括以下问题: 定时器使用什么数据结构存储? 定时器如何触发事件? 定时器如何添加进系统协程? 定时器如何从系统协程中删除? 继续阅读 >
201912-10 详解GO语言,一文告诉你PHP程序员为什么要学习GO语言? HOT 很多人将GO语言称为21世纪的C语言,因为GO不仅拥有C的简洁和性能,而且还很好的提供了21世纪互联网环境下服务端开发的各种实用特性,让开发者在语言级别就可以方便的得到自己想要的东西。 继续阅读 >
201912-10 在laravel框架中使用model层的方法 在laravel框架中使用model层的方法 创建model:php artisan make:model privilegeModel(名字随便写,可以不加Model) 继续阅读 >
201912-10 Yii2 中关于模块(Modules)的使用及配置 Yii2中关于模块(Modules)的使用及配置什么是模块(如果你的需求是对模块或子模块进行独立配置,请查看文末!)在Yii2.x框架中,引入了模块(Modules)这个概念,那么什么是模块呢?模块是独立的软件单元,由模型,视图,控制器和其他支持组件组成, 终端用户可以访问在应用主体中已安装的模块的控制器,模块被当成小应用主体来看待,和应用主体不同的是,模块不能单独部署,必须属于某个应用主体。上面的描述是简单理解... 继续阅读 >
201912-09 Swoole MySQL 连接池的实现 本篇文章主要的功能点: 业务逻辑Order.php中返回MySQL数据库中的数据。 Task启用了协程 支持主/从数据库配置 实现数据库连接池 实现数据库CURD 继续阅读 >
201912-09 workerman结合laravel开发在线聊天应用的示例代码 workerman结合laravel开发在线聊天应用的示例代码项目背景:最近由于公司的业务需求,需要用到聊天功能。而且有比较多的个性化需求需要定制。之前使用别人的聊天组件是基于微擎的。如果要移植到普通的H5在逻辑修改还有定制上存在比较多的困难。为此只能克服困难,自己搭建一个吧什么是Workerman?Workerman是一款开源高性能异步PHPsocket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序... 继续阅读 >
201912-09 yii2常用路径获取 yii2常用路径获取publicfunctionactionGetUrlList(){echo"当前域名地址:".Yii::$app->request->hostInfo."<br>";echo"当前目录物理路径:".Yii::$app->basePath."<br>";echo"当前项目路径:".dirname(Yii::$app->BasePath)."<br>";echo"当前Url:".Yii::$app->request->url."<br>";echo"当前HomeUrl:".Yii::$app->homeUrl."<br>";echo"当前returnUrl:".Yii::$app->user->returnUrl."<br... 继续阅读 >
201912-07 浅谈laravel框架与thinkPHP框架的区别 浅谈laravel框架与thinkPHP框架的区别 小编就为大家分享一篇浅谈laravel框架与thinkPHP框架的区别,具有很好的参考价值,希望对大家有所这。一起跟随小编过来看看吧 主要区别:(thinkPHP更适合国人的编码习惯)1、渲染模版方式的不同:在Laravel框架里,使用returnview()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版;2、在Laravel框架里,由于其考虑到了跨站请求伪造,所以如果使用form表单以post方式进... 继续阅读 >
201912-07 Swoole RPC 的实现 SwooleRPC的实现文章实现了一个简单的RPC远程调用,在实现之前需要先了解什么是RPC,不清楚的可以看下之前发的这篇文章《我眼中的RPC》。下面的演示代码主要使用了Swoole的Task任务池,通过OnRequest/OnReceive获得信息交给Task去处理。举个工作中的例子吧,在电商系统中的两个模块,个人中心模块和订单管理模块,这两个模块是独立部署的,可能不在一个机房,可能不是一个域名,现在个人中心需要通过用户ID和... 继续阅读 >
201912-07 Yii2 捕获错误日志 Yii2捕获错误日志在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理Yii2web应用1配置如下 其中errorHandler就是错误处理配置,执行ErrorController的actionError'components'=>["urlManager"=>require(__DIR__.'/router.php'),'errorHandler'=>['errorAction'=>'error/error',],]2ErrorContrller代码示例<?phpnamespaceblog... 继续阅读 >
201912-06 laravel框架与其他框架的详细对比 laravel框架与其他框架的详细对比优点:1、代码比较明白易懂,跟英语句子差不多,关键词就是函数,举个例子,获取数据库中某个表的所有数据:$article=newArticle;$articles=$article->all();//这样就得到了articles表所有记录的所有字段;$count=$article->where('class_id','=',1)->count();//是不是一看就明白了意思?查找分类id为1的记录,并计算出个数。这样的例子太多,举例就举这两个。2、文档非常丰富,社区也是非... 继续阅读 >
201912-06 Yii2查询获取键值对 Yii2查询获取键值对使用Restfull接口,经常要用到键值对,常用的方法有两种。方法一:ArrayHelper$objs=Category::find()->limit(10)->all();$all=ArrayHelper::map($objs,'catid','catname');或纯SQL查询:$objs=Yii::$app->db->createCommand('SELECTcatname,catidFROM'.Category::tableName().'LIMIT10')->queryAll();$all=ArrayHelper::map($objs,'catid','catname');方法二:indexBy/c... 继续阅读 >
201912-06 Swoole整合成一个小框架 概述写了关于Swoole入门的5篇文章后,增加了不少的关注者,也得到了一些大佬的鼓励和建议,也有很多关注者都加了微信好友,交流之后发现一些朋友比我优秀还比我努力。发现持续写文章真的不是件容易的事,担心别人认为没价值,担心想法太幼稚或有漏洞被别人笑话,担心肚子里墨水太少,写不出来... 知道自己思路还不够清晰,逻辑还不够严谨,告诉自己没关系,一切都会好起来的,逆境才能成长嘛,敢写就是好的开始,以此来激... 继续阅读 >
201912-05 Laravel URL处理:获取当前URL的5种方法 LaravelURL处理:获取当前URL的5种方法1.使用Request类:$url=Request::getRequestUri();2.使用$request对象:publicfunctionshow(Request$request){$url=$request->url();}3.使用URL类:$url=URL::current();4.使用Input类$url=Input::url(); 继续阅读 >
201912-05 yii2 图片处理插件Imagine yii2图片处理插件ImagineuseImagine\Image\ManipulatorInterface;useyii\imagine\Image;publicfunctionactionPhoto(){//剪切Image::crop('./image/1.jpg',1000,1000,[500,500])->save('./image/1_crop.jpg');//旋转Image::frame('./image/1.jpg',5,'666',0)->rotate(-8)->save('./image/1_rotate.jpg',['quality'=>50]);//压缩Image::thumbnail('./i... 继续阅读 >