PHPackages                             quidphp/lemur - 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/lemur

ActiveLibrary[Framework](/categories/framework)

quidphp/lemur
=============

LemurCMS, a content management system built on top of the QuidPHP framework

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

Since Sep 17Pushed 1y ago2 watchersCompare

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

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

QuidPHP/Lemur
=============

[](#quidphplemur)

[![Release](https://camo.githubusercontent.com/62864c98e0f1d422beca63d6d19f235d32f179797aaa7bf684b453a606d416ad/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f717569647068702f6c656d7572)](https://packagist.org/packages/quidphp/lemur)[![License](https://camo.githubusercontent.com/e861428a976299ba0b3262b15e6674c048956943a750f6004028e4244245881b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f717569647068702f6c656d7572)](https://github.com/quidphp/lemur/blob/master/LICENSE)[![PHP Version](https://camo.githubusercontent.com/bd3b1766dfffb8b9fa9b89281446be23804c5c04dadd53c596954b234f3d902b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f717569647068702f6c656d7572)](https://www.php.net)[![Style CI](https://camo.githubusercontent.com/d00db895fe07a0c7e7a3344f993bdab61654cbf3adda3e80cb8abb179d44a386/68747470733a2f2f7374796c6563692e696f2f7265706f732f3230363835383830362f736869656c64)](https://styleci.io)[![Code Size](https://camo.githubusercontent.com/52d7a835cb605dd2a353b3b379144dfff9de453473756fc3de5d405f38334832/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f717569647068702f6c656d7572)](https://github.com/quidphp/lemur)

About
-----

[](#about)

**QuidPHP/Lemur** contains the LemurCMS, a content management system built on top of the QuidPHP framework. It is part of the [QuidPHP](https://github.com/quidphp/project) package.

License
-------

[](#license)

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

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

[](#documentation)

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

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

[](#installation)

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

```
$ composer require quidphp/lemur
```

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

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

[](#requirement)

**QuidPHP/Lemur** requires the following:

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

Dependency
----------

[](#dependency)

**QuidPHP/Lemur** has the following dependencies:

- [quidphp/core](https://github.com/quidphp/core) - Quid\\Core - PHP library that provides an extendable platform to create dynamic applications
- [quidphp/navigation](https://github.com/quidphp/navigation) - Javascript module for navigating a website without reloading
- [quidphp/front](https://github.com/quidphp/front) - JavaScript and CSS assets for basic components
- [quidphp/include](https://github.com/quidphp/include) - Contains third-party front-end scripts
- [tinymce/tinymce](https://github.com/tinymce/tinymce) - Tinymce - The world's best JavaScript library for rich text editing

All dependencies will be resolved by using the [Composer](https://getcomposer.org) installation process.

Comment
-------

[](#comment)

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

PHP
---

[](#php)

### Convention

[](#convention)

**QuidPHP/Lemur** is built on the following conventions:

- *Core overloading*: This namespace overloads many classes from Quid\\Core.
- *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/Lemur** contains 205 classes and traits. Here is an overview:

- [Boot](src/Boot.php) - Extended abstract class for the object that bootstraps the cms
- [Cell](src/Cell.php) - Extended class to represent an existing cell within a row
    - [Crypt](src/Cell/Crypt.php) - Extended class for a cell with crypted data
    - [Files](src/Cell/Files.php) - Abstract class extended by the media and medias cells
    - [JsonArray](src/Cell/JsonArray.php) - Class to manage a cell containing a json array
    - [JsonExport](src/Cell/JsonExport.php) - Class for a cell that contains json which should be exported (similar to var\_export)
    - [JsonRelation](src/Cell/JsonRelation.php) - Class to manage a cell containing a relation value to another cell containing a json array
    - [Media](src/Cell/Media.php) - Class to work with a cell containing a value which is a link to a file
    - [Medias](src/Cell/Medias.php) - Class to manage a cell containing a value which is a link to many files
    - [Money](src/Cell/Money.php) - Class to manage a cell managing money (money formatted string)
    - [Phone](src/Cell/Phone.php) - Class for a cell managing phone numbers
    - [Primary](src/Cell/Primary.php) - Class for dealing with a cell of a column which has an auto increment primary key
    - [Relation](src/Cell/Relation.php) - Abstract class extended by the enum and set cells
    - [Uri](src/Cell/Uri.php) - Class to manage a cell containing an URI
    - [Video](src/Cell/Video.php) - Class to manage a cell containing a video from a third-party service
- [Cms](src/Cms)
    - [About](src/Cms/About.php) - Class for the about popup route of the CMS
    - [Account](src/Cms/Account.php) - Class for the account route of the CMS, by default redirects to the user's specific route
    - [AccountChangePassword](src/Cms/AccountChangePassword.php) - Class for the change password route in the CMS
    - [AccountChangePasswordSubmit](src/Cms/AccountChangePasswordSubmit.php) - Class for the submit change password route in the CMS
    - [ActivatePassword](src/Cms/ActivatePassword.php) - Class for activating the password in the CMS
    - [Calendar](src/Cms/Calendar.php) - Class for the calendar route of the CMS
    - [CliClearAll](src/Cms/CliClearAll.php) - Class for a cli route to remove all cached and logged data
    - [CliClearCache](src/Cms/CliClearCache.php) - Class for a cli route to remove all cached data
    - [CliClearLog](src/Cms/CliClearLog.php) - Class for a cli route to remove all log data
    - [CliCompile](src/Cms/CliCompile.php) - Class for a cli route to compile assets (js and css)
    - [CliPreload](src/Cms/CliPreload.php) - Class for a cli route to generate the preload PHP script
    - [CliSessionGc](src/Cms/CliSessionGc.php) - Class for a cli route to remove expired sessions for the CMS
    - [CliVersion](src/Cms/CliVersion.php) - Class for the version route of the CMS, accessible via the cli
    - [Contact](src/Cms/Contact.php) - Class for the contact form route of the CMS
    - [ContactSubmit](src/Cms/ContactSubmit.php) - Class for a contact submit route for the CMS
    - [Download](src/Cms/Download.php) - Class for the file download route of the CMS
    - [Email](src/Cms/Email.php) - Class for the modal route to confirm the mailto link
    - [Error](src/Cms/Error.php) - Class for the error route of the CMS
    - [Export](src/Cms/Export.php) - Class for the export popup route of the CMS
    - [ExportDownload](src/Cms/ExportDownload.php) - Class for the route to generate and download the CSV export for the CMS
    - [General](src/Cms/General.php) - Class for the general navigation route of the CMS
    - [GeneralDelete](src/Cms/GeneralDelete.php) - Class for the route which allows deleting rows from the general navigation page of the CMS
    - [GeneralEdit](src/Cms/GeneralEdit.php) - Class for the route that allows quick editing a cell from the general page
    - [GeneralEditSubmit](src/Cms/GeneralEditSubmit.php) - Class for the route to manage the form to quick edit a cell from the general page
    - [GeneralRelation](src/Cms/GeneralRelation.php) - Class for the route which manages the filters for the general navigation page of the CMS
    - [GeneralTruncate](src/Cms/GeneralTruncate.php) - Class for the route which allows truncating a table from the general page of the CMS
    - [Home](src/Cms/Home.php) - Class for the home route of the CMS
    - [HomeFeed](src/Cms/HomeFeed.php) - Class for the route feed of the home page for the CMS
    - [HomeFeedRelation](src/Cms/HomeFeedRelation.php) - Class for the route which manages table relation, used by some inputs in the CMS
    - [Login](src/Cms/Login.php) - Class for the login route of the CMS
    - [LoginSubmit](src/Cms/LoginSubmit.php) - Class for the login submit route of the CMS
    - [Logout](src/Cms/Logout.php) - Class for the logout route of the CMS
    - [PopupBoot](src/Cms/PopupBoot.php) - Class for the popup route with the boot information
    - [PopupSession](src/Cms/PopupSession.php) - Class for the popup route with the session information
    - [Register](src/Cms/Register.php) - Class for the register route of the CMS
    - [RegisterSubmit](src/Cms/RegisterSubmit.php) - Class for the register submit route of the CMS
    - [ResetPassword](src/Cms/ResetPassword.php) - Class for the reset password route of the CMS
    - [ResetPasswordSubmit](src/Cms/ResetPasswordSubmit.php) - Class for the submit reset password route of the CMS
    - [Robots](src/Cms/Robots.php) - Class for the robots.txt route of the CMS
    - [Search](src/Cms/Search.php) - Class for the global search route of the CMS
    - [SessionRole](src/Cms/SessionRole.php) - Class for the route with the popup to apply a fake role to the current session
    - [SessionRoleSubmit](src/Cms/SessionRoleSubmit.php) - Class for the route to submit and apply a fake role to the current session
    - [Sitemap](src/Cms/Sitemap.php) - Class for the automated sitemap.xml route of the CMS
    - [Specific](src/Cms/Specific.php) - Class for the specific route of the CMS, generates the update form for a row
    - [SpecificAdd](src/Cms/SpecificAdd.php) - Class for the specific add route of the CMS, generates the insert form for a row
    - [SpecificAddSubmit](src/Cms/SpecificAddSubmit.php) - Class for the submit specific add route, to process the insertion of a new row in the CMS
    - [SpecificDelete](src/Cms/SpecificDelete.php) - Class for the specific delete route, to process a row deletion in the CMS
    - [SpecificDispatch](src/Cms/SpecificDispatch.php) - Class for the specific dispatch route, directs to the proper dispatch route of the CMS
    - [SpecificDuplicate](src/Cms/SpecificDuplicate.php) - Class for the specific duplicate route, to process a row duplication in the CMS
    - [SpecificMulti](src/Cms/SpecificMulti.php) - Class for the specific multi route of the CMS, generates the update form for multiple rows
    - [SpecificMultiSubmit](src/Cms/SpecificMultiSubmit.php) - Class for the submit multi specific route, to process the update of multiple rows in the CMS
    - [SpecificPosition](src/Cms/SpecificPosition.php) - Class for a route that redirects to the proper specific route according to a position
    - [SpecificRelation](src/Cms/SpecificRelation.php) - Class for the route which manages specific relation - enumSet inputs in the specific form
    - [SpecificSubmit](src/Cms/SpecificSubmit.php) - Class for the submit specific route, to process the update of a row in the CMS
    - [TableRelation](src/Cms/TableRelation.php) - Class for the route which manages table relation, used by some inputs in the CMS
    - [UserWelcome](src/Cms/UserWelcome.php) - Class for the user welcome route which can send a welcome email to the user
    - [\_cli](src/Cms/_cli.php) - Trait that provides some initial configuration for a CMS cli route
    - [\_colRelation](src/Cms/_colRelation.php) - Trait that provides methods related to a column relation
    - [\_common](src/Cms/_common.php) - Trait that provides commonly used methods for the CMS
    - [\_export](src/Cms/_export.php) - Trait that provides commonly used methods for exporting data from the CMS
    - [\_general](src/Cms/_general.php) - Trait that provides commonly used methods related to the general navigation route of the CMS
    - [\_generalInput](src/Cms/_generalInput.php) - Trait that provides some methods for generating reusable general inputs
    - [\_generalRelation](src/Cms/_generalRelation.php) - Trait that provides methods to make a filter from a relation
    - [\_generalSegment](src/Cms/_generalSegment.php) - Trait that provides some methods for a general navigation page
    - [\_link](src/Cms/_link.php) - Trait that provides some initial configuration for a CMS link route
    - [\_module](src/Cms/_module.php) - Trait that provides some initial configuration for a CMS module route
    - [\_nobody](src/Cms/_nobody.php) - Trait which provides commonly used methods for routes where the user is not logged in the CMS
    - [\_page](src/Cms/_page.php) - Trait that provides some practical methods to work with page route within the CMS
    - [\_popup](src/Cms/_popup.php) - Trait that provides some initial configuration for a CMS popup route
    - [\_relation](src/Cms/_relation.php) - Trait that provides some initial configuration for a CMS relation route
    - [\_specific](src/Cms/_specific.php) - Trait that provides commonly used methods for the specific routes of the CMS
    - [\_specificAddMulti](src/Cms/_specificAddMulti.php) - Trait that provides common methods between the specificAdd and specificMulti routes
    - [\_specificNav](src/Cms/_specificNav.php) - Trait that provides a method for the specific navigation
    - [\_specificRelation](src/Cms/_specificRelation.php) - Trait that provides methods to make an enumSet input
    - [\_specificSubmit](src/Cms/_specificSubmit.php) - Trait that provides commonly used methods for the specific submit routes of the CMS
    - [\_tableRelation](src/Cms/_tableRelation.php) - Trait that provides methods for a table relation selector
    - [\_template](src/Cms/_template.php) - Trait that grants the methods to generate the CMS HTML template
- [Col](src/Col.php) - Extended class to represent an existing column within a table, adds cms config
    - [Auto](src/Col/Auto.php) - Class for the auto column, generate value automatically using the data from other cells
    - [ContextType](src/Col/ContextType.php) - Class for the contextType column, a checkbox set relation with all boot types
    - [Crypt](src/Col/Crypt.php) - Extended class for a column with crypted data
    - [Date](src/Col/Date.php) - Extended class for a date column, supports many date formats
    - [Email](src/Col/Email.php) - Extended class for a column managing email
    - [Error](src/Col/Error.php) - Extended class for a column that manages an error object
    - [Excerpt](src/Col/Excerpt.php) - Class for a column which contains an excerpt of a longer value
    - [Files](src/Col/Files.php) - Extended abstract class extended by the media and medias cols
    - [Fragment](src/Col/Fragment.php) - Class for a column which contains URI fragments
    - [IntegerRange](src/Col/IntegerRange.php) - Class for an integer column that supports range
    - [JsonArray](src/Col/JsonArray.php) - Class for a column which offers a simple input for json values
    - [JsonExport](src/Col/JsonExport.php) - Class for a column that contains json which should be exported
    - [JsonModel](src/Col/JsonModel.php) - Class for a column which offers a configurable complex input for json values
    - [JsonRelation](src/Col/JsonRelation.php) - Class to manage a column containing a relation value to another column which is a jsonArray
    - [Media](src/Col/Media.php) - Extended class to work with a column containing a value which is a link to a file
    - [Medias](src/Col/Medias.php) - Class to work with a column containing a value which is a link to many files
    - [Money](src/Col/Money.php) - Class for a column managing money (money formatted string)
    - [Percent](src/Col/Percent.php) - Class for a column percent value
    - [Phone](src/Col/Phone.php) - Class for a column managing phone numbers, automatically formats the value
    - [Primary](src/Col/Primary.php) - Extended class for dealing with a column which has an auto increment primary key
    - [Range](src/Col/Range.php) - Class for a column managing a range (minimum, maximum, increment)
    - [Relation](src/Col/Relation.php) - Extended abstract class extended for a relation
    - [Request](src/Col/Request.php) - Extended class for a column that manages a request object
    - [Serialize](src/Col/Serialize.php) - Extended class for a column which should serialize its value
    - [Set](src/Col/Set.php) - Class for a column containing a set relation (many)
    - [Slug](src/Col/Slug.php) - Class for a column dealing with an URI slug
    - [SlugPath](src/Col/SlugPath.php) - Class for a column dealing with an URI slug within a URI path
    - [Textarea](src/Col/Textarea.php) - Class for a column which is editable through a textarea input
    - [TinyMce](src/Col/TinyMce.php) - Class for a column which transforms the textarea in a simple tinymce WYSIWYG editor
    - [TinyMceAdvanced](src/Col/TinyMceAdvanced.php) - Class for a column which transforms the textarea in a complex tinymce WYSIWYG editor
    - [UriAbsolute](src/Col/UriAbsolute.php) - Extended class for a column managing an absolute uri
    - [UserActive](src/Col/UserActive.php) - Class for the column which manages the active field for the user row
    - [UserPassword](src/Col/UserPassword.php) - Class for the column which manages the active field for the user row
    - [UserRole](src/Col/UserRole.php) - Class for the column which manages the role field for the user row
    - [Video](src/Col/Video.php) - Extended abstract class for a column containing a video from a third-party service
    - [\_jsonRelation](src/Col/_jsonRelation.php) - Trait with common methods for jsonRelation columns
- [Db](src/Db.php) - Extended class used to query the database, adds cms logic
- [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 cms logic
    - [Account](src/Route/Account.php) - Abstract class for an account route
    - [AccountChangePassword](src/Route/AccountChangePassword.php) - Abstract class for an account change password route
    - [AccountChangePasswordSubmit](src/Route/AccountChangePasswordSubmit.php) - Abstract class for an account change password submit route
    - [AccountSubmit](src/Route/AccountSubmit.php) - Abstract class for an account submit route
    - [ActivatePassword](src/Route/ActivatePassword.php) - Abstract class for a route to activate a password that was previously reset
    - [Contact](src/Route/Contact.php) - Abstract class for a contact form route
    - [ContactSubmit](src/Route/ContactSubmit.php) - Abstract class for a contact submit route
    - [Login](src/Route/Login.php) - Abstract class for a login route
    - [LoginSubmit](src/Route/LoginSubmit.php) - Abstract class for a login submit route
    - [Logout](src/Route/Logout.php) - Abstract class for a logout route
    - [Register](src/Route/Register.php) - Abstract class for a register route
    - [RegisterSubmit](src/Route/RegisterSubmit.php) - Abstract class for a register submit route
    - [ResetPassword](src/Route/ResetPassword.php) - Abstract class for a reset password route
    - [ResetPasswordSubmit](src/Route/ResetPasswordSubmit.php) - Abstract class for a reset password submit route
    - [\_browscap](src/Route/_browscap.php) - Trait with a method to generate text related to browser capabilities
    - [\_calendar](src/Route/_calendar.php) - Trait that provides most methods to make a calendar route
    - [\_download](src/Route/_download.php) - Trait that provides most methods necessary to make a download route
    - [\_formSubmit](src/Route/_formSubmit.php) - Trait that provides methods and logic necessary to make a form submit route
    - [\_modal](src/Route/_modal.php) - Trait that provides some initial configuration for modal routes
    - [\_rowsFeed](src/Route/_rowsFeed.php) - Trait that grants methods related to a rows feed (with a load-more)
    - [\_searchGet](src/Route/_searchGet.php) - Trait that grants methods for search route via GET
    - [\_searchPost](src/Route/_searchPost.php) - Trait that grants methods for search route via POST
    - [\_specificPointer](src/Route/_specificPointer.php) - Trait that grants methods to deal with a specific resource represent by a pointer (table/id)
    - [\_specificPrimary](src/Route/_specificPrimary.php) - Trait that provides most methods used for a specific route using a primary segment
    - [\_specificSlug](src/Route/_specificSlug.php) - Trait with methods to work with a specific resource represented by an URI slug
- [Row](src/Row.php) - Extended class to represent a row within a table, adds cms config
    - [CacheRoute](src/Row/CacheRoute.php) - Class to store rendered route caches, with cms config
    - [Contact](src/Row/Contact.php) - Class to work with a row of the contact table, stores contact messages
    - [Email](src/Row/Email.php) - Class to deal with a row of the email table, with cms config
    - [Lang](src/Row/Lang.php) - Class to work with a row of the lang table, with cms config
    - [Log](src/Row/Log.php) - Class to represent a row of the log table, with cms config
    - [LogCron](src/Row/LogCron.php) - Class to represent a row of the logCron table, with cms config
    - [LogEmail](src/Row/LogEmail.php) - Class to represent a row of the logEmail table, with cms config
    - [LogError](src/Row/LogError.php) - Class to represent a row of the logError table, with cms config
    - [LogHttp](src/Row/LogHttp.php) - Class to represent a row of the logHttp table, with cms config
    - [LogSql](src/Row/LogSql.php) - Class to represent a row of the logSql table, with cms config
    - [QueueEmail](src/Row/QueueEmail.php) - Class to deal with a row of the queueEmail table, with cms config
    - [Redirection](src/Row/Redirection.php) - Class to work with a row of the redirection table, with cms config
    - [Session](src/Row/Session.php) - Extended class for a row of the session table, with cms config
    - [User](src/Row/User.php) - Extended class for a row of the user table, with cms logic
    - [\_log](src/Row/_log.php) - Trait to set permissions for a log row
    - [\_media](src/Row/_media.php) - Trait to work with a row of containing media, storage or video
    - [\_meta](src/Row/_meta.php) - Trait with methods to make a row a meta-source
- [Segment](src/Segment)
    - [\_boolean](src/Segment/_boolean.php) - Trait that issues a method to deal with boolean route segment (1 or 0)
    - [\_col](src/Segment/_col.php) - Trait to manage a route segment which must contain a column name or object
    - [\_colRelation](src/Segment/_colRelation.php) - Trait to work with a route segment which must contain a column with a relation
    - [\_cols](src/Segment/_cols.php) - Trait to manage a route segment which must contain many columns
    - [\_direction](src/Segment/_direction.php) - Trait to deal with a route segment which must contain a sorting direction
    - [\_filter](src/Segment/_filter.php) - Trait to manage a complex route segment which contains filtering directive
    - [\_int](src/Segment/_int.php) - Trait that issues a method to deal with a simple integer route segment
    - [\_limit](src/Segment/_limit.php) - Trait that issues a method to deal with a limit route segment (max per page)
    - [\_numeric](src/Segment/_numeric.php) - Trait that issues a method to deal with a simple numeric route segment
    - [\_order](src/Segment/_order.php) - Trait to manage a route segment which must contain an orderable column
    - [\_orderColRelation](src/Segment/_orderColRelation.php) - Trait to work with a route segment which must contain an orderable column relation
    - [\_orderTableRelation](src/Segment/_orderTableRelation.php) - Trait to manage a route segment which must contain an orderable table relation
    - [\_page](src/Segment/_page.php) - Trait that issues a method to deal with a page route segment (page number)
    - [\_pointer](src/Segment/_pointer.php) - Trait to work with a pointer route segment (value which contains a table and row)
    - [\_primaries](src/Segment/_primaries.php) - Trait to deal with a route segment which must contain many rows
    - [\_primary](src/Segment/_primary.php) - Trait to work with a route segment which must contain a row id or object
    - [\_selected](src/Segment/_selected.php) - Trait that provides logic to deal with a route segment which represents a selected value
    - [\_slug](src/Segment/_slug.php) - Trait that issues methods to work with a standard slug route segment
    - [\_str](src/Segment/_str.php) - Trait that issues a method to deal with a simple string route segment
    - [\_table](src/Segment/_table.php) - Trait to work with a route segment which must contain a table name or object
    - [\_timestamp](src/Segment/_timestamp.php) - Trait to deal with a route segment which contains a timestamp
    - [\_timestampMonth](src/Segment/_timestampMonth.php) - Trait to work with a route segment which contains the timestamp of a month
    - [\_yes](src/Segment/_yes.php) - Trait that issues a method to deal with yes route segment
- [Service](src/Service)
    - [Navigation](src/Service/Navigation.php) - Class to integrate the quidphp-navigation javascript module
    - [Polyfill](src/Service/Polyfill.php) - Class to integrate javascript polyfills
    - [Sortable](src/Service/Sortable.php) - Class to integrate the sortable javascript library
    - [TinyMce](src/Service/TinyMce.php) - Class that provides a method to integrate the Tinymce WYSIWYG editor
- [Session](src/Session.php) - Extended class for the session with methods related to the CMS
- [Table](src/Table.php) - Extended class to represent an existing table within a database

### Testing

[](#testing)

**QuidPHP/Lemur** contains 8 test classes:

- [Boot](test/Boot.php) - Class for testing Quid\\Lemur\\Boot
- [Cell](test/Cell.php) - Class for testing Quid\\Lemur\\Cell
- [Col](test/Col.php) - Class for testing Quid\\Lemur\\Col
- [Route](test/Route.php) - Class for testing Quid\\Lemur\\Route
- [Row](test/Row.php) - Class for testing Quid\\Lemur\\Row
- [Session](test/Session.php) - Class for testing Quid\\Lemur\\Session
- [Suite](test/Suite)
    - [BootLemur](test/Suite/BootLemur.php) - Class for booting the Quid\\Lemur testsuite
- [Table](test/Table.php) - Class for testing Quid\\Lemur\\Table

**QuidPHP/Lemur** 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/Lemur** contains 17 JavaScript files. Here is an overview:

- [cms](js/cms)
    - [\_lemur](js/cms/_lemur.js) - Script of common behaviours for all pages of the CMS
    - [colsSorter](js/cms/colsSorter.js) - Script for the col sorter component of the general page of the CMS
    - [com](js/cms/com.js) - Script of behaviours for the communication component of the CMS
    - [generalComponents](js/cms/generalComponents.js) - Component that manages the components on the general page
    - [homeFeed](js/cms/homeFeed.js) - Script for feed component with a filter on the CMS home page
    - [inputFiles](js/cms/inputFiles.js) - Script with logic for the file upload component of the CMS
    - [quickEdit](js/cms/quickEdit.js) - Script for the quickEdit component in the general page of the CMS
    - [rowsChecker](js/cms/rowsChecker.js) - Script for the rows checker component in the general page of the CMS
    - [specificComponents](js/cms/specificComponents.js) - Component that manages the panel on the specific form page of the CMS
    - [specificMulti](js/cms/specificMulti.js) - Component that manages the multi modification form
    - [specificNav](js/cms/specificNav.js) - Component that manages the navigation box on the specific form page of the CMS
    - [specificPanel](js/cms/specificPanel.js) - Component that manages the panel on the specific form page of the CMS
    - [textareaExtra](js/cms/textareaExtra.js) - Script for a component to search and insert content within a textarea, with support for tinymce
- [component](js/component)
    - [addRemove](js/component/addRemove.js) - Script of behaviours for an add-remove input component
    - [enumSet](js/component/enumSet.js) - Script for an enumSet component (search in a relation)
    - [sorter](js/component/sorter.js) - Script with drag and drop related sorting functionnalities, uses Sortable
    - [tinymce](js/component/tinymce.js) - Component to manage a Tinymce wysiwyg input

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/Lemur** contains 37 SCSS stylesheets. Here is an overview:

- [cms](css/cms)
    - [\_form](css/cms/_form.scss) - Stylesheet with various form-related mixins
    - [\_include](css/cms/_include.scss) - Stylesheet with various global mixins
    - [cms](css/cms/cms.scss) - Stylesheet containing the root styling rules as well as common classes for the CMS
    - [general](css/cms/general.scss) - Stylesheet for the general navigation page of the CMS
    - [home](css/cms/home.scss) - Stylesheet for the home route of the CMS
    - [interface](css/cms/interface.scss) - Stylesheet for the main interface of the CMS
    - [modal](css/cms/modal.scss) - Stylesheet for the modal and the modal routes
    - [nobody](css/cms/nobody.scss) - Stylesheet for the nobody routes of the CMS
    - [specific](css/cms/specific.scss) - Stylesheet for the specific form page of the CMS
- [cms-component](css/cms-component)
    - [\_include](css/cms-component/_include.scss) - Stylesheet for various simple components of the CMS
    - [addRemove](css/cms-component/addRemove.scss) - Stylesheet for the addRemove form component of the CMS
    - [block](css/cms-component/block.scss) - Stylesheet for the block component of the CMS
    - [burger](css/cms-component/burger.scss) - Stylesheet for the burger component of the CMS
    - [calendar](css/cms-component/calendar.scss) - Stylesheet for the calendar component of the cms
    - [clickOpen](css/cms-component/clickOpen.scss) - Stylesheet related to clickOpen components for the CMS
    - [colsSorter](css/cms-component/colsSorter.scss) - Stylesheet for the colsSorter component of the CMS
    - [com](css/cms-component/com.scss) - Stylesheet for the communication component of the CMS
    - [enumSet](css/cms-component/enumSet.scss) - Stylesheet for the enumSet component of the CMS
    - [fakeSelect](css/cms-component/fakeSelect.scss) - Stylesheet for the fakeSelect component of the CMS
    - [filter](css/cms-component/filter.scss) - Stylesheet for the filter component of the CMS
    - [homeFeed](css/cms-component/homeFeed.scss) - Stylesheet for the home feed component of the CMS
    - [inputCalendar](css/cms-component/inputCalendar.scss) - Stylesheet for the input calendar of the CMS
    - [inputFiles](css/cms-component/inputFiles.scss) - Stylesheet for the files upload inputs component of the CMS
    - [inputNumericRange](css/cms-component/inputNumericRange.scss) - Styles for the integerRange component of the CMS
    - [jsonArray](css/cms-component/jsonArray.scss) - Mixin pour le champ jsonRelation dans le formulaire
    - [mainNav](css/cms-component/mainNav.scss) - Stylesheet for the main navigation component of the CMS
    - [modal](css/cms-component/modal.scss) - Stylesheet for the modal component of the CMS
    - [quickEdit](css/cms-component/quickEdit.scss) - Stylesheet for the quickEdit component of the CMS
    - [rowsChecker](css/cms-component/rowsChecker.scss) - Stylesheet for the rowsChecker component of the CMS
    - [searchAutoInfo](css/cms-component/searchAutoInfo.scss) - Stylesheet for the main search component of the CMS
    - [searchSlide](css/cms-component/searchSlide.scss) - Mixin for the searchSlide component of the CMS
    - [specificNav](css/cms-component/specificNav.scss) - Stylesheet for the speciic nav component of the CMS
    - [textareaExtra](css/cms-component/textareaExtra.scss) - Stylesheet for the textarea component of the CMS (with relation inserts)
    - [tooltip](css/cms-component/tooltip.scss) - Stylesheet for the tooltip component of the CMS
- [cms-icon](css/cms-icon)
    - [base64](css/cms-icon/base64.scss) - Stylesheet containing all CMS icons in base64
    - [icon](css/cms-icon/icon.scss) - Stylesheet generating rules for the base64 icons
- [cms-tinymce](css/cms-tinymce)
    - [tinymce](css/cms-tinymce/tinymce.scss) - Stylesheet providing default styling for the Tinymce wysiwyg editor

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 99.5% 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 (397 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (2 commits)")

---

Tags

php frameworkPHP CMSquidquidphplemur cms

### Embed Badge

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

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

###  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)
