Inphinit is a minimalist web framework for PHP
composer create-project inphinit/inphinit:^2.1 my-app
and let it take it from there.
Features
CheckupVerify your environment
ConfigurationsSettings per environment
Console commandsRun tasks from the CLI
Content negotiationRespond by Accept header
ControllersOrganize your route logic
CSS selectors in PHPQuery the DOM like CSS
CSV/TSV ReaderRead tabular files easily
DebuggingInspect and trace issues
DOM errorsHandle XML/HTML parse errors
DOM with ArraysBuild markup from arrays
DOM, XML and HTMLParse and manipulate documents
Error pagesCustom pages for HTTP errors
EventsHook into the app lifecycle
HTTP CacheCache responses with ETag
MaintenanceTake your app offline safely
MarkdownConvert Markdown to HTML
Proxy & Load balancersTrust forwarded headers
SessionManage user sessions
String utilitiesHandy text helpers
Task schedulingCron-like jobs in PHP
URL utilitiesBuild and parse URLs
ValidationValidate input data
Version utilitiesCompare and parse versions
ViewsRender templates cleanly
Why Inphinit?
A small core, with the tools you actually need already built in.
Minimalist by design
A lightweight core that stays out of your way. Use only what your project needs, without a heavy stack to learn first.
Batteries included
Routing, controllers, views, sessions, validation, DOM and CSS selectors, CSV/TSV, Markdown and more, all ready to use.
Production-minded
HTTP cache with ETag, proxy and load balancer support, maintenance mode and task scheduling help you run in the real world.
Easy to debug
Built-in debugging, a checkup for your environment and custom error pages make problems easier to find and fix.
Per-environment settings
Keep configuration separated for development and production, so deployments stay predictable.
Command line friendly
Run tasks from the CLI and generate commands, controllers and views with the built-in make:* commands.
Join the community
Inphinit is open source. Contributions, bug reports and ideas are welcome.
What's new?
2.1 version
Changelog between versions 2.0 and 2.1:
2.1-beta.21 version
Inphinit\Experimental\Http\Methodclass refactored.x-forwarded-prefixheader can now be used with RFC7239 (eg.:$forwarded->setFlags(Forwarded::PREFIX|Forwarded::RFC7239)).- Fixed
Forwarded::getPrefix(). - Fixed
Inphinit\Dom\Selectorclass. - Fixed
Inphinit\Filesystem\File. - Improved behavior of
Scheduler::prioritizeBackgroundTasks()in PHP<8. - New method:
Storage:temp(). - The Config::commit() method has been removed, as its use could otherwise result in the loss of information regarding file permissions and ownership.
-
Renamed commands:
create:command->make:command.create:controller->make:controller.create:view->make:view.
2.1-beta.20 version
Built-in commands:
- New
run create:commandcommand. - New
run create:controllercommand. - New
run create:viewcommand. - The
run create:viewcommand now checks whether the port is already in use.
FileGenerator improved:
- Support header templates.
- Fixed bugs.
Forwarded support:
- Refactored and added support to the framework core.
- By default, a 403 code will be sent if unknown proxies are detected.