quidphp/site
Composer 安装命令:
composer require quidphp/site
包简介
Extended platform to build a website using the QuidPHP framework and LemurCMS
README 文档
README
About
QuidPHP/Site is an extended platform to build a website using the QuidPHP framework and LemurCMS. It is part of the QuidPHP package.
License
QuidPHP/Site is available as an open-source software under the MIT license.
Documentation
QuidPHP/Site documentation is available at QuidPHP/Docs.
Installation
QuidPHP/Site can be easily installed with Composer. It is available on Packagist.
$ composer require quidphp/site
Once installed, the Quid\Site namespace will be available within your PHP application.
Requirement
QuidPHP/Site requires the following:
- PHP 8.1
- All requirements of quidphp/lemur
- Any modern browser (not Internet Explorer)
Dependency
QuidPHP/Site has the following dependency:
- quidphp/lemur - Quid\Lemur - LemurCMS, a content management system built on top of the QuidPHP framework
All dependencies will be resolved by using the Composer installation process.
Comment
QuidPHP/Site code is commented and all methods are explained (in French).
PHP
Convention
QuidPHP/Site is built on the following conventions:
- Core overloading: This namespace overloads many classes from Quid\Core and Quid\Lemur.
- Auto-alias: All class names that finishes by Alias will resolve to the existing class if no alias exists. Exemple: MyRole extents RoleAlias -> will resolve to Role if no alias is found.
- Traits: Traits filenames start with an underscore (_).
- Type: Files, function arguments and return types are strict typed.
- Config: A special $config static property exists in all classes. This property gets recursively merged with the parents' property on initialization.
- Coding: No curly braces are used in a IF statement if the condition can be resolved in only one statement.
Overview
QuidPHP/Site contains 49 classes, traits and interfaces. Here is an overview:
- App
- CliClearAll - Class for a cli route to remove all cached and logged data
- CliClearCache - Class for a cli route to remove all cached data
- CliClearLog - Class for a cli route to remove all log data
- CliCompile - Class for a cli route to compile assets (js and css)
- CliPreload - Class for a cli route to generate the preload PHP script
- CliSessionGc - Class for a cli route to remove expired sessions for the app
- CliVersion - Class for a version route of the app, accessible via the cli
- Error - Abstract class for the error route of the app
- Home - Abstract class for the home route of the app
- Robots - Class for the robots.txt route of the app
- Sitemap - Class for the automated sitemap.xml route of the app
- Boot - Extended abstract class for the object that bootstraps the app and cms
- Cell
- EmailNewsletter - Class for an email newsletter cell (subscribes to a third-party newsletter)
- GoogleMaps - Class to work with a cell containing Google maps geo-localization data
- JsonForm - Class to work with a cell containing a json form
- JsonFormRelation - Class to manage a cell containing a relation value to another cell containing a json form
- Cms
- CliPreload - Class for a cli route to generate the preload PHP script for the CMS
- Col
- EmailNewsletter - Class for an email newsletter column (subscribes to a third-party newsletter)
- Embed - Class for a column containing an embed video (from youtube or vimeo)
- GoogleMaps - Class for a GoogleMaps column, with geo-localization data
- Hierarchy - Class for an hierarchy column, like a website page sitemap
- JsonForm - Class for a column containing a json form
- JsonFormRelation - Class to manage a column containing a relation value to another column which is a jsonForm
- Route - Class for a column that creates an enum relation with route classes
- Vimeo - Class for a column containing a Vimeo video
- YouTube - Class for a column containing a YouTube video
- Contract
- Newsletter - Interface to describe methods for a newsletter third-party service
- Db - Extended class used to query the database, adds app config
- Lang
- Route - Extended abstract class for a route, adds app logic
- NewsletterSubmit - Abstract class for a newsletter submit route
- _breadcrumbs - Trait that provides methods related to generating breadcrumbs
- _general - Trait that provides basic methods used for a general route
- _page - Trait that provides basic logic for a page route
- _pageBreadcrumbs - Trait that provides a method related to generating breadcrumbs for a page
- _specific - Trait that provides basic methods used for a specific route
- Row - Extended class to represent a row within a table, adds app config
- Page - Class for a row which represents a page
- User - Extended class for a row of the user table, with app logic
- _pageConfig - Trait related to the configuration of a row representing a page
- Service
- GoogleAnalytics - Class that provides some methods to integrate GoogleAnalytics tracking
- GoogleGeocoding - Class used to make GoogleGeocoding localization requests
- GoogleMaps - Class used to generate javascript GoogleMaps
- GoogleTagManager - Class used to generate the googleTagManager trackers
- Mailchimp - Class that provides some methods to communicate with Mailchimp using api 3
- PdfCrowd - Class that provides some methods to communicate with Pdfcrowd (and generate a pdf from html)
- Vimeo - Class used to make requests to the Vimeo API
- YouTube - Class that can be used to make requests to the YouTube API
Testing
QuidPHP/Site contains 3 test classes:
- Boot - Class for testing Quid\Site\Boot
- Db - Class for testing Quid\Site\Db
- Suite
- BootSite - Class for booting the Quid\Site testsuite
QuidPHP/Site testsuite can be run by creating a new QuidPHP/Assert project.
JavaScript
Convention
- ES5: All code is compatible with ES5, there is no need for any JavaScript transpiler.
- Strict: All generated files declare use strict on the first line.
- Compiling: The concatenation of the JS files is done on the PHP side.
Overview
QuidPHP/Site contains 14 JavaScript files. Here is an overview:
- cms
- component
- carouselScroll - Script for a carousel component which scrolls
- clickRemove - Component that removes itself on click
- googleAnalytics - Script containing logic for googleAnalytics
- googleMaps - Script containing logic for a simple googleMaps component
- hoverSlide - Component to change height of target with mouseenter/mouseleave
- preload - Component to preload assets, currently only images
- scrollSections - Script containing logic for scrolling multiple sections linked to a hash
- tabsScroll - Component that adds scrolling support to tabsSlider
- tabsSlider - Component that adds timeout and iframe support to the tabsNav component
- toggler - Component to toggle attributes on many elements using a trigger
- windowSmall - Component to open a small window from an anchor link
- wrapConsecutive - Component to wrap consecutive nodes of the same type in another node
CSS
Convention
- SCSS: Nesting, variables and mixins are used within the stylesheets.
- Compiling: The compiling and concatenation of the SCSS files is done on the PHP side.
Overview
QuidPHP/Site contains 8 SCSS stylesheets. Here is an overview:
- cms
- site - Stylesheet to bind styles to the components
- cms-component
- emailNewsletter - Stylesheet for the emailNewsletter component
- googleMaps - Stylesheet for the Google maps component
- hierarchy - Stylesheet for the hierarchy component
- jsonForm - Stylesheet for the jsonForm component
- range - Stylesheet for the range component
- video - Stylesheet for the video component
- component
- tabsSlider - Stylesheet for the tabsSlider component
quidphp/site 适用场景与选型建议
quidphp/site 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 86 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 07 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php-framework」 「quid」 「quidphp」 「php-cms」 「lemur-cms」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 quidphp/site 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 quidphp/site 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 quidphp/site 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A lightweight, secure-by-default PHP microframework built on Slim – providing Laravel-like features (ORM, authentication, migrations, caching) without the bloat. Perfect for building REST APIs and small-to-medium PHP applications.
A PHP nano framework for REST API's & Micro-Services
The Core Framework for MightyPHP Framework
PHP library that provides a set of base objects and collections
PHP library that provides database access and a comprehensive ORM
PHP library that provides an extendable platform to create dynamic applications
统计信息
- 总下载量: 86
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 9
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-07-24