Build a high-performance PHP web app that handles more traffic without needing bigger servers.
Replace a slow pure-PHP framework with a C-powered alternative that keeps the familiar MVC folder structure.
Scaffold a new PHP project quickly using the built-in code generator to skip boilerplate setup.
Run legacy PHP 5.2 projects on a modern MVC framework using the older Yaf branch.
Install via PECL with one command, then enable the extension in php.ini. Requires PHP 7.0+. Web server URL rewriting (Apache/Nginx) must be configured to point all requests to public/index.php.
Yaf (Yet Another Framework) is a PHP web framework written in C rather than PHP itself. Instead of loading framework code on every request like a standard PHP library would, Yaf is compiled as a PHP extension and loaded directly into the PHP engine. This makes it significantly faster and lighter on memory than frameworks written in pure PHP. The framework follows the Model-View-Controller (MVC) pattern, which separates application logic (controllers), data handling (models), and HTML output (views) into distinct folders. A typical project has a single public entry point, an index.php file, and all incoming URLs are rewritten to route through it using Apache, Nginx, or Lighttpd rewrite rules. The application configuration lives in an INI file that sets paths and environment-specific settings. Controllers in Yaf extend a base class and expose action methods that handle requests. The default view engine renders PHP-based templates stored as .phtml files. There is also support for bootstrap files (for app initialization), plugins (for hooks into the request lifecycle), and a library folder for shared code. Installation is done through PECL, the PHP extension registry, with a single command. You can also compile it manually from source if needed. The framework requires PHP 7.0 or later on the main branch, with an older branch available for PHP 5.2 projects. Official documentation is hosted on the php.net manual. A code generator tool is included in the repository to scaffold out a starter project automatically, reducing the amount of boilerplate you need to write by hand.
← laruence on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.