User Tools

Site Tools


php_tools_components

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
php_tools_components [2026/05/08 04:54] – created smicksterphp_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 on heavy frameworks +knowing. Updated over time as good things surface. 
-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.
  
 > "Don't forget PHP" — it runs everywhere, needs nothing, and often outlasts the > "Don't forget PHP" — it runs everywhere, needs nothing, and often outlasts the
 > framework of the week. > framework of the week.
- 
----- 
  
 ===== Search ===== ===== Search =====
Line 23: Line 23:
   * **HN discussion:** [[https://news.ycombinator.com/item?id=48041316|Hacker News thread]]   * **HN discussion:** [[https://news.ycombinator.com/item?id=48041316|Hacker News thread]]
  
----- 
  
-===== Self-Hosted Applications =====+===== 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 ==== ==== DokuWiki ====
   * **Site:** [[https://www.dokuwiki.org|dokuwiki.org]]   * **Site:** [[https://www.dokuwiki.org|dokuwiki.org]]
-  * **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. Highly extensible via plugins+    text files. Strong plugin ecosystem, access control, revision history
-  * **Why it belongs here:** A strong example of what PHP can do without a database+  * **Why it belongs here:** A model example of PHP's "runs anywhere" strength
-    Lightweight, portable, still actively maintained. +    Lightweight, portable, actively maintained for 20+ years
-  * **Sweet spot:** Documentation, personal wikis, intranets, project notes.+  * **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.
  
-===== To Explore / Add =====+==== (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.//
  
-Categories to fill in over time:+==== (Placeholder) Pastebin & Code Sharing ==== 
 +  * PrivateBin (listed above), Hastebin, Stikked. 
 +  * //To be expanded.//
  
-  * **Routing** — lightweight standalone routers (FastRoute, Bramus Router) +===== Notes & Philosophy =====
-  * **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+
  
-----+  * **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.
  
-===== Notes =====+===== Resources & Further Reading =====
  
-  * Prefer tools that work on **shared hosting** (no Docker, no root) where possible+  * [[https://packagist.org|Packagist]] — PHP package repository 
-  * Flag anything that requires zero Composer dependencies separately — useful for +  * [[https://github.com/ziadoz/awesome-php|Awesome PHP]] — community-maintained PHP resource list 
-    drop-in scenarios. +  * [[https://news.ycombinator.com/|Hacker News]] — where good obscure PHP tools still surface 
-  * When evaluating a tooldoes it still work in 5 years if the author disappears? +  * [[https://www.php.net/manual/en/|PHP Manual]] — underrated, still the best reference
-    File-based and self-contained wins points here.+
  
----- 
  
-//Last updated: {{DATE}}// 
php_tools_components.1778216057.txt.gz · Last modified: by smickster

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki