dappur / framework
使用Slim、Twig、Eloquent和Sentinel构建的时尚PHP应用程序框架,让您只需几分钟即可从克隆到生产。
Requires
- php: >=7.2.0
- abraham/twitteroauth: ^1.0
- awurth/slim-validation: ^3.1
- bryanjhv/slim-session: ^3.0
- cartalyst/sentinel: ^2.0
- cloudinary/cloudinary_php: ^1.14
- dappur/dappurware: ^4.0.0
- dappur/dappurware-email: ^4.0.0
- dappur/dappurware-oauth2: ^4.0.0
- dappur/dappurware-video: ^4.0.0
- dflydev/fig-cookies: ^2.0
- google/apiclient: ^2.2
- hellogerard/jobby: ^3.4
- illuminate/database: ^5.8
- illuminate/events: ^5.8
- jasongrimes/paginator: ^1.0
- logentries/logentries-monolog-handler: ^2.1
- monolog/monolog: ^1.24
- phpmailer/phpmailer: ^6.1.6
- ramsey/uuid: ^3.8
- robmorgan/phinx: ^0.10.8
- robthree/twofactorauth: ^1.6
- slim/csrf: ^0.8.3
- slim/flash: ^0.4.0
- slim/slim: ^3.12
- slim/twig-view: ^2.5
- symfony/http-foundation: ^4.3.8
- twig/twig: ^2.11
Requires (Dev)
- phpmd/phpmd: ^2.6
- squizlabs/php_codesniffer: ^3.2
- dev-master
- v5.x-dev
- v4.x-dev
- 4.0.0
- 4.0.0-RC3
- 4.0.0-RC2
- 4.0.0-RC1
- v3.x-dev
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.5.0
- 2.4.0
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- dev-dependabot/composer/twig/twig-2.16.1
- dev-dependabot/composer/phpseclib/phpseclib-3.0.39
- dev-dependabot/composer/guzzlehttp/guzzle-7.5.1
- dev-demo
This package is auto-updated.
Last update: 2024-09-09 20:48:35 UTC
README
使用Slim、Twig、Eloquent和Sentinel构建的时尚PHP应用程序框架,让您只需几分钟即可从克隆到生产。
建立在Slim PHP微框架、Twig模板引擎、Eloquent ORM数据库交互、Phinx数据库迁移、Sentinel用户管理、Monolog与Logentries支持、带有CSRF保护的形式验证、Cookie管理、数据库控制的配置、Cloudinary CMS集成、博客、SEO、oauth2登录和双因素认证之上。
这是一个轻量级功能全面的框架,旨在为需要开源、快速和可靠的平台来构建应用程序的PHP开发者提供。使用提供的基本引导页面和基本引导管理,您的新项目可以在几分钟内启动和运行。
重要链接
通过Vagrant快速开始
安装完成后,在项目根目录中运行vagrant up
来设置包含以下内容的盒子:
- Ubuntu 18
- PHP 7.2
- Composer
- Phinx
- MariaDB 10.3
- Apache 2
脚本还将检索依赖项、创建一个dev
数据库,并为您运行初始迁移。服务将通过以下方式提供访问:
- Web服务器: https://:8181
- Phpmyadmin: https://:8181/phpmyadmin
- MySQL直接: localhost:8306
前端主题
该框架附带几个预先制作的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)