{# NOTE: This page has been moved to 4lt.ca DO NOT EDIT #} {% extends 'admin/docs/_layout/layout.twig' %} {% import '_layout/icons.twig' as icons %} {% block title %}Docs{% endblock %} {% block description %}Framework documentation: routing, sidecars, forms, libraries, database, session, content index, XML sitemap, RSS feeds, admin authentication, draft pages, media manager, comments, layouts, caching, styling.{% endblock %} {% block robots %}noindex, nofollow{% endblock %} {% block docs_content %}
Framework docs, rendered as plain Twig pages — no internet connection needed.
Minimum: PHP 8.1+ (uses readonly constructor-promoted properties) and, for production, Apache with mod_rewrite and AllowOverride All — see Getting started.
Optional, for the database/content-index features (Database, Content index — both off by default):
pdo_sqlite extension — bundled with PHP, just needs to be enabled, no separate install. Required for Lib\Db's default (SQLite) connection.pdo_mysql — only if using a MySQL db_connections entry alongside or instead of SQLite.pdo_sqlite on virtually every modern PHP build. Only needed for /search, i.e. only relevant if content_index_enabled is turned on.App/ without a rebuild.App/pages/.Lib\.App/config.php.Lib\Db, a thin PDO wrapper (SQLite and MySQL) with named, simultaneous connections and a plain-SQL migration convention.Lib\Session, a thin wrapper around native PHP sessions, with CodeIgniter-style flash data./sitemap.xml, /search, and blog tag browsing. Off by default.changefreq/priority, what's included, and submitting it to search engines.Lib\Rss, building one feed or several for any content collection./admin/* behind a session login, with admin/registered roles, groups, and user management.Lib\Access; public by default, static pages always public.public/uploads/ from /admin/media.Lib\Comments, a reusable comment thread any page can attach to itself via its own sidecar.Lib\.