PnyxCMS

A clean, lightweight PHP CMS. Open source and EUPL licensed.

Component types

Everything beyond the core is a component, enabled or disabled in manifest.php and configured in its own file in configs/.

  • Library: a shared service, such as $date or $tp. Loads on every request, before anything else.
  • Payload: work that runs on every request at the runlevels you choose: "page-tags -st" runs at S and T. No flag means S only.
  • Signal: a request that is not a normal page, called with ?signal=name. Good for feeds, AJAX endpoints and error pages.
  • Module: a page or section of the site, called with ?action=name. The main module serves the front page.
  • Snippet: code loaded on demand with $main -> load_snippet(), such as pagination.

Components announce themselves and require each other through the dependency resolver, so a missing dependency is logged instead of breaking the site.