PHPackages                             miladxandi/simplist - 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. miladxandi/simplist

ActiveProject[Framework](/categories/framework)

miladxandi/simplist
===================

A project for creating online blogs in the most easiest way. Every CMS at the first step of its development helped the development process and make it faster to easier. They also made some standards in their framework to improve development and usability, But Fate went with the entry of unprofessional people into this arena The software development industry faces many challenges and sabotage by non-developers, with the Simplist we plan to personalize the service for developers.

4.0.0.1(7y ago)7342Apache-2.0PHPPHP ^7.0

Since Jan 3Pushed 5y ago2 watchersCompare

[ Source](https://github.com/miladxandi/Simplist)[ Packagist](https://packagist.org/packages/miladxandi/simplist)[ Docs](https://simplist.ir)[ RSS](/packages/miladxandi-simplist/feed)WikiDiscussions 4.0.0 Synced today

READMEChangelogDependencies (13)Versions (7)Used By (0)

[![eastCloud User Download](https://camo.githubusercontent.com/a548bcdd3f3089d59944083d2f1e03e3298e7c65c95759f58e3ca410a69ab09f/68747470733a2f2f65617374636c6f75642e69722f436f6e74656e742f4d61696e2f53696d706c6973745f56657273696f6e332e6a7067)](https://camo.githubusercontent.com/a548bcdd3f3089d59944083d2f1e03e3298e7c65c95759f58e3ca410a69ab09f/68747470733a2f2f65617374636c6f75642e69722f436f6e74656e742f4d61696e2f53696d706c6973745f56657273696f6e332e6a7067)

[![ko-fi](https://camo.githubusercontent.com/3083b1b9120d3820370812846fe8349310dbba940baa14700d89db51b80a2629/68747470733a2f2f7777772e6b6f2d66692e636f6d2f696d672f646f6e6174655f736d2e706e67)](https://ko-fi.com/U7U6N2NR)

[![issues](https://camo.githubusercontent.com/4b6ddd69991966318df33d4e5e33e043f2bfbda234e21f26bca93228af377f6a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d696c616478616e64692f53696d706c697374)](https://camo.githubusercontent.com/4b6ddd69991966318df33d4e5e33e043f2bfbda234e21f26bca93228af377f6a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6d696c616478616e64692f53696d706c697374) [![forks](https://camo.githubusercontent.com/83fbe2142d5a0332b4dc103932f0547169c5721ad4d70ff4fea197703ab689ad/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d696c616478616e64692f53696d706c697374)](https://camo.githubusercontent.com/83fbe2142d5a0332b4dc103932f0547169c5721ad4d70ff4fea197703ab689ad/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6d696c616478616e64692f53696d706c697374) [![stars](https://camo.githubusercontent.com/335cb069115d635d8467573e993e78bf58bf54365a49a78d750c38eb8b3871b9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d696c616478616e64692f53696d706c697374)](https://camo.githubusercontent.com/335cb069115d635d8467573e993e78bf58bf54365a49a78d750c38eb8b3871b9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6d696c616478616e64692f53696d706c697374) [![license](https://camo.githubusercontent.com/018b0e2a926aa778b4ce20973ac579061eeee56804afb10cef3e0f23f8e67fd0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d696c616478616e64692f53696d706c697374)](https://camo.githubusercontent.com/018b0e2a926aa778b4ce20973ac579061eeee56804afb10cef3e0f23f8e67fd0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d696c616478616e64692f53696d706c697374)

Simplist
========

[](#simplist)

Simplist is a superfast micro-framework based on PHP
----------------------------------------------------

[](#simplist-is-a-superfast-micro-framework-based-on-php)

We strongly suggest our framework for personal blogs, news agencies &amp; REST API development.

Just like any other PHP framework we started this project based on MVC architecture with the featured services like `$Add->Loader` , `REST API` , `SharedLayouts` , `Middlewares` &amp; pre-defined security concepts. Everything in Simplist is as simple as installing it on your server!

Documentation
=============

[](#documentation)

### Installation

[](#installation)

Download it from [this repository](https://packagist.org/packages/miladxandi/simplist):

> `composer create-project miladxandi/simplist`

Remember your PHP version should be upper than 7 and the local request address should be set on:

> public\_html/

After that, you have to set the username &amp; table of your Database! in a local project for first use, these values should be just like this:

> Table: simplist\_simplist

> Username: root

> Password: Empty ( without value or an empty string)

You can change these values by going to Model layer and change them in Connection.phtml in Core/Configurations folder, or go to this address:

> Core/Configurations/Connection.phtml

Note: There is a SQL Table file in "Resources" folder that you can easily import it to your local or online MySQL database

Until you`re working on a local working directory, the HTTPS protocol is turned off, but if you want to upload it on your server, the HTTPS protocol can be turn on by making the "SecureProtocol" `true` in the Core Folder, at the Configurations Folder you can find a Routing file, or go to this address:

> Core/Configurations/Routing.phtml

You can change the `$SecureProtocol = false;` to `$SecureProtocol = true;`

It`s completely installed and ready for use.

### Routing

[](#routing)

To define your own routes, go to this address:

> Route/Setting/Routes.phtml

There is just an array returner that returns the url as an array key and configurations as its values. Every new route should exactly create from this template:

```
'/aboutus' => [
 'target'=>'Main.Home.Aboutus',
 'get'=> true,
 'post'=> false,
 'middleware'=>'Main.Home.Aboutus'
 'important'=>false
 ],

```

Let me describe it line by line:

`'/aboutus' `

> This is a web address that will process the requested address by Controllers and Middlewares and is a key of an array. Note: Our router system is not case sensitive, but you`ve to define lowercase routes.

`'target'=>'Main.Home.Aboutus'`

> It means the target Controller is "HomeController" in the "Main" folder of Controllers folder and after requesting this address "Aboutus" method will be called as it wrote at the end of `'target'=>'Main.Home.Aboutus'`Controller. also you can process on a `Querry String` by getting it, in its function parameters. You can also make some request to Database in Controller files. The given `Querry String` or Database values should insert into an array with `$Viewbag` name. You can send them into your web page by this code: `View::Process("Main.Home.Post",$Viewbag);`It`s now accessible from the requested "View" file in "public\_html/View/...". Instead of writing your logic codes into the Controllers, we encourage you to put them in the "Logic" folder in the Model folder. There are some great Contracts in this folder to help you develop your business better than ever.

Note: Controllers and Middlewares have to create with exactly `Controller.phtml` or `Middleware.phtml` extensions, but should be written here without these extensions. For example, we have "HomeController" but we can access it by writing just its name without the "Controller" word: "Home"

`'get'=> true ` or `'post'=> false `

> These are the general server request methods that we can define here. if you want to deny any post request, you just need to change the `post` value to `false`. Then you can see every request with the `POST` request method will show you a "Request Method Not Allowed" error.

`'middleware'=>'Main.Home.Aboutus'`

> When there was no conflict with the requested URL &amp; its defined request method, before launching Controllers, we have some middleware to do some validations. It can use to check security cookies or website language options and etc. Every Middleware should return `true` in its "Status" key to pass its examination. Middlewares also can process on a `Querry String` by getting it, in their function parameters. Just like Controllers, we need their pure name without the "Middleware" word.

`'important'=>false `

> As you read before, our system is not case sensitive by default, but sometimes you need to process on a case sensitive url to validate some tokens and sensitive data or any other reason. you can change this rule of our Routing system by using `'important'=>true ` or turn it off by `'important'=>false `. Note: This key in Routing array is not required.

### API

[](#api)

To define your own routes, go to this address:

> Route/Setting/Api.phtml

There is just an array returner that returns the url as an array key and configurations as its values. Every new route should exactly create from this template:

```
'/api' => [
    'target' => 'Api.Home.Index',
    'allowed'=> 'get',
    'blocked'=> 'DELETE',
    'middleware'=>'Main.Home.Index',
    'important'=>false
]

```

Let me describe it line by line:

`'/api' `

> This is a web address for calling API and will process the requested service by Controllers and Middlewares and is a key of an array. Note: Our router system is not case sensitive, but you`ve to define lowercase routes.

`'target' => 'Api.Home.Index'`

> It means the target Controller is "HomeController" in the "Api" folder of Controllers folder and after requesting this address "Index" method will be called as it wrote at the end of `'target' => 'Api.Home.Index'`Controller. also you can process on a `Querry String` by getting it, in its function parameters. You can also make some request to Database in Controller files. Instead of writing your logic codes into the Controllers, we encourage you to put them in the "Logic" folder in the Model folder. There are some great Contracts in this folder to help you develop your business better than ever.

Note: Controllers and Middlewares have to create with exactly `Controller.phtml` or `Middleware.phtml` extensions, but should be written here without these extensions. For example, we have "HomeController" but we can access it by writing just its name without the "Controller" word: "Home"

`'allowed'=> 'get'` or `'blocked'=> 'DELETE' `

> If you want to let your app work any HTTP Verb, you can define it here and separate them with a comma to let your API use this methods. For example we want our app interact with our server with `POST` and `GET` methods; so we`ve to define both of them here just like this:

`'allowed'=> 'get,post'`

> Then we want to restrict some HTTP verbs from request to our server, we need to write them in the `blocked` part of this section:

`'blocked'=> 'DELETE'`

> We can write as many as verbs we want in these to sections.

`'middleware'=>'Main.Home.Aboutus'`

> When there was no conflict with the requested URL &amp; its defined request method, before launching Controllers, we have some middleware to do some validations. It can use to check security cookies or website language options and etc. Every Middleware should return `true` in its "Status" key to pass its examination. Middlewares also can process on a `Querry String` by getting it, in their function parameters. Just like Controllers, we need their pure name without the "Middleware" word.

`'important'=>false `

> As you read before, our system is not case sensitive by default, but sometimes you need to process on a case sensitive url to validate some tokens and sensitive data or any other reason. you can change this rule of our Routing system by using `'important'=>true ` or turn it off by `'important'=>false `. Note: This key in Routing array is not required.

### Features

[](#features)

#### oLoad

[](#oload)

The `oLoad` library is a *Simplist* service and defined to help your html `head` section be more clean. if you need to use this library, you have to use this code in your view file at first:

> ` `

In this code, you can define different locations for your JS, CSS, Images and etc. As we let you customize your app, the `../../..` will show you the default root of these contents, but you can change it in every page that you`re creating it.

This code can import external JS or CSS libraries or Images.

Also, it can add unique types of files to your project.

This is a complete code to show how can you show an image on your html:

> ``

This Code means:

> ``

And will create a complete `` tag anywhere it used.

You can add JS and CSS libraries just like this; But except everything after the `Local` argument in that method and their own extensions like this:

> ``

> ``

The `UniqueUrl` argument let you define internal or external libraries or images. if there is no need to define `UniqueUrl`, just leave an empty double quotation (`""`) or pass null as its argument.It`s null by default.

The `Local` argument means the library or image is a local file or not, The system will use the default root with the given argument to find that file if the `Local` was `true`.

The `UniqueType` argument must be `true` if the extension were everything except js, CSS, png, jpeg, jpg, and ico. It`s `false` by default.

The `js` extension will create complete `` code everywhere you call it. The `css` extension will create complete `` code everywhere you call it.

#### SharedLayouts

[](#sharedlayouts)

*SharedLayouts* is name of a *Simplist* service that is in the Shared folder in View Folder(`public_html/View/Shared`).

It contains 2 folders and a .phtml file with "Layouts" name by default. The Layouts file can contains one or more classes for each part of project. for example there is a class just like this:

> ```
>  class MainLayouts
>  {
>      public static function _Header()
>      {
>          include "Main/_HeaderLayout.phtml";
>      }
>      public static function _Menu()
>      {
>          include "Main/_MenuLayout.phtml";
>      }
>      public static function _Footer()
>      {
>          include "Main/_FooterLayout.phtml";
>      }
>  }
>
> ```

It includes some methods to load some other view files as header, menu and footer. There s no complex concept.

We put some Mark down files with ".md" extensions as our detailed guide files. We strongly suggest your to download and install a mark down viewer for your brower to view this files with better experience.

### Tasks

[](#tasks)

- Starters Documentation
- Complete Documentations
- Fix Authentication &amp; Authorization Bugs
- Handle the requested URl with regex
- Make a development environment for Database connection, Secure protocol &amp; etc
- RESTFUL API support

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~132 days

Recently: every ~146 days

Total

6

Last Release

2024d ago

Major Versions

3.9.4.1 → 4.0.0.02019-03-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/c7b2c7b1714ca42f4ca9f58fc910522c6fadb9d18f79b4ce7185cc3fddfa3ad1?d=identicon)[miladxandi](/maintainers/miladxandi)

---

Top Contributors

[![miladxandi](https://avatars.githubusercontent.com/u/14123220?v=4)](https://github.com/miladxandi "miladxandi (196 commits)")

---

Tags

middlewaremvc-applicationmvc-architecturemvc-frameworkopen-source-projectphpphp-frameworkphp7frameworkSimplistSimplist Framework

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/miladxandi-simplist/health.svg)

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

###  Alternatives

[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k96.9M674](/packages/laravel-socialite)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k84.2M225](/packages/laravel-horizon)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[laravel/boost

Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.

3.4k10.6M272](/packages/laravel-boost)[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)

PHPackages © 2026

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