dappur/framework

使用Slim、Twig、Eloquent和Sentinel构建的时尚PHP应用程序框架,让您只需几分钟即可从克隆到生产。


README

使用Slim、Twig、Eloquent和Sentinel构建的时尚PHP应用程序框架,让您只需几分钟即可从克隆到生产。

建立在Slim PHP微框架、Twig模板引擎、Eloquent ORM数据库交互、Phinx数据库迁移、Sentinel用户管理、Monolog与Logentries支持、带有CSRF保护的形式验证、Cookie管理、数据库控制的配置、Cloudinary CMS集成、博客、SEO、oauth2登录和双因素认证之上。

这是一个轻量级功能全面的框架,旨在为需要开源、快速和可靠的平台来构建应用程序的PHP开发者提供。使用提供的基本引导页面和基本引导管理,您的新项目可以在几分钟内启动和运行。

重要链接

演示
文档
变更日志
dApp CLI

通过Vagrant快速开始

安装完成后,在项目根目录中运行vagrant up来设置包含以下内容的盒子:

- Ubuntu 18
- PHP 7.2
- Composer
- Phinx
- MariaDB 10.3
- Apache 2

脚本还将检索依赖项、创建一个dev数据库,并为您运行初始迁移。服务将通过以下方式提供访问:

前端主题

该框架附带几个预先制作的Bootstrap页面,以帮助项目启动。所有这些页面及其相应的控制器/视图都为您提供了框架功能的洞察,包括表单验证、CSRF、使用Eloquent ORM和其他插件。您可以在默认模板的基础上进行扩展,或使用Twig和您选择的前端框架创建全新的模板。

仪表板主题

除了几个基本的前端模板外,该框架还预先构建了一个基本的Bootstrap 3管理仪表板。通过使用管理员用户凭据登录,可以自动访问此仪表板。

//TODO

  • 创建文档
  • 增强dApp CLI
  • 添加单元测试

先决条件

PHP - PHP是一种流行的通用脚本语言,特别适合Web开发。

MySQL Server - MySQL Server,世界上最受欢迎的开源数据库,以及MySQL Cluster,一个实时、开源的事务性数据库。

Composer - 要使用Dappur PHP框架,需要依赖管理器。有关安装说明

Phinx - 要利用数据库迁移,需要Phinx。建议您通过composer全局安装Phinx。

$ composer global require robmorgan/phinx

使用dApp安装(实验性)

此命令通过composer create-project命令克隆项目,并下载主题,以及准备您的settings.json文件。

$ dapp new new_app

通过Composer安装

步骤1(创建项目)

您可以使用Composer的create-project命令开始一个新项目。

$ composer create-project dappur/framework new_app

步骤2(安装主题)

如果您通过composer安装,则需要手动安装这两个主题。只需将主题文件夹从主题存储库复制到您的项目内的 app/views 文件夹中。如果您使用的是自定义主题,在迁移数据库之前,您需要更改初始迁移以支持该主题。

步骤 3(准备settings.json文件)

在您的项目根目录中,您需要将 settings.json.dist 复制到 settings.json

$ cp settings.json.dist settings.json

复制完成后,打开 settings.json 并将 "framework" 名称更改为您的项目名称。您还可以设置其他选项以及数据库凭据。

初始数据库迁移

如果您不使用Vagrant,您在上线之前还需要进行一个步骤。您需要确保在 settings.json 中数据库凭据正确,然后从您的项目根目录在终端中运行以下命令

$ phinx migrate

运行并测试项目

如果您选择了使用vagrant,您只需在执行了 vagrant up 命令后访问配置的URL:PORT。否则,一旦您成功完成了初始迁移,您只需从您的项目根目录运行以下命令即可使用PHP内置的web服务器来测试您的应用程序

$ php -S localhost:8181 -t public

导航到 https://:8181 来查看您的项目。

默认管理员用户名: admin
默认管理员密码: admin123

强烈建议您在初始迁移后立即更改密码。

使用以下工具创建

  • Slim - Slim是一个PHP微框架,可以帮助您快速编写简单而强大的Web应用程序和API
  • Slim Twig-View - 基于Twig 2模板组件构建的Slim框架3视图助手
  • Slim Flash Messaging - Slim框架的Flash消息服务提供商
  • Slim CSRF - Slim框架3 CSRF保护中间件
  • Slim Validation - 使用Respect\Validation的Slim微框架验证器
  • Cartalyst Sentinel - PHP 5.4+ 全功能认证与授权系统
  • Illuminate Database - Illuminate数据库组件是PHP的一个完整数据库工具包,提供表达式查询构建器、ActiveRecord风格的ORM和模式构建器。
  • Monolog Logging - 将日志发送到文件、套接字、收件箱、数据库和各种Web服务。
  • Fig Cookies - PSR-7 HTTP消息接口的Cookies。
  • Phinx Database Migrations - Phinx使得管理PHP应用程序的数据库迁移变得非常简单。
  • Cloudinary Image CDN - Cloudinary是一个云服务,为Web应用程序的整个图像管理流程提供解决方案。
  • PHPMailer - PHP的完整功能电子邮件创建和传输类。
  • Paginator - 一个轻量级的PHP分页器,用于生成类似于Stack Overflow和Flickr的分页控件。
  • UUID - 用于生成RFC 4122版本1、3、4和5的通用唯一识别码(UUID)的PHP库。
  • Jobby - 管理您所有的cron作业,无需修改crontab。处理锁定、日志记录、错误邮件等。
  • TwoFactorAuth - PHP库,用于双因素认证(TFA / 2FA)