quidphp / site
基于QuidPHP框架和LemurCMS构建网站的扩展平台
5.31.0
2022-07-02 23:30 UTC
Requires
- php: >=8.1.0
- quidphp/lemur: 5.31.*
README
关于
QuidPHP/Site 是一个基于 QuidPHP 框架和 LemurCMS 构建网站的扩展平台。它是 QuidPHP 包的一部分。
许可证
QuidPHP/Site 在 MIT 许可证 下作为开源软件提供。
文档
QuidPHP/Site 文档可在 QuidPHP/Docs 找到。
安装
QuidPHP/Site 可以通过 Composer 简单安装。它可在 Packagist 上找到。
$ composer require quidphp/site
安装完成后,Quid\Site 命名空间将在您的 PHP 应用程序中可用。
要求
QuidPHP/Site 需要
- PHP 8.1
- quidphp/lemur 的所有要求
- 任何现代浏览器(不包括 Internet Explorer)
依赖关系
QuidPHP/Site 的以下依赖项
- quidphp/lemur - Quid\Lemur - 基于 QuidPHP 框架构建的内容管理系统
所有依赖项将通过 Composer 安装过程解决。
评论
QuidPHP/Site 代码有注释,所有方法都有说明(法文)。
PHP
约定
QuidPHP/Site 基于以下约定
- 核心覆盖:此命名空间覆盖了许多 Quid\Core 和 Quid\Lemur 的类。
- 自动别名:所有以 Alias 结尾的类名如果没有别名,则解析为现有类。例如:MyRole 扩展 RoleAlias -> 如果没有找到别名,则解析为 Role。
- 特质:特质文件名以下划线开头(_)。
- 类型:文件、函数参数和返回类型都是严格类型的。
- 配置:所有类中都有一个特殊的 $config 静态属性。此属性在初始化时递归地与父属性合并。
- 编码:如果条件只有一个语句可以解决,则 IF 语句中不使用花括号。
概述
QuidPHP/Site 包含 49 个类、特性和接口。以下是概述
- App
- CliClearAll - 用于删除所有缓存和日志数据的 cli 路由的类
- CliClearCache - 用于删除所有缓存的 cli 路由的类
- CliClearLog - 用于删除所有日志数据的 cli 路由的类
- CliCompile - 用于编译资源(js 和 css)的 cli 路由的类
- CliPreload - 用于生成预加载 PHP 脚本的 cli 路由的类
- CliSessionGc - 用于删除应用程序过期会话的命令行路由类
- CliVersion - 用于应用程序版本路由的类,可通过命令行访问
- Error - 应用程序错误路由的抽象类
- Home - 应用程序主页路由的抽象类
- Robots - 应用程序robots.txt路由的类
- Sitemap - 应用程序自动生成sitemap.xml路由的类
- Boot - 扩展的抽象类,用于启动应用程序和CMS的对象
- Cell
- EmailNewsletter - 用于电子邮件新闻订阅单元格的类(订阅第三方新闻订阅)
- GoogleMaps - 用于处理包含Google地图地理定位数据的单元格的类
- JsonForm - 用于处理包含json表单的单元格的类
- JsonFormRelation - 用于管理包含与另一个包含json表单的单元格的关联值的单元格的类
- Cms
- CliPreload - 用于生成CMS预加载PHP脚本的命令行路由类
- Col
- EmailNewsletter - 用于电子邮件新闻订阅列的类(订阅第三方新闻订阅)
- Embed - 用于包含嵌入视频(来自YouTube或Vimeo)的列的类
- GoogleMaps - 用于包含地理定位数据的GoogleMaps列的类
- Hierarchy - 用于层次结构的列,如网站页面地图
- JsonForm - 用于包含json表单的列的类
- JsonFormRelation - 用于管理包含与另一个jsonForm列的关联值的列的类
- Route - 创建与路由类枚举关系的列的类
- Vimeo - 用于包含Vimeo视频的列的类
- YouTube - 用于包含YouTube视频的列的类
- Contract
- Newsletter - 描述第三方新闻订阅服务的接口
- Db - 扩展类,用于查询数据库,添加应用程序配置
- Lang
- Route - 路由的扩展抽象类,添加应用程序逻辑
- NewsletterSubmit - 新闻订阅提交路由的抽象类
- _breadcrumbs - 提供与生成面包屑相关方法的特性
- _general - 提供通用路由使用的基方法特性
- _page - 提供页面路由基本逻辑的特性
- _pageBreadcrumbs - 提供与生成页面面包屑相关的方法特性
- _specific - 提供特定路由使用的基方法特性
- Row - 表中行的扩展类,添加应用程序配置
- Page - 代表页面的行类
- User - 用户表的行扩展类,带有应用程序逻辑
- _pageConfig - 与代表页面的行配置相关的特性
- 服务
- GoogleAnalytics - 提供一些集成 GoogleAnalytics 跟踪方法类的类
- GoogleGeocoding - 用于执行 GoogleGeocoding 定位请求的类
- GoogleMaps - 用于生成 JavaScript GoogleMaps 的类
- GoogleTagManager - 用于生成 googleTagManager 跟踪器的类
- Mailchimp - 提供一些使用 api 3 与 Mailchimp 通信方法的类
- PdfCrowd - 提供一些与 Pdfcrowd 通信方法(并从 html 生成 pdf)的类
- Vimeo - 用于向 Vimeo API 发送请求的类
- YouTube - 可用于向 YouTube API 发送请求的类
测试
QuidPHP/Site 包含 3 个测试类
QuidPHP/Site 测试套件可以通过创建一个新的 QuidPHP/Assert 项目来运行。
JavaScript
约定
- ES5: 所有代码都与ES5兼容,无需任何JavaScript编译器。
- 严格模式: 所有生成的文件都在第一行声明 use strict。
- 编译: JS文件的连接操作是在PHP端完成的。
概述
QuidPHP/Site 包含14个JavaScript文件。以下是一个概述
- 内容管理系统(CMS)
- 组件
- carouselScroll - 滚动轮播组件的脚本
- clickRemove - 点击后移除自身的组件
- googleAnalytics - 包含googleAnalytics逻辑的脚本
- googleMaps - 包含简单googleMaps组件逻辑的脚本
- hoverSlide - 通过鼠标进入/离开改变目标高度的组件
- preload - 预加载资源的组件,目前仅限于图片
- scrollSections - 包含与hash链接的多部分滚动逻辑的脚本
- tabsScroll - 为tabsSlider添加滚动支持的组件
- tabsSlider - 为tabsNav组件添加超时和iframe支持的组件
- toggler - 使用触发器切换多个元素的属性的组件
- windowSmall - 从锚点链接打开小窗口的组件
- wrapConsecutive - 将相同类型的连续节点包裹在另一个节点中的组件
CSS
约定
- SCSS: 在样式表中使用了嵌套、变量和混入。
- 编译: SCSS文件的编译和连接操作是在PHP端完成的。
概述
QuidPHP/Site 包含8个SCSS样式表。以下是一个概述
- 内容管理系统(CMS)
- site - 将样式绑定到组件的样式表
- 内容管理系统组件(CMS-component)
- emailNewsletter - emailNewsletter组件的样式表
- googleMaps - Google maps组件的样式表
- hierarchy - 层次组件的样式表
- jsonForm - jsonForm组件的样式表
- range - range组件的样式表
- video - video组件的样式表
- 组件
- tabsSlider - tabsSlider组件的样式表