ReasonableFramework is RVHM structured PHP framework. aka, RSF, VSPF, C-2020-018490
Go to file
2023-04-14 17:53:14 +09:00
assets Update payman.js 2019-10-14 01:54:13 +09:00
helper Update webpagetool.php 2022-12-19 10:30:31 +09:00
route Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
storage Update l10n.ini.php 2021-04-04 04:42:49 +09:00
system Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
vendor add lguplus sms sdk 2019-10-08 10:24:00 +09:00
view Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
webapp Create webapp.md 2019-02-23 05:32:09 +09:00
bootstrap.707.sh Create bootstrap.707.sh 2019-04-15 15:38:36 +09:00
bootstrap.sh Update bootstrap.sh 2019-02-26 16:24:34 +09:00
CDN_HOWTO.md Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
cli.php Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
composer.json Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
fixindent.sh fix vendor, indentation 2019-05-20 17:19:05 +09:00
FUNDING.yml Update and rename .github/FUNDING.yml to FUNDING.yml 2019-05-24 10:45:59 +09:00
index.php Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
KOREAN.MD Add the email contact to report abuse 2022-11-25 23:15:20 +09:00
lgplv3-147x51.png update readme 2020-02-17 12:35:16 +09:00
LICENSE Create LICENSE 2018-07-23 15:49:22 +09:00
README.md Update README.md 2023-04-14 17:53:14 +09:00
SECURITY.md Update SECURITY.md 2022-12-12 16:23:23 +09:00
VERSION.MD Update VERSION.MD 2018-03-09 22:00:19 +09:00
welcome.bat Update welcome.bat 2018-07-23 14:03:15 +09:00
welcome.sh Update welcome.sh 2018-07-23 14:03:25 +09:00

ReasonableFramework

License LGPLv3 Registered KCC C-2020-018490

  • ReasonableFramework is RVHM structured PHP framework with common security
  • Prefix code: RSF (ReasonableFramework)
  • Old prefix code: VSPF (Very Simple PHP Framework)

This project open source licensed under LGPL version 3

Note: This project has been assigned a registration number by the Korea Copyright Commission Software Copyright Registration System. It was registered on June 3, 2020, with registration number C-2020-018490 for version v1.6.5.1-kcc. This registration does not affect the open source license applied to this project.

Security policy

Specification

  • Database connection (via PDO, MySQLi (MySQL Improved), MySQL Tranditional, MySQL CLI, Oracle(OCI))
  • RVHM structure: R is Route (like as controller), V is View, H is Helper (like as import on Python/Go/NodeJS), M is Model and implemented with KV bind(like as Map data structure), Model is not required.
  • Controllable shared variables: Minimize abuse of global variables (Inspired by the scope of AngularJS, and SharedPreferences of Android Framework)

Compatible

  • Tested in PHP 5.3.3
  • Tested in PHP 7.x

How to use

  • Extract or clone this project to your (restrictive) shared web hosting.
  • You can intergrate all of PHP projects (linear, modular (ex. autoloader), or others) without complicated extensions.
  • You can write your code and rewrite by route parameter without heavy framework. (like as controller)
  • You can add your custom ini.php configuration file in config directory.
  • Enjoy it!

Map of structure

Map of structure

Quick Start

  1. git clone https://github.com/gnh1201/reasonableframework.git
  2. edit database configuration: /storage/config/database.ini.php
  3. create new file: /route/example.php
  4. go to http://:base_url/?route=example or http://:base_url/example/(if set .htaccess) in the web browser.
  5. code it.

Use cases

Remote logging

Compatible of free web hostings

Provider Pass? Tested version Note
vultr.com (Vultr Holdings Co.) ✔️ Passed v1.6.5.2 Paid, Pre-configured LAMP server
cafe24.com (Cafe24 Inc.) ✔️ Passed v1.6.2 Paid
woobi.co.kr (MyCGI) ✔️ Passed v1.6.2
dothome.co.kr (Anysecure Inc.) ✔️ Passed v1.5
ivyro.net (Smileserv Inc.) ✔️ Passed v1.5
000webhost.com ⚠️ Warn v1.5 Advertising logo
freewebhostingarea.com ✔️ Passed v1.5
infinityfree.net ⚠️ Warn v1.5 Anti-crawling
freehosting.io ✔️ Passed v1.5
freehostingeu.com ⚠️ Warn v1.5 CURL blocked
freehostingnoads.net ⚠️ Warn v1.5 CURL blocked
awardspace.com ⚠️ Warn v1.5 CURL blocked

How to use CLI (Command-line interface)

$ php cli.php --route :route --session-id :session_id

Comment about PSR standards

Many people are saying that this project seems to be distant from the PSR standards, and that claim is correct.

The coding convention of this project is similar to the CGI style that was widely used in the early 2000s. Moreover, this style is still observed in solutions written in PHP that are sold in markets such as WordPress plugins, a local-optimized CMS, or Codecanyon in 2023.

Although this project hardly uses object-oriented concepts and does not use package managers like Composer much, it still incorporates concepts such as Model, View, Controller, Router, and Helper that are proposed in modern frameworks, and we have made efforts to provide a similar experience as much as possible.

We made efforts to address common security vulnerabilities (XSS, CSRF, SQL injection) in web applications, and included many code snippets that were designed to minimize reliance on specific DBMS or communication drivers

The specifications that this project offers are still in demand in enterprise environments, so it can be a useful solution if you happen to be in such a situation.

Whenever this project was introduced, I received a lot of questions about PSR, and I also made efforts to find customers who were willing to pay for a PSR version, such as holding conferences for existing customers. However, there is still no good news. Until good news comes, my plan is to mainly maintain this project.

If you want to comply with the PSR standards and your colleagues are also ready to learn them humbly, we recommend that you consider Codeigniter (which has a similar structure to this project) or Silm Framework.

Contact us