Download the PHP package actra/yuf without Composer
On this page you can find all versions of the php package actra/yuf. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package yuf
Short Description yuf (pronounced "[jʌf]" or "[jʊf]") - A smart, fast and lightweight php framework with zero dependencies.
License MIT AND LGPL-2.1-only AND Apache-2.0
Homepage https://github.com/Actra-AG/yuf
Informations about the package yuf
yuf
yuf (pronounced "[jʌf]" or "[jʊf]") is a smart, fast and lightweight PHP framework without runtime dependencies, installed and loaded with Composer.
- Routing, views, JSON endpoints and an immutable request object
- Template engine with escaping by default and own tags
- Typed form fields, rules, CSRF and spam protection with rate limits and optional CAPTCHA, checked file uploads
- Session object, login with session fixation protection and rate limits, Argon2id passwords, IP whitelists
- PDO connection with typed rows and a safe query builder
- Mail via SMTP (incl. XOAUTH2) or the Microsoft Graph API, reading a mailbox via IMAP (without
ext-imap) - Phone numbers based on libphonenumber
- CSP nonces, rate limiting per IP address, ships no JavaScript
Requirements
- PHP 8.5 or higher
- Extensions:
mbstring,openssl,pdo,intl,bcmath,simplexml,dom,iconv,curl,libxml,ctype,fileinfo
Installation
Start a new project with the yuf skeleton:
Or add yuf to an existing project:
Composer is needed to build the application (vendor/), not on the server: deploy with
composer install --no-dev --optimize-autoloader.
Usage
Without routes, App serves app/view/frontend/ at /. For special cases use $app->core and withRoute(), or
Core directly.
See index.example.php and the documentation:
- Setup: entry point, environment settings, production (host, client IP, PHP settings, request and upload limits), error log
- Views and requests: views, request, path variables, JSON endpoints
- Session and login: session, login, passwords, secret tokens
- Templates: syntax, escaping, snippets and tables, own tags
- Forms: typed values, formatting amounts, rules, spam protection, uploads, extension points
- CAPTCHA: Cloudflare Turnstile in public forms, CSP, privacy
- Database: connection, typed rows, query builder, boolean search
- Mail: SMTP (STARTTLS or implicit TLS), Microsoft 365, log of sent mails
- Mailbox: reading and moving the messages of an IMAP mailbox, text of HTML mails
- Phone numbers: parsing, formats, validation
- Rate limiting: limits per IP address or globally, public forms and logins, without database
- Testing: PHPStan and PHPUnit in projects using yuf, test objects, clock
Upgrading
Read UPGRADE.md before composer update: minor versions may contain breaking changes (marked ⚠️).
Libraries that use yuf require it with ~6.0.0 (minor version locked). Projects on the old
Actra framework: migration guide.
Contributing
Follow the Actra coding standard and AGENTS.md.
composer check (code style, PHPStan, tests) must be green; with DDEV run ddev start and
ddev composer check. The example app in example/ then runs at https://yuf.ddev.site/.
License
© 2026 Actra AG. yuf is licensed under MIT AND LGPL-2.1-only AND Apache-2.0; the
@license tag in the header of each file says which applies:
- MIT, see LICENSE: everything not listed below.
- LGPL-2.1-only, see src/mailer/LICENSE: the classes in
src/mailer/derived from PHPMailer (they say so in their header); the original copyright lines are kept. - Apache-2.0, see src/phone/NOTICE:
src/phone/, adapted from libphonenumber-for-php.
Projects under any license, including proprietary ones, may use yuf. When you distribute yuf (or software containing
it), keep these license files and headers; the LGPL parts must stay replaceable and their source available, which
the PHP source of yuf in vendor/ already ensures. Changes to the LGPL parts stay under the LGPL.
All versions of yuf with dependencies
ext-mbstring Version *
ext-openssl Version *
ext-pdo Version *
ext-intl Version *
ext-bcmath Version *
ext-simplexml Version *
ext-dom Version *
ext-iconv Version *
ext-curl Version *
ext-libxml Version *
ext-ctype Version *
ext-fileinfo Version *