PHPackages                             dfer/df-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. dfer/df-php

ActiveProject[Framework](/categories/framework)

dfer/df-php
===========

由Df打造的php版的Mvc框架，结构简洁，使用方便

7.0.6(1y ago)07[5 PRs](https://github.com/df-business/dfphp.dfer.site/pulls)MITJavaScriptPHP &gt;=8.0

Since Aug 31Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/df-business/dfphp.dfer.site)[ Packagist](https://packagist.org/packages/dfer/df-php)[ Docs](http://dfphp.dfer.site)[ RSS](/packages/dfer-df-php/feed)WikiDiscussions 6.x Synced 1mo ago

READMEChangelogDependencies (2)Versions (126)Used By (0)

DfPHP
=====

[](#dfphp)

> 轻量级PHP开发框架，独立于thinkphp在内的主流框架，遵循传统的mvc结构，没有像其余框架那样封装复杂的功能，一切从简，适合简单的网站应用

项目介绍
----

[](#项目介绍)

- [gitcode](https://gitcode.net/dofun333/dfphp.dfer.site/-/tree/6.x)
- `6.x`是Df独立框架的最后一个分支，除了bug修复之外，将减少更新频率，且不再作为主流框架，从`7.x`开始将以基于tp的开发为主

### 使用

[](#使用)

```
composer create-project dfer/df-php

```

- 会创建`df-php`文件夹，其中包含了整个项目源码

框架介绍
----

[](#框架介绍)

- [dfphp.dfer.site](http://dfphp.dfer.site)
- dfer学习php时，自己架构的框架，项目结构采用了作者习惯的c#的dotNetMvc，借鉴了微擎、thinkPHP，以及网上的一些零散的写法，整体框架设计和优化为df独立完成。此框架以实用为出发点，使开发者能够以最高效率完成业务需求，在前后端分离和主流框架盛行的大环境下，依然能适应小型网站、接口的快速开发。
- 由于df在做项目的过程中越来越习惯基于tp和vue的前后端分离写法，此框架将不再作为开发的首选方案，将减缓更新频率，仅作为老系统的过渡方案
- 工作QQ：3504725309
- 网站：[www.dfer.site](http://www.dfer.site)
- QQ群：76673820

运行环境
----

[](#运行环境)

- php8
- 服务器最低配置：1cpu、1G、1Mbps

伪静态
---

[](#伪静态)

*/www/server/panel/rewrite/nginx/DfPHP.conf*

```
if ($http_accept ~* "^$|^\*/\*$") {
    set $block 1;
}
if ($http_user_agent ~* "aliyun-oss|baiduspider|360spider|sogou|yisouspider|petalbot|bytespider|googlebot|mediapartners-google|applebot|bingbot|yahoo|mail.ru_bot|seznambot") {
    set $block 0;
}
if ($request_uri ~* "^/view/|^/node_modules/") {
    set $block 0;
}
if ($block = 1) {
    return 403;
}
location / {
    index  index.php index.html index.htm;
     if (!-e $request_filename)
     {
        rewrite ^/(.*)$ /index.php?s=$1;
     }
}
location /api/ {
	index  index.php index.html index.htm;
	 if (!-e $request_filename)
	 {
		rewrite ^/api/(.*)$ /api.php?s=$1;
	 }
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
	expires      30d;
	error_log /dev/null;
	access_log /dev/null;
}
location ~ .*\.(js|css)?$
{
	expires      1h;
	error_log /dev/null;
	access_log /dev/null;
}

```

*apache*

```
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1

```

项目详情
----

[](#项目详情)

- 需要添加目录权限 #chmod -R 777 \*
- 默认开启ssl，升级https之后降级，需要重启浏览器才能生效
- 有时候网页ico不加载，只是浏览器短时间故障，重启浏览器等待一下即可
- safari浏览器很不稳定，偶尔显示不正常，chrome不存在这个情况
- 打造比TP更简洁的MVC框架
- 更高版本的php对代码审核更严格，对于不需要执行并且运行会出错的代码应该及时用die拦截，否则会报错
- 彻底实现前后端分离，常用函数可以直接调用
- 实现自定义关键字
- linux、php、ftp这种老外发明的东西对中文兼容依然不够好，尽量用英文来表示文件名
- 添加了云数据和安全机制

命令行
---

[](#命令行)

```
:: 基础命令
php df
:: 将项目的基础源码同步至`df-php-root`项目
php df dev:root
:: 将项目的`df-php-core`源码同步至`df-php-core`项目
php df dev:core

```

关键字说明
=====

[](#关键字说明)

```

	{::name}

	{:::name}

{:$str}
{$str}

/*code
code*/

```

数据库操作
=====

[](#数据库操作)

**数据库更新**

```
http://dfphp.dfer.site/admin/login/create_db

```

**引用模型**

```
use areas\admin\model\{ConfigModel,LayoutImgModel,ArticleModel,LinkModel,MusicModel,MessageModel,NotepadModel};

```

**查询**

```

$output = MusicModel::select();
$output = ArticleModel::order('asc')->select();
$output = NotepadModel::order(['time', 'desc'])->select();
$output = MusicModel::where(3)->select();
$output = MusicModel::where(["id" => 3])->select();

$output = ArticleModel::where(3)->find();

$output = NotepadModel::where(["id" => 3])->first();

NotepadModel::showPage(str("admin/column/{0}_ss",[NotepadModel::getName()]));

$layout = ConfigModel::where(['key' => 'layout'])->value('val');

```

**新增**

```
$ret = ConfigModel::insert(['val'=>123]);
$ret = LinkModel::update($dt);
$ret = LinkModel::where(null)->update($dt);
$ret = LinkModel::where([])->update($dt);

```

**修改**

```
$ret = LinkModel::where(3)->update($dt);
$ret = ConfigModel::where(['key' => 'layout'])->update(['val'=>$dt]);

```

**删除**

```

ArticleModel::where(3)->del();

ArticleModel::where(['type'=>3])->del();

ArticleModel::del();

```

注意事项
----

[](#注意事项)

- 页首添加多行脚本的时候不要添加注释，以免整理代码格式之后破坏php结构
- 上传到服务器之后要给所有文件添加访问权限
- 此版本保持最新状态，其余的项目都是由此延伸出去

---

©2017-2024 Dfer.Site

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance65

Regular maintenance activity

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Recently: every ~52 days

Total

125

Last Release

67d ago

Major Versions

2.x-dev → 3.0.02023-09-12

3.x-dev → 5.0.02023-11-27

5.x-dev → 7.0.02024-07-22

6.0.7 → 7.0.52024-11-18

PHP version history (2 changes)2.1.0PHP &gt;=7.0

5.0.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/bade3e71e8d09c11ae3c6209dc744a22eb92193d8a2af6d7872fa86732f45acb?d=identicon)[dfer](/maintainers/dfer)

---

Top Contributors

[![df-business](https://avatars.githubusercontent.com/u/108712674?v=4)](https://github.com/df-business "df-business (140 commits)")

---

Tags

dfdfer.site

### Embed Badge

![Health badge](/badges/dfer-df-php/health.svg)

```
[![Health](https://phpackages.com/badges/dfer-df-php/health.svg)](https://phpackages.com/packages/dfer-df-php)
```

###  Alternatives

[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)[nette/bootstrap

🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.

68535.8M592](/packages/nette-bootstrap)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
