_ _ _ __ | |__ _ __ ___| |__ _____ __ | '_ | '_ | '_ / __| '_ / _ / / / | |_) | | | | |_) __ | | | (_) V V / | .__/|_| |_| .__/|___/_| |_|___/ _/_/ |_| |_|

phpshow

phpshow,轻量简单易用的高性能php框架,默认启动workerman模式,抗大并发能力。

服务器环境

Nginx php7以上

相关扩展

pcntl libevent seaslog(选用) swoole(选用)

安装

统一使用phpcomposer安装 composer require showx/phpshow

协议

phpshow 的开源协议为 Apache-2.0,详情参见LICENSE

php配置

项目config/site.php配置

详见参考事例

return [ //框架里的模式 [0普通启动|1 workerman模式]; 'type' => 1, // 绑定的地址 'host' => '0.0.0.0', // 启动的端口 'port' => 8080, //进程worker数量 'count' => 4, //数据库池的数量 'mysql_pool_num' => 6, //调试模式 'debug' => 1, //开发模式 [dev 查看加载异常|dev2 查看接口使用内存等] 'dev' => 1, 'dev2' => 0, ];

php.ini

建议短标记

short_open_tag = On ;php短标记打开 ,模板要使用这样的标记

nginx配置

nginx正常模式

server{ ... location / { if ( !-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } try_files $uri $uri/ /index.html; } location ~ [^/].php(/|$) { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } ... }

高性能workerman模式

server { server_name xxx.com location / { proxy_pass http://172.20.0.3:8080; proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; } }

框架教程

composer之后 ./vender/showx/phpshow/app 项目示例 ./vender/showx/phpshow/src 核心代码文件

简单的mvc模式 主要逻辑在于/app文件夹中 入口在/public文件夹(详情查询./vender/showx/phpshow/app)

路由

路由采用简单的定义方式 $url/{$ct}/{$ac},http://www.baidu.com/index/index,默认ct和ac为index. 支持path_info /index.php/index/index

配置文件

配置文件主要饮食site(基础配置)database(数据库配置)route_rule(路由规则配置) 放在app项目下的config文件夹

app项目

├── config 配置目录 │   ├── cron.php │   ├── db.php │   ├── signkey.php │   └── site.php ├── control 控制类 │   ├── IndexController.php ├── index.php 程序入口 ├── model 模型类 │   ├── IndexModel.php ├── public 静态文件目录 │   ├── favicon.ico │   ├── index.html │ ├── index.php 普通模式下的入口 │   └── robots.txt ├── runtime 临时缓存与日志目录 │   └── Log └── view 模板目录 ├── footer.php ├── header.php ├── index.php

新建composer.json文件

autoload": { "psr-4": { "app": "app/" } },

增加本地项目的autoload composer require showx/phpshow 在app里使用php index.php start启动服务器

核心类的介绍

phpshowrequest 获取数据类 phpshowresponse 输出类 phpshowloader 核心加载类 phpshowcontrol 基层控制器 phpshowmodel 基层模型

工具库

phpshowlibredis redis类 phpshowlibhttp http请求类 phpshowlibmysql 数据库驱动 phpshowlibdebug 页面调试 phpshowlibjwt jwt会话验证 phpshowliblog 日志类 phpshowlibpool 进程池 phpshowhelperutil 辅助函数库

模型层

继承phpshowmodel即可调用相关函数

insert1 新增数据 update1 更新数据 get_one 获取一条数据 get_all 获取所有数据 get_sql_one 获取指定sql的一条数据 get_sql_all 获取指定sql的全部数据

模板引擎

使用纯php输出,模板里简单用 作为标签 vue带领大家,前后端分离,没需要用到模拟引擎

简单缓存

使用

设置缓存 phpshowloader::set($key,$value); 获取缓存 phpshowloader::get($key);

建议与反馈

联系本人 9448923#qq.com

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。