PHPackages                             platfor/ifehrim - 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. platfor/ifehrim

ActiveFramework[Framework](/categories/framework)

platfor/ifehrim
===============

Platfor is a PHP and IPO based micro framework that helps you quickly write simple yet powerful micro services applications and APIs.

30PHPCI failing

Since Nov 5Pushed 6y ago2 watchersCompare

[ Source](https://github.com/ifehrim/Platfor)[ Packagist](https://packagist.org/packages/platfor/ifehrim)[ RSS](/packages/platfor-ifehrim/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Platfor MicroServices Framework \[PHP\]
=======================================

[](#platfor-microservices-framework-php)

[![Build Status](https://camo.githubusercontent.com/88bb50d29b9d750e5c1ca280c29857220d27d07a388825ab054ac52ac858c4c6/68747470733a2f2f7472617669732d63692e6f72672f6966656872696d2f506c6174666f722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ifehrim/Platfor)[![Coverage Status](https://camo.githubusercontent.com/177dba5b034724a15385df26f97685151a10938a3cbdaa299de4629c95a8db18/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6966656872696d2f506c6174666f722f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/ifehrim/Platfor?branch=master)

Platfor is a PHP and IPO based micro framework that helps you quickly write simple yet powerful micro services applications and APIs.

### Hello World Tutorial For \[Index.php\]

[](#hello-world-tutorial-for-indexphp)

Instantiate a Platfor application:

```
$app = App::init();

Http::get('/blog/*', $app, [Home::class, 'getInfo']);

$app->execute();
```

### Hello World Tutorial For \[Home.php\]

[](#hello-world-tutorial-for-homephp)

Instantiate a Platfor application:

```
class Home
{
    use _Frame;

    //middileware requirments if You need
    static $__before=[
        Auth::class
    ];

    public static function getInfo(App $app){

        $app->take('Home',[
            'name'=>'Title',
            'page'=>'Hello World!',
            'date'=>time(),
        ]);

        return $app;
    }
}
```

Response For That:

```
{
  "edit": "ok",
  "Home": {
    "name": "Title",
    "page": "Hello World!",
    "date": 1571915345
  }
}
```

Features
--------

[](#features)

- Micro Services
    - Standard IPO architecture
    - Micro services architecture
- Powerful router
    - Standard and custom HTTP methods
    - Route parameters with wildcards and conditions
    - Route redirect, halt, and pass
    - Route middleware
- Flash messages
    - Message Taker
    - Multi url request once
- HTTP caching
- Middleware and hook architecture
- Simple configuration

Getting Started
---------------

[](#getting-started)

### Install

[](#install)

You may install the Platfor Framework with Git (recommended) or manually.

Git:

```
$ git clone https://github.com/ifehrim/Platfor.git
```

Composer:

```
$ composer require platfor/ifehrim
```

You may quickly test this using the built-in PHP server:

```
$ php -S localhost:8000 -t ./
```

Going to  will now display "Hello, world".

### System Requirements

[](#system-requirements)

You need **PHP &gt;= 5.3.0**. If you use encrypted cookies, you'll also need the `mcrypt` extension.

### Setup your web server

[](#setup-your-web-server)

#### Apache

[](#apache)

Ensure the `.htaccess` and `index.php` files are in the same public-accessible directory. The `.htaccess` file should contain this code:

```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

```

Additionally, make sure your virtual host is configured with the AllowOverride option so that the .htaccess rewrite rules can be used:

```
AllowOverride All

```

#### Nginx

[](#nginx)

The nginx configuration file should contain this code (along with other settings you may need) in your `location` block:

```
try_files $uri $uri/ /index.php?$args;

```

This assumes that Platfor's `index.php` is in the root folder of your project (www root).

#### HipHop Virtual Machine for PHP

[](#hiphop-virtual-machine-for-php)

Your HipHop Virtual Machine configuration file should contain this code (along with other settings you may need). Be sure you change the `ServerRoot` setting to point to your Platfor app's document root directory.

```
Server {
    SourceRoot = /path/to/public/directory
}

ServerVariables {
    SCRIPT_NAME = /index.php
}

VirtualHost {
    * {
        Pattern = .*
        RewriteRules {
                * {
                        pattern = ^(.*)$
                        to = index.php/$1
                        qsa = true
                }
        }
    }
}

```

#### lighttpd

[](#lighttpd)

Your lighttpd configuration file should contain this code (along with other settings you may need). This code requires lighttpd &gt;= 1.4.24.

```
url.rewrite-if-not-file = ("(.*)" => "/index.php/$0")

```

This assumes that Platfor's `index.php` is in the root folder of your project (www root).

#### IIS

[](#iis)

Ensure the `Web.config` and `index.php` files are in the same public-accessible directory. The `Web.config` file should contain this code:

```

```

#### Google App Engine

[](#google-app-engine)

Two steps are required to successfully run your Platfor application on Google App Engine. First, ensure the `app.yaml` file includes a default handler to `index.php`:

```
application: your-app-name
version: 1
runtime: php
api_version: 1

handlers:
# ...
- url: /.*
  script: public_html/index.php

```

Next, edit your `index.php` file so Platfor knows about the incoming URI:

```
$app = new Platfor();

Http::post('/blog(/@year(/@month(/@day)))', $app, Article::class);

// ...
$app->run();
```

Documentation
-------------

[](#documentation)

updating ...

How to Contribute
-----------------

[](#how-to-contribute)

*NOTE: We are only accepting security fixes for Platfor 2 (master branch). All development is concentrated on Platfor 3 which is on the develop branch.*

### Pull Requests

[](#pull-requests)

1. Fork the Platfor Framework repository
2. Create a new branch for each feature or improvement
3. Send a pull request from each feature branch to the **develop** branch

It is very important to separate new features or improvements into separate feature branches, and to send a pull request for each branch. This allows me to review and pull in new features or improvements individually.

### Style Guide

[](#style-guide)

All pull requests must adhere to the [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) standard.

### Unit Testing

[](#unit-testing)

All pull requests must be accompanied by passing unit tests and complete code coverage. The Platfor Framework uses `phpunit` for testing.

[Learn about PHPUnit](https://github.com/sebastianbergmann/phpunit/)

Community
---------

[](#community)

### Forum and Knowledgeable

[](#forum-and-knowledgeable)

Visit Platfor's official forum and knowledge base at where you can find announcements, chat with fellow Platfor users, ask questions, help others, or show off your cool Platfor Framework apps.

### Twitter

[](#twitter)

updating...

Author
------

[](#author)

The Platfor Framework is created and maintained by \[Alm.Pazel\] . Alm is a senior backend developer at \[Lool Ltd Shanghai\]. Alm also a student at SISU.

PHP programmers to best practices and good information.

License
-------

[](#license)

The Platfor Framework is released under the MIT public license.

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d7733e1fc06819336d7df21e178620b136eacc4e65657ab16280f325f03de5f?d=identicon)[ifehrim](/maintainers/ifehrim)

---

Top Contributors

[![ifehrim](https://avatars.githubusercontent.com/u/31912935?v=4)](https://github.com/ifehrim "ifehrim (15 commits)")

### Embed Badge

![Health badge](/badges/platfor-ifehrim/health.svg)

```
[![Health](https://phpackages.com/badges/platfor-ifehrim/health.svg)](https://phpackages.com/packages/platfor-ifehrim)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M529](/packages/laravel-passport)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M255](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M591](/packages/laravel-prompts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
