php_tools_components
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| php_tools_components [2026/05/08 04:54] – [Notes] smickster | php_tools_components [2026/05/08 05:00] (current) – smickster | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| A curated reference of PHP tools, libraries, and self-contained applications worth | A curated reference of PHP tools, libraries, and self-contained applications worth | ||
| - | knowing. The goal is to keep PHP viable and reduce dependency | + | knowing. |
| - | where lighter solutions exist. | + | |
| + | **The PHP advantage in 2026:** Runs on shared hosting, no Docker required, no root | ||
| + | access needed. A $5/month cPanel host can run most of these. That's still a superpower. | ||
| > " | > " | ||
| > framework of the week. | > framework of the week. | ||
| - | |||
| - | ---- | ||
| ===== Search ===== | ===== Search ===== | ||
| Line 23: | Line 23: | ||
| * **HN discussion: | * **HN discussion: | ||
| - | ---- | ||
| - | ===== Self-Hosted Applications | + | ===== File Management & Viewers ===== |
| + | |||
| + | ==== Tiny File Manager ==== | ||
| + | * **Repo:** [[https:// | ||
| + | * **What it does:** Single PHP file. Password-protected filesystem browser, upload, | ||
| + | rename, delete, edit, zip/unzip. Drop it anywhere and it works. | ||
| + | * **Sweet spot:** Quick server-side file access without FTP or SSH. | ||
| + | |||
| + | ==== h5ai ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Modern HTTP web server index for Apache/ | ||
| + | listings with thumbnails, search, tree view. | ||
| + | * **Sweet spot:** Turning a folder into a browsable, shareable file index. | ||
| + | |||
| + | ==== FileGator ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does: | ||
| + | local storage, FTP, S3. More full-featured than Tiny File Manager. | ||
| + | * **Sweet spot:** When you need user accounts and access control on file storage. | ||
| + | |||
| + | ===== Image & Photo Tools ===== | ||
| + | |||
| + | ==== Piwigo ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Full-featured self-hosted photo gallery. Albums, tags, users, | ||
| + | plugins, themes. Mature project, active community. | ||
| + | * **Sweet spot:** Family photos, club/ | ||
| + | real user management. | ||
| + | |||
| + | ==== Lychee ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted photo management with a clean modern UI. | ||
| + | Supports albums, sharing, EXIF data display. | ||
| + | * **Sweet spot:** Personal portfolio or photo sharing, cleaner UI than Piwigo. | ||
| + | |||
| + | ==== Chevereto (Free) ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Image hosting platform. The free/ | ||
| + | Upload, albums, user accounts. | ||
| + | * **Note:** Paid version has more features. Free edition still useful for self-hosting. | ||
| + | |||
| + | ==== Intervention Image ==== | ||
| + | * **Repo:** [[https:// | ||
| + | * **What it does:** PHP image manipulation library. Resize, crop, watermark, convert | ||
| + | formats, adjust colors — clean fluent API wrapping GD and Imagick. | ||
| + | * **Install: | ||
| + | * **Sweet spot:** Any PHP project needing image processing without writing raw GD code. | ||
| + | |||
| + | ==== (Placeholder) Thumbnailers & On-the-fly Resizers ==== | ||
| + | * Tools like Glide (PHP), Thumbor (Python, but worth knowing), TimThumb (legacy). | ||
| + | * //To be expanded.// | ||
| + | |||
| + | |||
| + | ===== CMS & Flat-File Publishing ===== | ||
| + | |||
| + | ==== Grav ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Flat-file CMS. No database. Markdown content, Twig templates, | ||
| + | strong plugin ecosystem. Fast and portable. | ||
| + | * **Sweet spot:** Sites where you want Git-friendly content and zero DB overhead. | ||
| + | |||
| + | ==== Kirby ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** File-based CMS with a polished admin panel. Not free for | ||
| + | commercial use but highly regarded. | ||
| + | * **Sweet spot:** Client sites where you want a clean editing experience without WordPress. | ||
| + | |||
| + | ==== Pico CMS ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Stupidly simple flat-file CMS. Drop Markdown files in a folder, | ||
| + | get a website. Minimal, no admin panel. | ||
| + | * **Sweet spot:** Personal sites, documentation, | ||
| ==== DokuWiki ==== | ==== DokuWiki ==== | ||
| * **Site:** [[https:// | * **Site:** [[https:// | ||
| - | * **What it does:** File-based wiki — no database required. Stores pages as plain text | + | * **What it does:** File-based wiki — no database required. Stores pages as plain |
| - | files. | + | |
| - | * **Why it belongs here:** A strong | + | * **Why it belongs here:** A model example of PHP's "runs anywhere" |
| - | Lightweight, | + | Lightweight, |
| - | * **Sweet spot:** Documentation, | + | * **Sweet spot:** Documentation, |
| + | |||
| + | ==== WordPress ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **Note:** Listed for completeness. The ecosystem is massive and PHP-native. | ||
| + | For simple sites, consider the flat-file options above first. | ||
| + | |||
| + | ===== Personal Productivity & Knowledge ===== | ||
| + | |||
| + | ==== Shaarli ==== | ||
| + | * **Repo:** [[https:// | ||
| + | * **What it does:** Single-user self-hosted bookmarking tool. Tag, search, share links. | ||
| + | No-database option available. Very Unix-philosophy. | ||
| + | * **Sweet spot:** Personal del.icio.us replacement. Own your bookmarks. | ||
| + | |||
| + | ==== FreshRSS ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted RSS/Atom feed aggregator. Multi-user, mobile-friendly, | ||
| + | supports fever API (compatible with many RSS reader apps). | ||
| + | * **Sweet spot:** Replacing Google Reader, Feedly, etc. with something you control. | ||
| + | |||
| + | ==== PrivateBin ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted pastebin where the server has zero knowledge of | ||
| + | content. Encrypted client-side. Expiry options. | ||
| + | * **Sweet spot:** Sharing sensitive snippets or notes without trusting a third party. | ||
| + | |||
| + | ==== Wallabag ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted read-it-later app. Save articles, strip to reading | ||
| + | view, sync to e-readers. | ||
| + | * **Sweet spot:** Pocket/ | ||
| + | |||
| + | ==== (Placeholder) Note-taking & Personal Wikis ==== | ||
| + | * Beyond DokuWiki: Outline, Wiki.js (Node-based but worth knowing), | ||
| + | Trilium Notes, Joplin Server. | ||
| + | * //To be expanded — focus on PHP-native options.// | ||
| + | |||
| + | ===== URL & Link Tools ===== | ||
| + | |||
| + | ==== YOURLS ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Your Own URL Shortener. Self-hosted, | ||
| + | tracking, API. The PHP gold standard for this. | ||
| + | * **Sweet spot:** Branded short links, tracking, internal redirects. | ||
| + | |||
| + | ===== Forms & Mail ===== | ||
| + | |||
| + | ==== PHPMailer ==== | ||
| + | * **Repo:** [[https:// | ||
| + | * **What it does:** The standard PHP email library. SMTP with auth, HTML email, | ||
| + | attachments, | ||
| + | * **Install: | ||
| + | * **Sweet spot:** Any PHP project | ||
| + | |||
| + | ==== Respect/ | ||
| + | * **Repo:** [[https:// | ||
| + | * **What it does:** Fluent PHP validation library. Email, URL, CNPJ, custom rules, | ||
| + | chained validators, good error messages. | ||
| + | * **Install: | ||
| + | * **Sweet spot:** Form and API input validation without a full framework. | ||
| + | |||
| + | ==== (Placeholder) Form Builders & Self-Hosted Form Apps ==== | ||
| + | * Mautic (heavy, marketing-focused), | ||
| + | * PHP-native lightweight form processors. | ||
| + | * //To be expanded.// | ||
| + | |||
| + | ===== Routing & HTTP ===== | ||
| + | |||
| + | ==== FastRoute ==== | ||
| + | * **Repo:** [[https:// | ||
| + | * **What it does:** Fast request router for PHP. Regex-based, | ||
| + | Used internally by many frameworks. | ||
| + | * **Install: | ||
| + | * **Sweet spot:** Rolling your own micro-framework or adding routing to a plain PHP app. | ||
| + | |||
| + | ==== Slim Framework ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Micro-framework for PHP. Routing, middleware, PSR-7 request/ | ||
| + | Much lighter than Laravel/ | ||
| + | * **Sweet spot:** REST APIs and small apps that don't need a full framework. | ||
| + | |||
| + | ==== Symfony HttpClient ==== | ||
| + | * **Docs:** [[https:// | ||
| + | * **What it does:** Standalone HTTP client component from Symfony. Async capable, | ||
| + | streaming, no full Symfony install needed. | ||
| + | * **Install: | ||
| + | |||
| + | ==== Guzzle ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** HTTP client library. The longtime standard. Async requests, | ||
| + | middleware, PSR-18 compatible. | ||
| + | * **Install: | ||
| + | * **Note:** For new projects, consider Symfony HttpClient — lighter dependency tree. | ||
| + | |||
| + | ===== Templating ===== | ||
| + | |||
| + | ==== Twig ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** The dominant PHP template engine. Sandboxed, extensible, clean | ||
| + | syntax. Used by Symfony, Drupal, Grav, and many others. | ||
| + | * **Install: | ||
| + | |||
| + | ==== Plates ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Native PHP template engine — no new syntax to learn. Layouts, | ||
| + | inheritance, | ||
| + | * **Sweet spot:** When you want templates without learning Twig syntax. | ||
| + | |||
| + | ==== Latte ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Templating engine from the Nette framework. Strong XSS protection | ||
| + | by design, context-aware escaping. | ||
| + | * **Sweet spot:** Security-conscious templating with minimal overhead. | ||
| + | |||
| + | ===== Database & ORM ===== | ||
| + | |||
| + | ==== Doctrine DBAL ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Database abstraction layer. Query builder, schema management, | ||
| + | multiple driver support. Without the full ORM weight. | ||
| + | * **Install: | ||
| + | |||
| + | ==== Medoo ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Lightweight PHP database framework. Single file, simple API, | ||
| + | supports MySQL, PostgreSQL, SQLite, and more. | ||
| + | * **Sweet spot:** Small projects that want convenience without a heavy ORM. | ||
| + | |||
| + | ==== RedBeanPHP ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Zero-config ORM. Auto-creates and modifies tables as you go | ||
| + | during development. Freeze mode for production. | ||
| + | * **Sweet spot:** Rapid prototyping where you don't want to write schema first. | ||
| + | |||
| + | ==== (Placeholder) SQLite in PHP ==== | ||
| + | * PHP's built-in SQLite support is underused. Worth a dedicated section on | ||
| + | patterns, tooling, and when SQLite beats MySQL for PHP apps. | ||
| + | * //To be expanded.// | ||
| + | |||
| + | ===== CLI & Task Running ===== | ||
| + | |||
| + | ==== Symfony Console (standalone) ==== | ||
| + | * **Docs:** [[https:// | ||
| + | * **What it does:** Build CLI commands with argument parsing, colored output, | ||
| + | progress bars, tables. Standalone Symfony component. | ||
| + | * **Install: | ||
| + | * **Sweet spot:** Any PHP CLI tool or cron job that needs more than '' | ||
| + | |||
| + | ==== (Placeholder) Task Schedulers & Job Queues ==== | ||
| + | * Crunz (cron scheduler in PHP), PHP-Resque, Symfony Messenger. | ||
| + | * //To be expanded.// | ||
| + | |||
| + | ===== Developer Tools ===== | ||
| + | |||
| + | ==== PHPStan ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Static analysis for PHP. Finds bugs without running the code. | ||
| + | Configurable strictness levels. | ||
| + | * **Install: | ||
| + | |||
| + | ==== Psalm ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Alternative static analysis tool. Strong type inference, | ||
| + | security analysis, taint tracking. | ||
| + | * **Install: | ||
| + | |||
| + | ==== PHP CS Fixer ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Automatically fixes PHP coding standards. PSR-1, PSR-2, PSR-12, | ||
| + | and custom rules. | ||
| + | * **Install: | ||
| + | |||
| + | ==== PHPUnit ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** The standard PHP testing framework. Unit and integration tests, | ||
| + | mocking, coverage reports. | ||
| + | * **Install: | ||
| + | |||
| + | ==== Pest ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Testing framework built on PHPUnit with a friendlier API. | ||
| + | Fluent expectations, | ||
| + | * **Install: | ||
| + | * **Sweet spot:** If PHPUnit feels verbose, Pest is the modern alternative. | ||
| + | |||
| + | ==== Clockwork ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** PHP dev tools in the browser. Timeline, database queries, | ||
| + | log viewer, request data. Browser extension + PHP library. | ||
| + | * **Install: | ||
| + | * **Sweet spot:** Debugging and profiling without Xdebug complexity. | ||
| + | |||
| + | ==== Xdebug ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** PHP debugger and profiler. Step debugging, stack traces, | ||
| + | code coverage. Integrates with VS Code, PhpStorm. | ||
| + | * **Note:** PHP extension, not Composer — install via pecl or your system package manager. | ||
| + | |||
| + | ===== Monitoring & Status ===== | ||
| + | |||
| + | ==== Cachet ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted status page system. Components, incidents, metrics, | ||
| + | subscriber notifications. | ||
| + | * **Sweet spot:** Public status page for your own services. | ||
| + | |||
| + | ==== (Placeholder) Uptime Monitoring ==== | ||
| + | * Uptime Kuma (Node-based but popular), PHP-based alternatives. | ||
| + | * //To be expanded.// | ||
| + | |||
| + | ==== (Placeholder) Logging & Error Tracking ==== | ||
| + | * Monolog (the PHP logging standard), Sentry (has PHP SDK), self-hosted | ||
| + | error trackers like Flare. | ||
| + | * //To be expanded.// | ||
| + | |||
| + | ===== Self-Hosted Apps (Misc) ===== | ||
| + | |||
| + | ==== Nextcloud ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted cloud platform. Files, calendar, contacts, | ||
| + | video calls, and a large app ecosystem. | ||
| + | * **Note:** Heavy but comprehensive. The PHP app ecosystem is genuinely impressive. | ||
| + | |||
| + | ==== Kanboard ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted Kanban board. Projects, tasks, swimlanes, automation | ||
| + | rules, time tracking. No-frills, no database required (SQLite default). | ||
| + | * **Sweet spot:** Trello replacement on your own server. | ||
| + | |||
| + | ==== Snipe-IT ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Open source IT asset management. Track hardware, licenses, | ||
| + | accessories. Laravel-based. | ||
| + | * **Sweet spot:** Small teams needing real asset tracking without enterprise pricing. | ||
| + | |||
| + | ==== Invoice Ninja ==== | ||
| + | * **Site:** [[https:// | ||
| + | * **What it does:** Self-hosted invoicing, quotes, time tracking, expenses. Full | ||
| + | client portal. Laravel-based. | ||
| + | * **Sweet spot:** Freelancers and small agencies who want to own their billing data. | ||
| + | |||
| + | ==== (Placeholder) Chat & Communication ==== | ||
| + | * PHP is not ideal for realtime, but worth noting options like Rocket.Chat | ||
| + | (not PHP), and what PHP can/ | ||
| + | * //To be expanded.// | ||
| - | ---- | + | ==== (Placeholder) Pastebin & Code Sharing ==== |
| + | * PrivateBin (listed above), Hastebin, Stikked. | ||
| + | * //To be expanded.// | ||
| - | ===== To Explore / Add ===== | + | ===== Notes & Philosophy |
| - | Categories | + | * **Prefer zero-dependency or single-file tools** where possible — they survive |
| + | longer and deploy anywhere. | ||
| + | * **Shared hosting compatibility** is a feature worth calling out explicitly. If a | ||
| + | tool requires Docker or root, note it. | ||
| + | * **"No database" | ||
| + | tools are portable, backup-friendly, | ||
| + | * **Composer is fine** but be aware of dependency trees. A tool that pulls in | ||
| + | half of Symfony for one feature is a different beast than a focused library. | ||
| + | * Ask a follow-up question on any placeholder category to get it fleshed out | ||
| + | in DokuWiki format, ready to paste in. | ||
| - | * **Routing** — lightweight standalone routers (FastRoute, Bramus Router) | + | ===== Resources & Further Reading ===== |
| - | * **Templating** — Twig, Plates, Latte | + | |
| - | * **HTTP** — Guzzle, Symfony HttpClient | + | |
| - | * **ORM / Database** — Doctrine DBAL, Medoo, Idiorm | + | |
| - | * **CLI** — Symfony Console component standalone | + | |
| - | * **File parsing** — CSV, Markdown, XML/HTML | + | |
| - | * **Auth / Sessions** — standalone JWT, session wrappers | + | |
| - | * **Testing** — PHPUnit, Pest | + | |
| - | * **Static analysis** — PHPStan, Psalm | + | |
| - | * **Single-file apps** — tools that run as one .php file with no install | + | |
| - | ---- | + | * [[https:// |
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| - | ===== Notes ===== | ||
| - | * Prefer tools that work on **shared hosting** (no Docker, no root) where possible. | ||
| - | * Flag anything that requires zero Composer dependencies separately — useful for | ||
| - | drop-in scenarios. | ||
| - | * When evaluating a tool: does it still work in 5 years if the author disappears? | ||
| - | File-based and self-contained wins points here. | ||
php_tools_components.1778216072.txt.gz · Last modified: by smickster
