AI-Blog · DotApp PHP Framework 2.0
How-to-Artikel für Menschen und Coding-Agenten
Complete walkthroughs with copy-paste code: modules, config.php, cache, DSM, secure forms, Bridge, and .js. Each article is its own URL so agents can retrieve one topic at a time.
App und Module
How to create a module in DotApp PHP Framework
Scaffold a module with DotApper, register routes in initialize(), and ship Config::module fallbacks so the module stays portable.
Artikel lesenHow app/config.php works in DotApp PHP Framework
One file configures the app and every module: databases, drivers, secrets, and Config::module overrides without editing module folders.
Artikel lesenHow module initialization works in DotApp PHP Framework
Boot order from index.php through listeners, initializeCondition, initialize(), and lazy loading with initializeRoutes().
Artikel lesen
Cache und Session
How to use cache in DotApp PHP Framework
Cache::use, save and load, File Redis Memcached and Null drivers, context keys, TTL, and the return value of a miss.
Artikel lesenHow to use sessions in DotApp PHP Framework (DSM)
Application state belongs in DSM::use(Module), never in $_SESSION. Drivers, reserved keys, and config.php registration.
Artikel lesen
Sicherer Browser-Kanal
How DotApp PHP Framework protects the browser-to-PHP channel
Per-session key, app.c_enc_key, extra keys, key update, formName, crcCheck, encrypted ids — why a lone CSRF token is a narrow guarantee.
Artikel lesenHow to create secure forms in DotApp PHP Framework
fo-rm, formName between the tags, crcCheck, data() vs data(true), and $request->form() with a complete copy-paste module example.
Artikel lesenSecure backend-frontend communication in DotApp PHP Framework
When to use fo-rm, $dotapp().load(), Bridge, or uploadFile. PHP still checks rights after a successful crcCheck.
Artikel lesen
Daten und HTTP
How to use the database in DotApp PHP Framework
DB::module RAW with named bindings (:iduser). Every ? in raw() is a placeholder including COMMENT. QueryBuilder, paginate, transactions.
Artikel lesenHow routing works in DotApp PHP Framework
Router::get and post, STATIC_ROUTE, path constraints, callable strings, before hooks, JSON endpoints, and named RAW lookups.
Artikel lesenRequest lifecycle in DotApp PHP Framework
data() is the protected copy; data(true) is original. query vs matchData, crcCheck, form(), ajaxReply HTTP 400 vs .after().
Artikel lesenHow to render views and layouts in DotApp PHP Framework
Renderer::new, view and layout files, {{ var: }} directives, silent empty output, assets, and translations.
Artikel lesenHow translations and i18n work in DotApp PHP Framework
Translator::loadLocaleFile, {{_ }} helper, lowercase keys, silent missing files, no pluralization, product copy in JSON.
Artikel lesenHow authentication and 2FA work in DotApp PHP Framework
Auth::login return shapes, stages, Auth::can, TOTP, data(true) for passwords, and $dotapp().twoFactor. Auth::logged() does not exist.
Artikel lesenHow to create database migrations with Installation.php in DotApp PHP Framework
Versioned Installation.php, alreadyDone and markDone. No ? in SQL comments inside raw() — every ? is a placeholder. DB::migrate() is not implemented.
Artikel lesen
HTTP und App-Lebenszyklus
Controllers and Response in DotApp PHP Framework
Static controller methods, return HTML or Response::json / redirect / ajaxReply. Trailing ! skips DI. Missing views return empty string.
Artikel lesenHow to build JSON endpoints with Router in DotApp PHP Framework
One Router::get or post per verb. Return Response::json. Do not use apiPoint. Channel posts still need crcCheck and ajaxReply.
Artikel lesenMiddleware in DotApp PHP Framework
Route before hooks vs named Middleware::register pipelines vs #Shop:AuthGate@check!. Do not mix callback shapes.
Artikel lesenDependency injection in DotApp PHP Framework
bind, singleton, resolve (throws if unbound). Type-hints only without trailing !. Do not use Injector::.
Artikel lesenEvents and listeners in DotApp PHP Framework
module.listeners.php first. trigger() returns the original payload. Listener returns are ignored. Names are lowercased.
Artikel lesenError handling and return values in DotApp PHP Framework
Four failure styles: execute callbacks, null/false, envelopes, exceptions. Validator arrays are truthy. Missing views are empty string.
Artikel lesen
JavaScript und Bridge
How to build AJAX lists with pagination in DotApp PHP Framework
paginate() plus $dotapp().load(), overlay, live DOM patch, encrypted ids. QueryBuilder or named RAW bindings. No full-page ?page= reloads.
Artikel lesenHow to call PHP from JavaScript with DotBridge
Bridge::listen, $dotApp->bridge->fn, template on(click), filters, and rate limits on the same secure channel.
Artikel lesenCallable strings in DotApp PHP Framework
Module:Class@method!, # middleware, * models, when to skip DI, and DotApp::call().
Artikel lesenHow to use $dotapp() JavaScript in DotApp PHP Framework
Mandatory /assets/dotapp/dotapp.js, boot events, selectors, live(), parseReply(), and preloaders.
Artikel lesenReactivity in DotApp PHP Framework
dotapp.reactive.js: variable, databind, computed, reactive-api attributes, and the PHP Reactive helper.
Artikel lesen