PHPackages                             professionalweb/pwf - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. professionalweb/pwf

ActiveLibrary[Framework](/categories/framework)

professionalweb/pwf
===================

Professional web framework

0.9.2(8y ago)01651MITPHPPHP &gt;=5.4.0

Since Nov 6Pushed 8y ago1 watchersCompare

[ Source](https://github.com/SergioMadness/framework)[ Packagist](https://packagist.org/packages/professionalweb/pwf)[ Docs](http://pwf.web-development.pw/)[ RSS](/packages/professionalweb-pwf/feed)WikiDiscussions dev Synced 2mo ago

READMEChangelog (10)Dependencies (7)Versions (20)Used By (1)

PWF - framework for professional web development
================================================

[](#pwf---framework-for-professional-web-development)

[![Latest Stable Version](https://camo.githubusercontent.com/71622bf795efd04de60d3c259875f61130290cd4aab8766a93e6be6f71cdfca4/68747470733a2f2f706f7365722e707567782e6f72672f70726f66657373696f6e616c7765622f7077662f762f737461626c65)](https://packagist.org/packages/professionalweb/pwf)[![Build Status](https://camo.githubusercontent.com/b5361623f42cac5a9f06b0c3671f1878b39be6a3ff0e9ad7d9957b8667f042c0/68747470733a2f2f7472617669732d63692e6f72672f53657267696f4d61646e6573732f6672616d65776f726b2e7376673f6272616e63683d646576)](https://travis-ci.org/SergioMadness/framework)[![Code Climate](https://camo.githubusercontent.com/2f5764f1e949cd7b20c945d5c587155dbd23f0a25c7bd09a3f00fb00f2d61425/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f53657267696f4d61646e6573732f7077662f6261646765732f6770612e737667)](https://codeclimate.com/github/SergioMadness/pwf)[![Coverage Status](https://camo.githubusercontent.com/a1ee3457e8df9c234f61b1066d2e9a011a46f7cf0c7c5e80147707250ce137df/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f53657267696f4d61646e6573732f6672616d65776f726b2f62616467652e7376673f6272616e63683d646576)](https://coveralls.io/github/SergioMadness/framework?branch=dev)[![Dependency Status](https://camo.githubusercontent.com/9b59a6fa7c917db6b8c895a4550a0580bb8e201f2e56333fa50f9539466eafe4/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3536623533613865306130666635303033623937353831352f62616467652e7376673f7374796c653d666c6174)](https://www.versioneye.com/user/projects/56b53a8e0a0ff5003b975815)[![License](https://camo.githubusercontent.com/9888d76ebbf2eaf217de3db74f09f4052c62c4bf79e971c3ddaaeded166c2a2c/68747470733a2f2f706f7365722e707567782e6f72672f70726f66657373696f6e616c7765622f7077662f6c6963656e7365)](https://packagist.org/packages/professionalweb/pwf)[![Latest Unstable Version](https://camo.githubusercontent.com/b1cc6fcf630e1810bf9d8cdaa5d3cf17872cb53a575531b99831c84b97fd0fb2/68747470733a2f2f706f7365722e707567782e6f72672f70726f66657373696f6e616c7765622f7077662f762f756e737461626c65)](https://packagist.org/packages/professionalweb/pwf)

Project structure
-----------------

[](#project-structure)

```
autoloader/          autoloader
basic/               basic classes
    controller/      basic controllers
    db/              classes for working with DB
    interfaces/      basic interfaces
components/          modules
    activerecord/    AR pattern
    authorization/   authorization/identity module
    compressor/      response minifier
    datamapper/      data mapper pattern
    datapaginator/   pagination
    dbconnection/    database connection module
    eventhandler/    event handler
    i18n/            internationalization module
    monologadapter/  adapter for [Seldaek/monolog](https://github.com/Seldaek/monolog)
    observer/        obserber pattern
    socialite/       socialite adapter
    sphinxql/        adapter for [foolz/sphinxql-query-builder](https://github.com/FoolCode/SphinxQL-Query-Builder)
    swiftmailer/     swiftmailer adapter
exception/           exception classes
    abstraction/     abstract classes
    interfaces/      interfaces
traits/              traits
web/                 web/net objects

```

Requirements
------------

[](#requirements)

- PHP 5.4+

Dependencies
------------

[](#dependencies)

- [monolog/monolog](https://github.com/Seldaek/monolog)
- [professionalweb/pwf-helpers](https://github.com/SergioMadness/pwf-helpers)
- [professionalweb/query-builder](https://github.com/SergioMadness/query-builder)

Installation
------------

[](#installation)

PWF is available through [composer](https://getcomposer.org/)

composer require professionalweb/pwf "dev-master"

Alternatively you can add the following to the `require` section in your `composer.json` manually:

```
"professionalweb/pwf": "dev-master"
```

Run `composer update` afterwards.

Initialization
--------------

[](#initialization)

\##index.php

```
require(__DIR__ . '/../vendor/autoload.php');

(new \project\Application())->run();
```

\##Application.php

```
namespace project;

use pwf\basic\RouteHandler;
use Symfony\Component\Yaml\Yaml;

class Application extends \pwf\basic\Application
{

    public function __construct()
    {
        parent::__construct(Yaml::parse(file_get_contents('../project/config/config.yaml')));

        RouteHandler::registerHandler('/',
            '\project\controllers\MainController::index');

        $this->getResponse()->setHeaders([
            "Access-Control-Allow-Headers: Content-Type",
            "Content-Type:text/html; charset=utf-8"
        ]);
    }
}
```

Controllers
-----------

[](#controllers)

```
