实用型Web应用程序工具包

安装: 1

依赖关系: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 0

开放问题: 5

语言:HTML

类型:项目

0.6.2 2023-11-10 17:35 UTC

This package is auto-updated.

Last update: 2024-09-22 22:37:47 UTC


README

Web应用程序开发套件

DW是一个包含所有必要组件的快速开发数据驱动Web应用程序的工具包。它是对有帮助的库、轻量级应用程序模板和用户认证及管理的即用解决方案的实用配置。它还建立了一些合理的约定,您可以利用这些约定快速构建定制的CRUD应用程序或SaaS项目,以满足您的个人需求。

包含内容:

核心工具

可选包含的库

模板功能

  • 完整的认证流程(登录、注册、忘记/重置密码)
  • 示例空白应用程序起始框架
  • 用户管理系统,还提供了使用DW进行CRUD操作、表单处理、照片上传等操作的完整栈示例

要求

  • PHP >= 7.4 (推荐8.1) 并编译了GD
  • MySQL(其他PDO兼容数据库应该也可以,但尚未测试)
  • Apache

安装

使用Composer进行最简单的安装

composer create-project jyoungblood/dw new-project-name

您也可以下载zip文件包含所有文件,或者使用GIT或Degit(npx degit jyoungblood/darkwave)克隆此存储库。如果您执行了这些操作中的任何一项,请确保运行composer install以将文件安装到您的系统上。

入门

Darkwave旨在在LAMP环境中运行,因此我们建议在真实的Web服务器(VPS或共享主机)上开发。

当然,您仍然可以使用常见的php -S localhost:8080命令在本地开发您的应用程序。只需确保您在本地环境中也运行了一个MySQL主机(例如MAMPDBngn等)。

一旦您的环境设置完毕,请访问您的站点URL以启动配置过程。这将生成一个包含您的数据库连接和基本站点信息的.env文件,并为您的应用程序创建一个“管理员”用户。

* 注意,DW附带了一个空的.env文件,作为仓库的一部分。这对于应用程序运行是必需的,但作为最佳实践,我们建议在创建自己的带有此代码库的仓库之前将其添加到.gitignore中。

配置完成后,使用新创建的管理员账户登录,以查看样板应用程序框架和DW主要功能的介绍性演示。

使用DW构建

官方文档用户指南是持续进行的工作,可能需要一段时间才能完全准备就绪。在此期间,请查看users部分的各个部分,以了解如何使用此工具包管理数据集合和执行CRUD操作的功能示例。

本节还提供了与模态框、输入验证、图片上传和缩放、表格排序等一起工作的示例。如果您正在寻找DW的“最佳实践”说明,这是一个很好的起点。

部署

部署旨在非常简单,只需将文件放入您的生产环境即可。除此之外,还有一些值得考虑的细微之处

  • 在您的生产.env文件中,将SITE_MODE变量设置为“生产”
  • 运行以下命令以优化您的composer包和CSS文件很有帮助
    • composer update --optimize-autoloader
    • purgecss --css css/lib/*.css --content "templates/**/*.hbs" --output css/build
  • 出于安全考虑,.htaccess文件已禁用某些文件扩展名默认提供服务。如果需要为您的应用程序启用其中任何一个(例如.json),请记住保持警惕,拒绝访问特定文件(例如composer.json),以防止敏感信息泄露。
  • 当然,还可以进行进一步的性能和安全优化,但请小心不要让优化妨碍了为您的用户和客户提供价值 :)

参考和资源

DW / 核心

Bootstrap / UI

颜色

JS库

图标

其他

  • 子导航 - 在使用默认的基本模板和组件时,可以通过简单的PHP数组轻松添加子导航。请参阅索引控制器/demo部分,以及基本模板subnav部分。

  • HBS助手 - Slime-render提供了一些自定义的HBS助手,并使得添加自己的助手变得简单。请参阅slime-render类中的initialize_handlebars_helpers()部分以获取示例。在HBS食谱中提供了更多关于构建简单自定义助手的信息。

  • 更多BS组件 - 市面上有大量的Bootstrap组件。官方的BS示例BS速查表是开始的好地方。

  • 自定义Tabler - Tabler设计为可以通过添加到:root元素的CSS变量轻松自定义。请参阅Tabler文档中的自定义示例,以及tabler.css以了解默认变量名称和值。