https://github.com/showx/phpshow
phpshow,简单易用的php框架
https://github.com/showx/phpshow
cms codeigniter framework php phpframework phpshow swoole thinkphp
Last synced: about 1 month ago
JSON representation
phpshow,简单易用的php框架
- Host: GitHub
- URL: https://github.com/showx/phpshow
- Owner: showx
- License: apache-2.0
- Created: 2018-03-06T08:56:50.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-08-10T03:10:52.000Z (almost 5 years ago)
- Last Synced: 2025-03-28T12:37:49.591Z (about 2 months ago)
- Topics: cms, codeigniter, framework, php, phpframework, phpshow, swoole, thinkphp
- Language: PHP
- Size: 1.5 MB
- Stars: 14
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
```
_ _
_ __ | |__ _ __ ___| |__ _____ __
| '_ \| '_ \| '_ \/ __| '_ \ / _ \ \ /\ / /
| |_) | | | | |_) \__ \ | | | (_) \ V V /
| .__/|_| |_| .__/|___/_| |_|\___/ \_/\_/
|_| |_|
```
# phpshow
phpshow,轻量简单易用的高性能php框架,默认启动workerman模式,抗大并发能力。# 服务器环境
1. Nginx
2. php7以上### 相关扩展
1. pcntl
2. libevent
3. seaslog(选用)
4. swoole(选用)## 安装
统一使用phpcomposer安装
composer require showx/phpshow## 协议
phpshow 的开源协议为 Apache-2.0,详情参见[LICENSE](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
建议短标记
1. 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启动服务器### 核心类的介绍
1. \phpshow\request 获取数据类
2. \phpshow\response 输出类
3. \phpshow\loader 核心加载类
4. \phpshow\control 基层控制器
5. \phpshow\model 基层模型### 工具库
1. \phpshow\lib\redis redis类
2. \phpshow\lib\http http请求类
3. \phpshow\lib\mysql 数据库驱动
4. \phpshow\lib\debug 页面调试
5. \phpshow\lib\jwt jwt会话验证
6. \phpshow\lib\log 日志类
7. \phpshow\lib\pool 进程池
8. \phpshow\helper\util 辅助函数库### 模型层
继承\phpshow\model即可调用相关函数
1. insert1 新增数据
2. update1 更新数据
3. get_one 获取一条数据
4. get_all 获取所有数据
5. get_sql_one 获取指定sql的一条数据
6. get_sql_all 获取指定sql的全部数据### 模板引擎
使用纯php输出,模板里简单用 ?> 作为标签
vue带领大家,前后端分离,没需要用到模拟引擎### 简单缓存
使用
## 建议与反馈
联系本人 9448923#qq.com