PHPackages                             quidphp/site - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. quidphp/site

ActiveLibrary[Framework](/categories/framework)

quidphp/site
============

Extended platform to build a website using the QuidPHP framework and LemurCMS

5.31.0(3y ago)2864MITPHPPHP &gt;=8.1.0

Since Sep 17Pushed 1y ago2 watchersCompare

[ Source](https://github.com/quidphp/site)[ Packagist](https://packagist.org/packages/quidphp/site)[ Docs](https://quidphp.com)[ RSS](/packages/quidphp-site/feed)WikiDiscussions master Synced 6d ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (4)

QuidPHP/Site
============

[](#quidphpsite)

[![Release](https://camo.githubusercontent.com/9999584e647d238e8d970a310c4292513f8b9955d6c1a797e8c7a92df0213087/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f717569647068702f73697465)](https://packagist.org/packages/quidphp/site)[![License](https://camo.githubusercontent.com/f13737da1881ce6958a3fa119fa89913631142b50a0aa311a0a389bcf3992d2a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f717569647068702f73697465)](https://github.com/quidphp/site/blob/master/LICENSE)[![PHP Version](https://camo.githubusercontent.com/c5f426938041de02de044fa4bc9fd9a5ce886e1cc54ae514e827aee30893ab15/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f717569647068702f73697465)](https://www.php.net)[![Style CI](https://camo.githubusercontent.com/3d4a8e5a53e66a2462fe3121ef44b25d37353e5f9b6b353b0bb81d2540ff7642/68747470733a2f2f7374796c6563692e696f2f7265706f732f3230363835383838382f736869656c64)](https://styleci.io)[![Code Size](https://camo.githubusercontent.com/4fcf11b0a63c2539ff5fa51f29edef6d3791d5895ca40e2c67020836c223d540/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f717569647068702f73697465)](https://github.com/quidphp/site)

About
-----

[](#about)

**QuidPHP/Site** is an extended platform to build a website using the QuidPHP framework and LemurCMS. It is part of the [QuidPHP](https://github.com/quidphp/project) package.

License
-------

[](#license)

**QuidPHP/Site** is available as an open-source software under the [MIT license](LICENSE).

Documentation
-------------

[](#documentation)

**QuidPHP/Site** documentation is available at [QuidPHP/Docs](https://github.com/quidphp/docs).

Installation
------------

[](#installation)

**QuidPHP/Site** can be easily installed with [Composer](https://getcomposer.org). It is available on [Packagist](https://packagist.org/packages/quidphp/site).

```
$ composer require quidphp/site
```

Once installed, the **Quid\\Site** namespace will be available within your PHP application.

Requirement
-----------

[](#requirement)

**QuidPHP/Site** requires the following:

- PHP 8.1
- All requirements of [quidphp/lemur](https://github.com/quidphp/lemur)
- Any modern browser (not Internet Explorer)

Dependency
----------

[](#dependency)

**QuidPHP/Site** has the following dependency:

- [quidphp/lemur](https://github.com/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](https://getcomposer.org) installation process.

Comment
-------

[](#comment)

**QuidPHP/Site** code is commented and all methods are explained (in French).

PHP
---

[](#php)

### Convention

[](#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 -&gt; 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

[](#overview)

**QuidPHP/Site** contains 49 classes, traits and interfaces. Here is an overview:

- [App](src/App)
    - [CliClearAll](src/App/CliClearAll.php) - Class for a cli route to remove all cached and logged data
    - [CliClearCache](src/App/CliClearCache.php) - Class for a cli route to remove all cached data
    - [CliClearLog](src/App/CliClearLog.php) - Class for a cli route to remove all log data
    - [CliCompile](src/App/CliCompile.php) - Class for a cli route to compile assets (js and css)
    - [CliPreload](src/App/CliPreload.php) - Class for a cli route to generate the preload PHP script
    - [CliSessionGc](src/App/CliSessionGc.php) - Class for a cli route to remove expired sessions for the app
    - [CliVersion](src/App/CliVersion.php) - Class for a version route of the app, accessible via the cli
    - [Error](src/App/Error.php) - Abstract class for the error route of the app
    - [Home](src/App/Home.php) - Abstract class for the home route of the app
    - [Robots](src/App/Robots.php) - Class for the robots.txt route of the app
    - [Sitemap](src/App/Sitemap.php) - Class for the automated sitemap.xml route of the app
- [Boot](src/Boot.php) - Extended abstract class for the object that bootstraps the app and cms
- [Cell](src/Cell)
    - [EmailNewsletter](src/Cell/EmailNewsletter.php) - Class for an email newsletter cell (subscribes to a third-party newsletter)
    - [GoogleMaps](src/Cell/GoogleMaps.php) - Class to work with a cell containing Google maps geo-localization data
    - [JsonForm](src/Cell/JsonForm.php) - Class to work with a cell containing a json form
    - [JsonFormRelation](src/Cell/JsonFormRelation.php) - Class to manage a cell containing a relation value to another cell containing a json form
- [Cms](src/Cms)
    - [CliPreload](src/Cms/CliPreload.php) - Class for a cli route to generate the preload PHP script for the CMS
- [Col](src/Col)
    - [EmailNewsletter](src/Col/EmailNewsletter.php) - Class for an email newsletter column (subscribes to a third-party newsletter)
    - [Embed](src/Col/Embed.php) - Class for a column containing an embed video (from youtube or vimeo)
    - [GoogleMaps](src/Col/GoogleMaps.php) - Class for a GoogleMaps column, with geo-localization data
    - [Hierarchy](src/Col/Hierarchy.php) - Class for an hierarchy column, like a website page sitemap
    - [JsonForm](src/Col/JsonForm.php) - Class for a column containing a json form
    - [JsonFormRelation](src/Col/JsonFormRelation.php) - Class to manage a column containing a relation value to another column which is a jsonForm
    - [Route](src/Col/Route.php) - Class for a column that creates an enum relation with route classes
    - [Vimeo](src/Col/Vimeo.php) - Class for a column containing a Vimeo video
    - [YouTube](src/Col/YouTube.php) - Class for a column containing a YouTube video
- [Contract](src/Contract)
    - [Newsletter](src/Contract/Newsletter.php) - Interface to describe methods for a newsletter third-party service
- [Db](src/Db.php) - Extended class used to query the database, adds app config
- [Lang](src/Lang)
    - [En](src/Lang/En.php) - English language content used by this namespace
    - [Fr](src/Lang/Fr.php) - French language content used by this namespace
- [Route](src/Route.php) - Extended abstract class for a route, adds app logic
    - [NewsletterSubmit](src/Route/NewsletterSubmit.php) - Abstract class for a newsletter submit route
    - [\_breadcrumbs](src/Route/_breadcrumbs.php) - Trait that provides methods related to generating breadcrumbs
    - [\_general](src/Route/_general.php) - Trait that provides basic methods used for a general route
    - [\_page](src/Route/_page.php) - Trait that provides basic logic for a page route
    - [\_pageBreadcrumbs](src/Route/_pageBreadcrumbs.php) - Trait that provides a method related to generating breadcrumbs for a page
    - [\_specific](src/Route/_specific.php) - Trait that provides basic methods used for a specific route
- [Row](src/Row.php) - Extended class to represent a row within a table, adds app config
    - [Page](src/Row/Page.php) - Class for a row which represents a page
    - [User](src/Row/User.php) - Extended class for a row of the user table, with app logic
    - [\_pageConfig](src/Row/_pageConfig.php) - Trait related to the configuration of a row representing a page
- [Service](src/Service)
    - [GoogleAnalytics](src/Service/GoogleAnalytics.php) - Class that provides some methods to integrate GoogleAnalytics tracking
    - [GoogleGeocoding](src/Service/GoogleGeocoding.php) - Class used to make GoogleGeocoding localization requests
    - [GoogleMaps](src/Service/GoogleMaps.php) - Class used to generate javascript GoogleMaps
    - [GoogleTagManager](src/Service/GoogleTagManager.php) - Class used to generate the googleTagManager trackers
    - [Mailchimp](src/Service/Mailchimp.php) - Class that provides some methods to communicate with Mailchimp using api 3
    - [PdfCrowd](src/Service/PdfCrowd.php) - Class that provides some methods to communicate with Pdfcrowd (and generate a pdf from html)
    - [Vimeo](src/Service/Vimeo.php) - Class used to make requests to the Vimeo API
    - [YouTube](src/Service/YouTube.php) - Class that can be used to make requests to the YouTube API

### Testing

[](#testing)

**QuidPHP/Site** contains 3 test classes:

- [Boot](test/Boot.php) - Class for testing Quid\\Site\\Boot
- [Db](test/Db.php) - Class for testing Quid\\Site\\Db
- [Suite](test/Suite)
    - [BootSite](test/Suite/BootSite.php) - Class for booting the Quid\\Site testsuite

**QuidPHP/Site** testsuite can be run by creating a new [QuidPHP/Assert](https://github.com/quidphp/assert) project.

JavaScript
----------

[](#javascript)

### Convention

[](#convention-1)

- *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

[](#overview-1)

**QuidPHP/Site** contains 14 JavaScript files. Here is an overview:

- [cms](js/cms)
    - [jsonForm](js/cms/jsonForm.js) - Script containing logic for the jsonForm component which is based on the addRemove input
    - [site](js/cms/site.js) - Script of additional behaviours for the specific form page of the CMS
- [component](js/component)
    - [carouselScroll](js/component/carouselScroll.js) - Script for a carousel component which scrolls
    - [clickRemove](js/component/clickRemove.js) - Component that removes itself on click
    - [googleAnalytics](js/component/googleAnalytics.js) - Script containing logic for googleAnalytics
    - [googleMaps](js/component/googleMaps.js) - Script containing logic for a simple googleMaps component
    - [hoverSlide](js/component/hoverSlide.js) - Component to change height of target with mouseenter/mouseleave
    - [preload](js/component/preload.js) - Component to preload assets, currently only images
    - [scrollSections](js/component/scrollSections.js) - Script containing logic for scrolling multiple sections linked to a hash
    - [tabsScroll](js/component/tabsScroll.js) - Component that adds scrolling support to tabsSlider
    - [tabsSlider](js/component/tabsSlider.js) - Component that adds timeout and iframe support to the tabsNav component
    - [toggler](js/component/toggler.js) - Component to toggle attributes on many elements using a trigger
    - [windowSmall](js/component/windowSmall.js) - Component to open a small window from an anchor link
    - [wrapConsecutive](js/component/wrapConsecutive.js) - Component to wrap consecutive nodes of the same type in another node

CSS
---

[](#css)

### Convention

[](#convention-2)

- *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

[](#overview-2)

**QuidPHP/Site** contains 8 SCSS stylesheets. Here is an overview:

- [cms](css/cms)
    - [site](css/cms/site.scss) - Stylesheet to bind styles to the components
- [cms-component](css/cms-component)
    - [emailNewsletter](css/cms-component/emailNewsletter.scss) - Stylesheet for the emailNewsletter component
    - [googleMaps](css/cms-component/googleMaps.scss) - Stylesheet for the Google maps component
    - [hierarchy](css/cms-component/hierarchy.scss) - Stylesheet for the hierarchy component
    - [jsonForm](css/cms-component/jsonForm.scss) - Stylesheet for the jsonForm component
    - [range](css/cms-component/range.scss) - Stylesheet for the range component
    - [video](css/cms-component/video.scss) - Stylesheet for the video component
- [component](css/component)
    - [tabsSlider](css/component/tabsSlider.scss) - Stylesheet for the tabsSlider component

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 98.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~254 days

Total

5

Last Release

1415d ago

PHP version history (3 changes)5.27.0PHP &gt;=7.3.0

5.30.0PHP &gt;=7.4.0

5.31.0PHP &gt;=8.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/9fce706f1ee9fc0052e58ea6b87ecba89474f64c31b78c7e9aba628702290709?d=identicon)[emondpph](/maintainers/emondpph)

---

Top Contributors

[![emondpph](https://avatars.githubusercontent.com/u/1444427?v=4)](https://github.com/emondpph "emondpph (267 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (3 commits)")

---

Tags

php frameworkPHP CMSquidquidphplemur cms

### Embed Badge

![Health badge](/badges/quidphp-site/health.svg)

```
[![Health](https://phpackages.com/badges/quidphp-site/health.svg)](https://phpackages.com/packages/quidphp-site)
```

###  Alternatives

[feehi/cms

Feehi CMS Project Template

5323.0k](/packages/feehi-cms)[phphleb/framework

Engine for Framework HLEB2

233318.7k12](/packages/phphleb-framework)[popphp/popphp

Pop PHP Framework, a lightweight, robust PHP framework

5713.5k9](/packages/popphp-popphp)[zemit-cms/core

Build high-performance PHP applications faster with Phalcon Kit — a modular developer toolkit that extends the Phalcon framework.

138.2k1](/packages/zemit-cms-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
