_ _
_ __ | |__ _ __ ___| |__ _____ __
| '_ | '_ | '_ / __| '_ / _ / / /
| |_) | | | | |_) __ | | | (_) 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、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。