quidphp / react
使用 QuidPHP、LemurCMS 和 React 创建一个新项目
5.31.0
2022-07-11 03:08 UTC
Requires
- php: >=8.1.0
- quidphp/site: 5.31.*
This package is auto-updated.
Last update: 2024-09-11 07:38:18 UTC
README
关于
QuidPHP/React 仓库包含创建新项目所需的 QuidPHP、LemurCMS 和 React 的结构。
许可证
QuidPHP/React 在 MIT 许可证下作为开源软件提供。MIT 许可证。
文档
QuidPHP/React 文档可在 QuidPHP/Docs 找到。
安装
QuidPHP/React 可以通过 Composer 简单安装。它在 Packagist 上可用。
$ composer create-project quidphp/react --prefer-dist
需求
QuidPHP/React 需要以下内容
- Apache 或 Nginx 服务器(在 MacOS 或 Linux 环境下运行)。
- 在 Windows 环境下也能运行,但存在一些 已知问题。
- PHP 8.1
- 需要以下扩展
- ctype
- curl
- date
- fileinfo
- gd
- iconv
- json
- mbstring
- pcre
- openssl
- session
- SimpleXML
- zip
- PDO
- pdo_mysql
- 还需要以下 PHP INI 指令
- post_max_size 必须至少为 1MB
- post_max_size 必须大于 upload_max_filesize
- memory_limit 必须至少为 128MB
- 需要以下扩展
- Mysql (> = 8.0) 或 MariaDB (> = 10.4) 数据库
- NodeJs LTS 版本 (> = 16)
- 任何现代浏览器(不包括 Internet Explorer)
依赖
QuidPHP/Assert 有以下依赖项
- quidphp/site - Quid\Site - 使用 QuidPHP 框架和 LemurCMS 构建网站的扩展平台
- quidphp/navigation - 用于在不重新加载网页的情况下导航网站的 JavaScript 模块
- facebook/react - 用于构建用户界面的声明性、高效和灵活的 JavaScript 库
- facebook/react-dom - 该包作为 React 的 DOM 和服务器渲染器的入口点
- laravel-mix/laravel-mix -webpack 的力量,提炼给我们其他人
- scottcharlesworth/laravel-mix-polyfill - Quid\Main - Laravel Mix 扩展,通过使用 Babel、core-js 和 regenerator-runtime 来包含 polyfills
- sass/dart-sass - Sass 的参考实现,用 Dart 编写
- webpack-contrib/sass-loader - 将 Sass 编译成 CSS
- shakacode/sass-resources-loader - Webpack 的 SASS 资源(例如变量、混合等)加载器
- bholloway/resolve-url-loader - Webpack 加载器,根据原始源文件解析 url() 语句中的相对路径
- @babel/preset-react - React 的 Babel 预设
- pmmmwh/react-refresh-webpack-plugin - 一个 Webpack 插件,用于启用 React 组件的“快速刷新”功能。
所有依赖项将通过使用 Composer 安装过程来解决。
设置
安装完成后,只需按照以下步骤操作
- 确保 storage 和 public 文件夹可以被您的 Web 服务器写入。对于 storage,也请确保所有子目录均可写入。
- 配置 Apache 虚拟主机或 Nginx 服务器块,以便将域名指向 public 文件夹的文档根目录。
- 在新创建的 Mysql/MariaDB 数据库中导入 db.sql。
- 复制 env-default.php 文件并将其重命名为 env.php。
- 更新 env.php 文件中的 hosts 方案。您需要为应用程序和 CMS 设置不同的主机(域名或子域名)。
- 更新 env.php 文件中的数据库参数。
- 虽然不是必需的,但建议您更改 src 文件夹中所有 PHP 类的命名空间。默认命名空间是 Project。
通过 Webpack/HTTP 启动
在命令行中打开项目文件夹。要启动带有热模块重载(HMR)的开发服务器,请写入
npm run hot
您的应用程序将在 env.php 文件中定义的主机上可访问。还会启动第二个 Node 服务器以服务 HMR 请求(默认为 localhost,端口 8079)。您可能需要接受该 localhost 的自签名证书。
Webpack 生产构建
要为 React 应用程序生成生产构建,请在命令行中打开项目文件夹并写入
npm run prod
QuidPHP CLI 路由
在命令行中打开项目文件夹。现在您可以提交以下格式的命令
php quid [path][:envType] exemple: php quid /en/my-url php quid /en/my-url:dev/cms php quid /:prod/app
LemurCMS 凭据
一旦您在浏览器中打开 CMS,您将需要登录。默认用户是
- 用户名: admin
- 密码: changeme123
登录后,您将能够更改用户密码并创建新用户。
概述
QuidPHP/Project 包含 31 个文件。以下是概述
- .gitignore - 项目的标准 .gitignore 文件
- composer.json - 声明所有 Composer PHP 依赖项的文件
- db.sql - 所需的最小数据库结构
- env-default.php - 声明应用程序的环境数据,复制此文件并将其重命名为 env.php
- LICENSE - 存储库的 MIT 许可证文件
- package.json - 声明所有 NPM 依赖项的文件
- quid - 通过命令行启动应用程序和 CMS 的文件
- README.md - 以 Markdown 格式编写的说明文件
- webpack.mix.js - laravel-mix 的配置文件
- storage/public/favicon.ico - 通用 favicon (16x16),这将链接到 public/favicon.ico。
- public/.htaccess - 简单的 Apache 指令文件,需要 mod_rewrite
- public/index.php - 通过 HTTP 请求启动应用程序和 CMS 的索引文件
- src/Boot.php - 用于启动应用程序和 CMS 的类
- src/Route.php - 路由的抽象类,所有路由都将扩展此类
- src/Row.php - 行的抽象类,所有行都将扩展此类
- src/Session.php - 用于表示活动会话的类
- src/App/_template.php - 所有生成界面的路由使用的特性
- src/App/Error.php - 应用程序的错误路由类
- src/App/Home.php - 应用程序的首页路由类
- src/Row/User.php - 用户表行的类
- src/Service/React.php - 与 React 和前端资源加载相关的类
- app/app.jsx - 加载正确路由的根组件
- app/app.scss - 应用的主要 SCSS 样式表
- app/global.js - 声明一些全局变量的脚本
- app/index.js - React 应用的入口文件
- app/component/HelloWorld.jsx - h1 标签中的 hello world 组件
- app/component/HelloWorld.module.scss - hello world 组件的 SCSS 模块文件
- app/interface/Layout.jsx - 通用页面布局的组件
- app/interface/Layout.scss - 通用页面布局的样式表
- app/route/Error.jsx - 错误路由的组件
- app/route/Home.jsx - 首页路由的组件
已知问题
- 在 Windows 上,存在一些与创建符号链接相关的问题。
- 在 Windows 上,您需要在数据库配置文件(my.cnf)中添加 lower_case_table_names = 2。表和列名需要以自然大小写存储。
测试
QuidPHP 测试套件可以通过创建一个新的 QuidPHP/Assert 项目来运行。