2017 © Pedro Peláez
 

library light-php-framework

Light php MVC

image

ariffazmi/light-php-framework

Light php MVC

  • Monday, January 2, 2017
  • by ariffazmi
  • Repository
  • 1 Watchers
  • 0 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

PFW Framework

Install the Application

Composer

Download from github repository. Run composer install on your terminal., (*1)

How To Use

Open file .htaccess in root directory. Then change this value with the folder directory name, (*2)

RewriteEngine On
RewriteBase /replace-your-directory-folder-name
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ index.php?uri=$1 [QSA,L]

Server Environment

Go to root folder directory for this project, then run this command on your terminal., (*3)

php pfw setServerEnv yourserverlocation serverusername serverpassword serverdatabase, (*4)

Or you can edit this file at Pfw/App/Pfw/Server.php, (*5)

define('SERVERLOCATION', '');
define('SERVERUSERNAME', '');
define('SERVERPASSWORD', '');
define('SERVERDATABASE', '');

Routing

require 'vendor/autoload.php';

use App\Pfw\Main as App;

$app = new App([
    'debug' => true
]);


//POST
$app->post('/saveUser', function() use($app){

  echo "User Saved! ";
});

//GET
$app->get('/', function() use($app){

  echo "Hello, im your home page.";
});

//GET WITH PARAMETER
$app->get('/hello/.+', function($name) use($app){

  echo "Hello, $name.";
});

Routing With Controller

//POST
$app = new \App\Main\Pfw([
  'debug' => true
]);

$app->post('/saveUser', function() use($app){

  $app->controller("UserController@save");
});

//GET
$app->get('/', function() use($app){

  $app->controller("HomeController@index");
});

//GET WITH PARAMETER
$app->get('/hello/.+', function($name) use($app){

  $app->controller("HomeController@greetings",$name);
});

Model

=======================
Example model for User:
=======================

namespace App\Models;

/**
* @return User data
*/

use \App\Pfw\Model;

Class User extends Model{

    protected $table = 'users';
}

============================
Meanwhile in UserController:
============================

namespace App\Controllers;

use \App\Pfw\Main as App;
use \App\Http\Request as Request;

use \App\Models\User as User;

//For store data
public function store()
{
$user = new User();

$user->fname = "John Doe";
$user->email = "johndoe@gmail.com";
$user->mobile_no = "60123456789";

$save = $user->save();
}

//For update data
public function update()
{
$user = new User();

$user->id = 15;
$user->fname = "John Doe 1";
$user->email = "johndoe1@gmail.com";
$user->mobile_no = "60123456789";

$save = $user->save();
}

//For delete data
public function delete()
{
$user = new User();

$user->id = 15;

$delete = $user->delete();
}

//For request form data
public function reqFormData(){

    $req = new Request();

    echo $req->username;
}

//For finding data based on user id
public function FindByUid(){

    $user = new User();
    echo "<pre>";
    //Put your id as parameter to that function
    print_r($user->FindByUid(3));
}

//For finding data based on user id and email
public function FindByUidAndEmail(){

    $user = new User();
    echo "<pre>";
    //Put your id as parameter to that function
    print_r($user->FindByUidAndEmail(3,'john.doe@gmail.com'));
}

//For finding data based on user id or email
public function FindByUidOrEmail(){

    $user = new User();
    echo "<pre>";
    //Put your id and email as parameter to that function
    print_r($user->FindByUidOrEmail(3,'john.doe@gmail.com'));
}

//For finding data based on user id between specific range
public function FindByUidBetween(){

    $user = new User();
    echo "<pre>";
    //Put your range as parameter to that function
    print_r($user->FindByUidBetween(0,10));
}

//For finding data based on user id less than specific range
public function FindByUidLessThan(){

    $user = new User();
    echo "<pre>";
    //Put your range as parameter to that function
    print_r($user->FindByUidLessThan(10));
}

//For finding data based on user id less greater than specific range
public function FindByUidGreaterThan(){

    $user = new User();
    echo "<pre>";
    //Put your range as parameter to that function
    print_r($user->FindByUidGreaterThan(10));
}

//For finding data based on user status is null
public function FindByStatusIsNull(){

    $user = new User();
    echo "<pre>";
    //Put your range as parameter to that function
    print_r($user->FindByStatusIsNull());
}

//For finding data based on username like without %% symbol
public function FindByUsernameLike(){

    $user = new User();
    echo "<pre>";
    //Put your name as parameter to that function
    print_r($user->FindByUsernameLike('John Doe'));
}

//For finding data based on username like with %% symbol
public function FindByUsernameContaining(){

    $user = new User();
    echo "<pre>";
    //Put your name as parameter to that function
    print_r($user->FindByUsernameContaining('John Doe'));
}

"username" as the example of <input type="text" name="username">

Generate Controller

The controller folder locate at Pfw/App/Controllers/., (*6)

Go to root folder directory for this project, then run this command on your terminal., (*7)

php pfw makeController UserController, (*8)

Generate Model

The model folder locate at Pfw/App/Models/., (*9)

Go to root folder directory for this project, then run this command on your terminal., (*10)

php pfw makeModel User, (*11)

That's it! Now go build something cool., (*12)

The Versions