usbac/wolff

Ridiculously small PHP framework

Installs: 302

Dependents: 0

Suggesters: 0

Security: 0

Stars: 216

Watchers: 16

Forks: 22

Open Issues: 1

Type:project

4.1.0 2021-09-14 15:54 UTC

README

Web development made just right.

68747470733a2f2f7472617669732d63692e6f72672f55736261632f776f6c66662e7376673f6272616e63683d6d6173746572 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f737461626c652d342e312e302d626c75652e737667 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d6f72616e67652e737667

Wolff is a ridiculously small and lightweight PHP framework, intended for those who want to build web apps without dealing with complexity.

Wolff is the perfect solution for building small and medium-sized web applications.

Note: The core code of the framework is available at Wolff-framework.

Features

📓 Extremely easy: It's simple to use and comes ready to be deployed, giving you the opportunity to learn it in just a single night (sleep included).

🚀 Ridiculously fast: Due to its simplicity, the framework is able to handle hundreds of requests per second. It's very friendly with potato servers.

🛠️ Comprenhensive: It has everything you may need for building a web app, from a handy database abstraction layer to a dynamic template engine.

🦄 Elegant: Its source code and interface has been meticulously written, it's expressive and elegant, without depending on a single external dependency.

What's included

And much more...

Requirements

  • PHP version 7.1 or higher

  • Composer (Only for installation)

Install

Composer is required for installing Wolff, once you got it...

Run the following command in the folder where you want Wolff to be installed:

composer create-project usbac/wolff

This will download the whole project with everything ready to run.

More info about the installation process in the Docs - install page.

Bundle

You can also download here the last bundle ready to be used.

Example

app/controllers/home.php:

‹?php

namespace Controller;

use Wolff\Core\{Language, View};

class Home
{
    public function index($req, $res)
    {
        $data = Language::get('home');    
        View::render('home', $data);
    }
}

More examples available here.

Testing

PHPUnit is required for the tests, once you got it.

Run the following command with high privileges (sudo) in your wolff project folder:

vendor/bin/phpunit

Running the command with high privileges is required since some files will be created during the testing process.

Documentation

First time using it? Read the Documentation.

Contributing

Any contribution or support to this project in the form of a pull request or message will be highly appreciated. ❤️

You can read more about the contribution process right here. Don't be shy. :)

License

Wolff is open-source software licensed under the MIT license.