PhalApi

进阶篇:如何为ThinkPHP5编写优质的单元测试?

好久不见. 提交于 2019-12-05 10:06:57
前言 在项目开发中,需要使用到ThinkPHP 5,为了编写单元测试,解决了几个难题,特此纪录分享一下。 难点1:TP5自带的单元测试感觉不好用,如何使用纯粹的原生PHPUnit? 在看云上,有TP5官方关于单元测试的使用说明,链接是:https://www.kancloud.cn/manual/thinkphp5/182511 但上面的说明过于简单,对于实际使用帮助有限。 对于一直钟情于自动化单元测试以及PHPUnit原生单元测试的我,决定对此优化一番,引入并在ThinkPHP 5下使用原生PHPUnit。 第一步:准备工作 在tests目录下,创建一个phpunit目录,然后创建两个文件:测试启动文件bootstrap.php和单元测试的配置文件phpunit.xml。 测试启动文件bootstrap.php,可以参考项目的启动文件,复制过来后调整下,例如这样: <?php // 定义应用目录 define('APP_PATH', __DIR__ . '/../../application/'); define('APP_DEBUG', true); //开启调试模式 define("APP_STATUS", "tests"); //定义为本地环境 define("RUNTIME_PATH", __DIR__ . "/../../runtime/"); //定义缓存目录

phalapi-进阶篇2(DI依赖注入和单例模式)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-05 10:05:25
#phalapi-进阶篇2(DI依赖注入和单例模式)# ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 离上一次更新过去了快两周,在其中编写了一个关于DB分表分库解决大数据量的拓展,有兴趣的童鞋可以了解了解.废话不多说,本小节在于解释一下在PhalApi框架中两个比较好的思想,单例模式和依赖注入. 附上: 官网地址: http://www.phalapi.net/ 开源中国Git地址: http://git.oschina.net/dogstar/PhalApi/tree/release ##1. 单例模式## 单例模式对于长期进行过面向对象编程的童鞋应该不算陌生,在学习php的童鞋也应该有听过,这里简单的聊一聊单例模式到底是一个怎么样东西,解决了什么问题,并且在PhalApi中是如何实现的. 单例单例,所谓单例也就是有且只有一个存在,这就是单例,不难看出他的好处资源利用少因为只有一个,大家都是知道要使用一个类必须要实例他也就是new在每次new一个对象的时候都会在内存中生成一块区域来存放这个实例,如果在程序一次运行中使用了很多的new实例化了同一个对象,那就比较消耗资源了,但是如果是通用一个使用全局变量 global 程序又会显得不优雅而且会很乱,在这种情况下单例模式就产生了.

PhalApi-Image -- 图像处理

爷,独闯天下 提交于 2019-12-04 18:52:44
#PhalApi-Image -- 图像处理 ##前言 因为在工作中遇到了需要按照尺寸压缩上传图片,进过了一番寻找发现ThinkPhP图形处理能够满足大部分需求, 所以特地制作成拓展的方式提供出来希望,能给给为小伙伴排忧解难! 注:特别鸣谢@麦当苗儿 zuojiazi@vip.qq.com 附上: 官网地址: http://www.phalapi.net/ 开源中国Git地址: http://git.oschina.net/dogstar/PhalApi/tree/release 开源中国拓展Git地址: http://git.oschina.net/dogstar/PhalApi-Library ##1. 安装 配置方式非常简单只需要把拓展下载下来放入Library文件内即可,然后就可以使用如下方法进行实例 //初始化 $PhalApi_Image = new Image_Lite(IMAGE_GD, "图片地址"); //以上这句话也可以写成如下 默认使用GD库 $PhalApi_Image = new Image_Lite(); //打开图片 $PhalApi_Image->open('./1.jpg'); ##2.基础方法 $width = $PhalApi_Image->width(); // 返回图片的宽度 $height = $PhalApi_Image-

【精华】PhalApi 2.x 新版本发布流程(欢迎来开源)

断了今生、忘了曾经 提交于 2019-12-04 17:47:45
当前,2.x新版本发布的流程,主要如下。 重要的信息 PhalApi 2.x Kernal核心包(底层代码在这里): https://github.com/phalapi/kernal PhalApi 2.x 项目(直接可用于开发的项目): https://github.com/phalapi/phalapi 第1步、修改更新日志 文档展示页面: http://docs.phalapi.net/#/v2.0/changelog 对应编辑的代码位置在(码云): https://gitee.com/dogstar/phal ... og.md 第2步、对Kernal包进行版本升级 修改核心代码composer包,即Kernal包,Github项目地址: https://github.com/phalapi/kernal 发布前,需要修改新版本的版本号。修改源文件: https://github.com/phalapi/ker ... s.php 然后,把框架版本号PHALAPI_VERSION进行更新。 /** * 框架版本号 */ defined('PHALAPI_VERSION') || define('PHALAPI_VERSION', '2.4.2'); 最后,在Github项目创建一个新的版本发布: https://github.com/phalapi/kernal

phalapi-进阶篇3(自动加载和拦截器)

巧了我就是萌 提交于 2019-12-04 11:12:11
#phalapi-进阶篇3(自动加载和拦截器)# ##前言## 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 最近工作上事情比较多所以更新比较慢希望大家见谅!这一次带来的是对于此框架自动加载机制的一个小引导,简单的聊聊是如何实现此类机制的,了解之后要如何使用,在就一同探讨一下如何使用自动加载来构建自己的公用函数以及拦截器,和如何使用拦截器,在这里在此强调一下,在进阶篇中谈论思想会比较多大家可以慢慢消化很多地方都是此框架优秀的地方,拿出来分享是为了大家更好的了解框架并且可以运用到自己的代码中去! 附上: 官网地址: http://www.phalapi.net/ 开源中国Git地址: http://git.oschina.net/dogstar/PhalApi/tree/release ##1. 自动加载机制## 关于自动加载使用phalapi框架的大家已经特别熟悉了,三层结构自动加载请求调用大家基本上感觉不到自动加载机制的存在,其实我们早就已经注册我们的文件,只是有一套完整的机制来封装这类事务让我们摸不着,我们的接口文件就是在 index.php 已经注册了 //装载你的接口 DI()->loader->addDirs(array('Demo', 'Library')); 大家不妨进入到 addDirs 里面瞧瞧 public

专注于API的管理后台 ApiAdmin

ⅰ亾dé卋堺 提交于 2019-12-04 00:47:02
ApiAdmin 前端页面 ApiAdmin3.0是一个前后端完全分离的项目,前端采用Vue构建,如需要可视化配置的请移步: ApiAdmin-WEB 灵 感 首先自我介绍下吧,我是一个PHP程序员,目前就职于某上市集团。我第一份工作是做微信开发的,这也是我入行以来第一次做的商业上线项目,虽然我只是充当了其中一个不是太重要的角色,但是感谢它让我第一次接触了API,也让我第一次对于API产生了浓厚的兴趣。之后的一段时间内甚至疯狂的收集过各种免费的API接口!然而一直只是在用API,却没有为API贡献过些什么。 开源框架用了很多,开源代码看了很多,github、git@osc、Stack Overflow这些优秀的平台帮助了我很多,所以,我觉得是时候为开源做点什么。更是给开源项目PhalApi贡献过代码,也正是这一个契机使得我正式迈向开源社区。随着时间的推移,PhalApi的战绩赫赫,它的壮大更加坚定了Api的地位,既然未来的互联网世界中API占了很重要的地位,既然越来越多的人开始开发API,那么无状态的API如何去管理呢?因此 ApiAdmin 来了~ 愿 景 希望有人用它,希望更多的人用它。 希望它能帮助到你,希望它能帮助到更多的你。 项目简介 系统需求 PHP >= 5.6 MySQL >= 5.5.3 Redis 在线体验 项目地址: https://admin

[18张PPT] 助你创造价值!

岁酱吖の 提交于 2019-12-03 15:11:24
PhalApi开源框架官网: https://www.phalapi.net/ 助你创造价值! - PhalApi 2017年度开源总结 - 官方出品 关注人数约1.2K,PHP类排名第一;加入码云GVP,荣获开源中国奖杯! PhalApi 2.x 是全新版本系列,主要更新:引入composer和命名空间,并遵循PSR-4 基于docsify,重新整理并编写输出更优质、更简洁的2.x开发文档 完成《初识》电子书的编撰,并发表在图灵社区 正式改名为PhalApi开源社区,人数增长97%,问题增长127% 在赞助商和志愿者大力支持下,圆满完成了派发PhalApi框架3周年文化衫活动 对官网进行重新设计与美化,继续以简洁为主,追求更极致的审美 基于PhalApi+Vue.js,由兴趣小组自主研发的开源博客系统 1.x 是经典封存版本,已停止更新;2.x 是全新主流版本,将持续更新 与贡献者一起,为开源社区创造更大价值,支持更多企业! 感谢:开源中国和各位开发同学一直以来的肯定与支持! 创新项目:小白接口,基于PhalApi框架研发,面向个人和小型客户端开发群体,提供小白用户也能使用的云端数据接口。免除后端接口开发的成本,配套可视化后台管理,助你轻松开发客户端应用。 来源: oschina 链接: https://my.oschina.net/u/256338/blog/1592893

【双12首发】终于等来了!PhalApi-iView-admin 开源后台框架

随声附和 提交于 2019-12-03 10:56:03
PhalApi-iView-admin 开源后台框架 码云地址: https://gitee.com/dogstar/phalapi-iview-admin Github地址: https://github.com/phalapi/phalapi-iview-admin 主要采用的技术: PhalApi 开源接口框架 iView-admin 基于iView的管理系统模板 本项目的最大特色:符合前后端分离的主流设计思想,结合了专注于接口领域的PhalApi框架,以及很火的iView。目前,使用的都是最新版本的技术,包括:PhalApi 2.4.2、iView-admin 2.3.0、PHP 7、Vue等。 欢迎大家一起参与开源维护! 在线访问 在线demo请访问: http://iview-admin.phalapi.net/ 。 前端部分(iView界面) 安装 // install dependencies npm install 运行 开发环境 本地开发调试时使用, npm run dev 生产环境 打包发布时使用, npm run build 更多帮助和说明,请前往 iView-admin 。 后端部分(PHP接口) 安装 配置站点,如果使用的是Nginx,请参考以下配置。为了整合PhalApi与iView-admin,关键有两点: 第1点、网站根目录需要定位到 dist

绝对实用教程:如何在PhalApi定制自己的在线文档模板?

巧了我就是萌 提交于 2019-12-02 04:11:41
绝对实用教程:如何在PhalApi定制自己的在线文档模板? PhalApi官方的在线文档,默认长这样: 虽然有在线文档可以使用,但在实际情况下,考虑到项目需要显示自己的公司Logo、项目名称,以及其他一些样式的调整,因此这时可以使用自定义模板。 如何在PhalApi定制自己的在线文档模板?? 实现起来很简单,就像我们平时开放网站页面那样,只需要把模板的路径修改一下即可。 在线文档共有两份模板,分别是: 第1份:在线列表页文档模板 本地代码路径是:./vendor/phalapi/kernal/src/Helper/api_list_tpl.php 远程代码路径是: https://github.com/phalapi/ker ... l.php 第2份:在线详情页文档模板 本地代码路径是:./vendor/phalapi/kernal/src/Helper/api_desc_tpl.php 远程代码路径是: https://github.com/phalapi/ker ... l.php 也就是说,如果你只是想改项目的模板,那么就修改本地的; 如果你想分享给更多同学,就可以修改远程的,然后提交PR。 如何修改本地的在线文档列表页模板? 首先,把本地模板复制一份,放到自己的项目中。创建一个新目录 ./src/app/view,然后拷贝过去。 $ cp ./vendor/phalapi

PhalApi视频教程

旧时模样 提交于 2019-11-30 23:19:16
##PhalApi视频教程 先在这里感谢以下录制小组的同学,是你们让世界看到PhalApi的视频教程! A西瓜妹子、听风不语、彩色的雨、Catch、喵了个咪、dogstar 经过了一个多月的录制基础篇和进阶篇终于结束了,在这里感谢一起合作的小伙伴的帮助,也希望本视频能够实在的帮助到大家! PhalApi教程视频大纲,分为:基础教程、进阶教程、实战教程三类。 附上: 喵了个咪的博客 PhalApi官网 PhalApi Git项目仓库 本次视频教程源代码 ##1 基础教程## ###1.1 环境搭建,安装和helloword 百度网盘 优酷视频 1) phalapi介绍以及使用场景 2)建议使用liunx和各项环境配置最低 3)推荐IDE 4)框架编写的install展示 5)运行helloword! ###1.2 初识PhalApi 百度网盘 优酷视频 1)目录功能讲解 2)数据库建库建表 3)连接数据库官方DEMO ###1.3 init介绍以及配置文件讲解log记录 百度网盘 优酷视频 1)init文件作用内容讲解 2)配置文件使用讲解 3)以及log记录的活灵活用 ###1.4 请求返回### 百度网盘 优酷视频 1)请求的参数验证getRules方法使用讲解 2)返回json数据讲解 3)返回报错讲解 ###1.5 国际化和自动生成文档### 百度网盘 优酷视频 1