====== PHP Tools & Resources ====== A curated reference of PHP tools, libraries, and self-contained applications worth knowing. Updated over time as good things surface. **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. > "Don't forget PHP" — it runs everywhere, needs nothing, and often outlasts the > framework of the week. ===== Search ===== ==== php-fts ==== * **Repo:** [[https://github.com/olivier-ls/php-fts|olivier-ls/php-fts]] * **What it does:** Self-contained full-text search engine in pure PHP. No extensions, no external services, no dependencies — just files. * **Algorithm:** BM25 + IDF scoring (same as Lucene/Elasticsearch), trigram indexing with O(1) lookup, field boosting, AND/OR filters. * **Sweet spot:** Shared hosting, small VPS, hundreds to tens of thousands of documents. Searches 10k docs in ~3–5ms median on shared Linux hosting. * **Install:** ''composer require ols/php-fts'' * **HN discussion:** [[https://news.ycombinator.com/item?id=48041316|Hacker News thread]] ===== File Management & Viewers ===== ==== Tiny File Manager ==== * **Repo:** [[https://github.com/prasathmani/tinyfilemanager|prasathmani/tinyfilemanager]] * **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://larsjung.de/h5ai/|larsjung.de/h5ai]] * **What it does:** Modern HTTP web server index for Apache/nginx. Beautiful directory listings with thumbnails, search, tree view. * **Sweet spot:** Turning a folder into a browsable, shareable file index. ==== FileGator ==== * **Site:** [[https://filegator.io|filegator.io]] * **What it does:** Self-hosted multi-user file manager with a clean UI. Supports 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://piwigo.org|piwigo.org]] * **What it does:** Full-featured self-hosted photo gallery. Albums, tags, users, plugins, themes. Mature project, active community. * **Sweet spot:** Family photos, club/organization galleries, anything needing real user management. ==== Lychee ==== * **Site:** [[https://lycheeorg.github.io|lycheeorg.github.io]] * **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://chevereto.com|chevereto.com]] * **What it does:** Image hosting platform. The free/community edition is capable. Upload, albums, user accounts. * **Note:** Paid version has more features. Free edition still useful for self-hosting. ==== Intervention Image ==== * **Repo:** [[https://github.com/Intervention/image|Intervention/image]] * **What it does:** PHP image manipulation library. Resize, crop, watermark, convert formats, adjust colors — clean fluent API wrapping GD and Imagick. * **Install:** ''composer require intervention/image'' * **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://getgrav.org|getgrav.org]] * **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://getkirby.com|getkirby.com]] * **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://picocms.org|picocms.org]] * **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, anything where simplicity wins. ==== DokuWiki ==== * **Site:** [[https://www.dokuwiki.org|dokuwiki.org]] * **What it does:** File-based wiki — no database required. Stores pages as plain text files. Strong plugin ecosystem, access control, revision history. * **Why it belongs here:** A model example of PHP's "runs anywhere" strength. Lightweight, portable, actively maintained for 20+ years. * **Sweet spot:** Documentation, personal wikis, intranets, team notes. ==== WordPress ==== * **Site:** [[https://wordpress.org|wordpress.org]] * **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://github.com/shaarli/Shaarli|shaarli/Shaarli]] * **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://freshrss.org|freshrss.org]] * **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://privatebin.info|privatebin.info]] * **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://wallabag.org|wallabag.org]] * **What it does:** Self-hosted read-it-later app. Save articles, strip to reading view, sync to e-readers. * **Sweet spot:** Pocket/Instapaper replacement on your own server. ==== (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://yourls.org|yourls.org]] * **What it does:** Your Own URL Shortener. Self-hosted, plugin system, click tracking, API. The PHP gold standard for this. * **Sweet spot:** Branded short links, tracking, internal redirects. ===== Forms & Mail ===== ==== PHPMailer ==== * **Repo:** [[https://github.com/PHPMailer/PHPMailer|PHPMailer/PHPMailer]] * **What it does:** The standard PHP email library. SMTP with auth, HTML email, attachments, DKIM signing. Replaces PHP's unreliable ''mail()''. * **Install:** ''composer require phpmailer/phpmailer'' * **Sweet spot:** Any PHP project that sends email. Basically mandatory. ==== Respect/Validation ==== * **Repo:** [[https://github.com/Respect/Validation|Respect/Validation]] * **What it does:** Fluent PHP validation library. Email, URL, CNPJ, custom rules, chained validators, good error messages. * **Install:** ''composer require respect/validation'' * **Sweet spot:** Form and API input validation without a full framework. ==== (Placeholder) Form Builders & Self-Hosted Form Apps ==== * Mautic (heavy, marketing-focused), Typebot, Formbricks. * PHP-native lightweight form processors. * //To be expanded.// ===== Routing & HTTP ===== ==== FastRoute ==== * **Repo:** [[https://github.com/nikic/FastRoute|nikic/FastRoute]] * **What it does:** Fast request router for PHP. Regex-based, very low overhead. Used internally by many frameworks. * **Install:** ''composer require nikic/fast-route'' * **Sweet spot:** Rolling your own micro-framework or adding routing to a plain PHP app. ==== Slim Framework ==== * **Site:** [[https://www.slimframework.com|slimframework.com]] * **What it does:** Micro-framework for PHP. Routing, middleware, PSR-7 request/response. Much lighter than Laravel/Symfony. * **Sweet spot:** REST APIs and small apps that don't need a full framework. ==== Symfony HttpClient ==== * **Docs:** [[https://symfony.com/doc/current/http_client.html|symfony.com/doc/http_client]] * **What it does:** Standalone HTTP client component from Symfony. Async capable, streaming, no full Symfony install needed. * **Install:** ''composer require symfony/http-client'' ==== Guzzle ==== * **Site:** [[https://docs.guzzlephp.org|docs.guzzlephp.org]] * **What it does:** HTTP client library. The longtime standard. Async requests, middleware, PSR-18 compatible. * **Install:** ''composer require guzzlehttp/guzzle'' * **Note:** For new projects, consider Symfony HttpClient — lighter dependency tree. ===== Templating ===== ==== Twig ==== * **Site:** [[https://twig.symfony.com|twig.symfony.com]] * **What it does:** The dominant PHP template engine. Sandboxed, extensible, clean syntax. Used by Symfony, Drupal, Grav, and many others. * **Install:** ''composer require twig/twig'' ==== Plates ==== * **Site:** [[https://platesphp.com|platesphp.com]] * **What it does:** Native PHP template engine — no new syntax to learn. Layouts, inheritance, escaping. Feels like PHP, not a DSL. * **Sweet spot:** When you want templates without learning Twig syntax. ==== Latte ==== * **Site:** [[https://latte.nette.org|latte.nette.org]] * **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://www.doctrine-project.org/projects/dbal.html|doctrine-project.org]] * **What it does:** Database abstraction layer. Query builder, schema management, multiple driver support. Without the full ORM weight. * **Install:** ''composer require doctrine/dbal'' ==== Medoo ==== * **Site:** [[https://medoo.in|medoo.in]] * **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://redbeanphp.com|redbeanphp.com]] * **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://symfony.com/doc/current/components/console.html|symfony.com/doc/console]] * **What it does:** Build CLI commands with argument parsing, colored output, progress bars, tables. Standalone Symfony component. * **Install:** ''composer require symfony/console'' * **Sweet spot:** Any PHP CLI tool or cron job that needs more than ''echo''. ==== (Placeholder) Task Schedulers & Job Queues ==== * Crunz (cron scheduler in PHP), PHP-Resque, Symfony Messenger. * //To be expanded.// ===== Developer Tools ===== ==== PHPStan ==== * **Site:** [[https://phpstan.org|phpstan.org]] * **What it does:** Static analysis for PHP. Finds bugs without running the code. Configurable strictness levels. * **Install:** ''composer require --dev phpstan/phpstan'' ==== Psalm ==== * **Site:** [[https://psalm.dev|psalm.dev]] * **What it does:** Alternative static analysis tool. Strong type inference, security analysis, taint tracking. * **Install:** ''composer require --dev vimeo/psalm'' ==== PHP CS Fixer ==== * **Site:** [[https://cs.symfony.com|cs.symfony.com]] * **What it does:** Automatically fixes PHP coding standards. PSR-1, PSR-2, PSR-12, and custom rules. * **Install:** ''composer require --dev friendsofphp/php-cs-fixer'' ==== PHPUnit ==== * **Site:** [[https://phpunit.de|phpunit.de]] * **What it does:** The standard PHP testing framework. Unit and integration tests, mocking, coverage reports. * **Install:** ''composer require --dev phpunit/phpunit'' ==== Pest ==== * **Site:** [[https://pestphp.com|pestphp.com]] * **What it does:** Testing framework built on PHPUnit with a friendlier API. Fluent expectations, cleaner syntax. * **Install:** ''composer require --dev pestphp/pest'' * **Sweet spot:** If PHPUnit feels verbose, Pest is the modern alternative. ==== Clockwork ==== * **Site:** [[https://underground.works/clockwork|underground.works/clockwork]] * **What it does:** PHP dev tools in the browser. Timeline, database queries, log viewer, request data. Browser extension + PHP library. * **Install:** ''composer require --dev itsgoingd/clockwork'' * **Sweet spot:** Debugging and profiling without Xdebug complexity. ==== Xdebug ==== * **Site:** [[https://xdebug.org|xdebug.org]] * **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://cachethq.io|cachethq.io]] * **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://nextcloud.com|nextcloud.com]] * **What it does:** Self-hosted cloud platform. Files, calendar, contacts, notes, video calls, and a large app ecosystem. * **Note:** Heavy but comprehensive. The PHP app ecosystem is genuinely impressive. ==== Kanboard ==== * **Site:** [[https://kanboard.org|kanboard.org]] * **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://snipeitapp.com|snipeitapp.com]] * **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://invoiceninja.com|invoiceninja.com]] * **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/can't do here with WebSockets. * //To be expanded.// ==== (Placeholder) Pastebin & Code Sharing ==== * PrivateBin (listed above), Hastebin, Stikked. * //To be expanded.// ===== Notes & Philosophy ===== * **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" is an architectural choice**, not just a convenience. File-based tools are portable, backup-friendly, and Git-compatible. * **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. ===== Resources & Further Reading ===== * [[https://packagist.org|Packagist]] — PHP package repository * [[https://github.com/ziadoz/awesome-php|Awesome PHP]] — community-maintained PHP resource list * [[https://news.ycombinator.com/|Hacker News]] — where good obscure PHP tools still surface * [[https://www.php.net/manual/en/|PHP Manual]] — underrated, still the best reference