Download the PHP package laikait/lphp without Composer
On this page you can find all versions of the php package laikait/lphp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package lphp
Short Description Module-first, hook/filter driven backend PHP framework.
License MIT
Informations about the package lphp
App Framework
A module-first PHP framework for heavy backend applications — ERP, billing, hosting control panels, SaaS backends, administration platforms, API-heavy systems.
It is deliberately not an MVC framework, and deliberately not a Laravel, Symfony or CodeIgniter clone. Modules are the primary application boundary, hooks and filters are the primary extension mechanism, and database access is explicit rather than ORM-driven.
Status: 0.1.0, unreleased. Every phase of the specification is built except the demo application (Phase 29), which is deferred. Nothing is marked Stable yet — see What is not built and Implementation status.
Requirements
- PHP 8.2 or newer, with
ext-intl,ext-json,ext-mbstringandext-pdo. XAMPP ships intl switched off: enableextension=intlinphp\php.ini. - Composer 2
- A PDO driver for whichever database you use.
pdo_sqliteis enough to run the test suite, which includes real database integration tests. ext-fileinfoif you accept uploads —UploadPolicyuses it to check a file's contents against its name, and says so rather than passing silently.
phpstan.neon analyses across 8.2–8.5, which reports syntax newer than 8.2
on every run whatever PHP you have, and an architecture test fails if that
range and composer.json ever stop agreeing. CI runs the full gate on 8.2–8.5
and, separately, installs --no-dev on 8.2 to lint, boot and serve a request.
Quick start
Under XAMPP the application answers at http://localhost/framework/ with no
configuration: the base path is derived from SCRIPT_NAME, so the same code
runs unchanged in a subdirectory, at a domain root, and under php -S.
A fresh installation ships one module, modules/Shared, and a default template.
It answers two pages, both rendered by Twig through the default layout:
Replace the home page by declaring a / route in a module of your own (see
The default pages), and look at what is wired:
There is no demo application in modules/. The plugin and gateway the
documentation's examples call Example exist as a test fixture, under
tests/Fixtures/Showcase/, where the feature tests boot them through every
subsystem; they are a reference to read, not something an installation carries.
Architecture
The same kernel serves browser requests and REST. The console shares the same bootstrap with a different execution context.
Documentation
Everything else is in docs/, by what you are doing:
| You want to | Start with |
|---|---|
| learn the framework | Getting started — a module from nothing, in half an hour |
| build something | the guides: pages and forms, JSON APIs, storing data, background work, users and permissions, extending modules, testing |
| look up how a part works | the reference, one page per subsystem |
| deploy and run it | Troubleshooting |
| change the framework | Contributing |
Before deploying anything: the shipped shared module contains demo accounts
that must be replaced — see Users and permissions.
License
MIT. See LICENSE.
All versions of lphp with dependencies
ext-intl Version *
ext-json Version *
ext-mbstring Version *
ext-pdo Version *
psr/container Version ^2.0
twig/twig Version ^3.8