NiceHalf Framework
Version 1.0.0
NiceHalf Framework ist ein Open -Source -PHP -Framework, das für die Produktion bereit ist
Verwenden Sie einen Komponisten, um das NiceHalf -Framework zu installieren.
composer create-project nicehalf/nicehalf-framework # Get composer autoload
require __DIR__ . ' /../vendor/autoload.php ' ;
# Get application class
require __DIR__ . ' /../system/Applications/Application.php ' ;
# Run the app
Application:: run (); # Get cookie class
require __DIR__ . ' /../system/Cookies/Cookie.php ' ;
# Or use import cookie class
use NicehalfCore System Cookies Cookie ;
# Set cookie , you can set expire time by edit the third parameter
Cookie:: set ( ' name ' , ' value ' );
# Check that cookie has the key
if (Cookie:: has ( ' name ' )) {
echo ' has cookie ' ;
}
# Get cookie by the given key
echo Cookie:: get ( ' name ' );
# Delete cookie by the given key
Cookie:: delete ( ' name ' );
# Return all cookies
print_r (Cookie:: all ());
# Destroy all cookies
Cookie:: destroy (); # Get session class
require __DIR__ . ' /../system/Sessions/Session.php ' ;
# Or use import session class
use NicehalfCore System Sessions Session ;
# Start session
Session:: start ();
# Set session
Session:: set ( ' name ' , ' value ' );
# Check that session has the key
if (Session:: has ( ' name ' )) {
echo ' has session ' ;
}
# Get session by the given key
echo Session:: get ( ' name ' );
# Delete session by the given key
Session:: delete ( ' name ' );
# Return all sessions
print_r (Session:: all ());
# Get flash session by the given key
Session:: flash ( ' name ' );
# Destroy all sessions
Session:: destroy (); # Get database class
require __DIR__ . ' /../system/Database/Database.php ' ;
# Or use import database class
use NicehalfCore System Database Database ;
# Connect to database
# Database connection start only when you call a method and you can use the following methods :
# Select
Database:: table ( ' table_name ' )-> select ( ' column_name ' );
# Insert
Database:: table ( ' table_name ' )-> insert ([ ' column_name ' => ' value ' ])-> execute ();
# Update
Database:: table ( ' table_name ' )-> update ([ ' column_name ' => ' value ' ])-> where ( ' column_name ' , ' = ' , ' value ' );
# Delete
Database:: table ( ' table_name ' )-> delete ()-> where ( ' column_name ' , ' = ' , ' value ' );
# To join table
Database:: table ( ' table_name ' )-> join ( ' table_name ' , ' table_name.column_name ' , ' = ' , ' table_name.column_name ' );
# To join table on left
Database:: table ( ' table_name ' )-> leftJoin ( ' table_name ' , ' table_name.column_name ' , ' = ' , ' table_name.column_name ' );
# To join table on right
Database:: table ( ' table_name ' )-> rightJoin ( ' table_name ' , ' table_name.column_name ' , ' = ' , ' table_name.column_name ' );
# Usage of where
Database:: table ( ' table_name ' )-> where ( ' column_name ' , ' = ' , ' value ' );
# Usage of orWhere
Database:: table ( ' table_name ' )-> orWhere ( ' column_name ' , ' = ' , ' value ' );
# Filter string : filtring inputs is automatically handled by the framework
# Usage of groupBy
Database:: table ( ' table_name ' )-> groupBy ( ' column_name ' );
# Usage of orderBy
Database:: table ( ' table_name ' )-> orderBy ( ' column_name ' , ' asc ' );
# Usage of limit
Database:: table ( ' table_name ' )-> limit ( 10 );
# Usage of offset
Database:: table ( ' table_name ' )-> offset ( 10 );
# Usage of having
Database:: table ( ' table_name ' )-> having ( ' column_name ' , ' = ' , ' value ' );
# Usage of get
print_r (Database:: table ( ' table_name ' )-> get ());
# Get first row
print_r (Database:: table ( ' table_name ' )-> first ());
# Usage of count
print_r (Database:: table ( ' table_name ' )-> count ());
# Usage of patination
print_r (Database:: table ( ' table_name ' )-> paginate ( 10 ));
# Get links for pagination
print_r (Database:: table ( ' table_name ' )-> links ()); // use it in view
# Usage of clear
Database:: table ( ' table_name ' )-> clear (); // automatically handled by the framework # Get exception class
require __DIR__ . ' /../system/Exeptions/Whoops.php ' ;
# Or use import exception class
use NicehalfCore System Exeptions Whoops ;
# Throw exception
throw new Exception ( ' message ' ); # Get file class
require __DIR__ . ' /../system/Extra/File.php ' ;
# Or use import file class
use NicehalfCore System Extra File ;
# Get Root path
echo File:: root ();
# Get directory separator
echo File:: ds ();
# Get file full path
echo File:: path ( ' path/to/file ' );
# Check if file exists
echo File:: exist ( ' path/to/file ' );
# Require file
File:: require_file ( ' path/to/file ' );
# Include file
File:: include_file ( ' path/to/file ' );
# Require directory
File:: require_directory ( ' path/to/dir ' ); # Get message class
require __DIR__ . ' /../system/Extra/Messages.php ' ;
## Or use import message class
use NicehalfCore System Extra Messages ;
## Set Error Message
Messages:: error ( ' message ' );
## Set Success Message
Messages:: success ( ' message ' );
## Set Info Message
Messages:: info ( ' message ' );
## Set Warning Message
Messages:: warning ( ' message ' ); # Get url class
require __DIR__ . ' /../system/Extra/Url.php ' ;
# Or use import url class
use NicehalfCore System Extra Url ;
# Get path
echo Url:: path ( $ path );
# Get current url
echo Url:: getCurrentUrl ();
# Go to previous url
Url:: previous ();
## Redirect to url
Url:: redirect ( ' url ' ); # Get request class
require __DIR__ . ' /../system/Http/Request.php ' ;
# Or use import request class
use NicehalfCore System Http Request ;
# Get Base Url
echo Request:: baseUrl ();
# Get full url
echo Request:: full_url ();
# Check that the request has the key
if (Request:: has ( ' name ' )) {
echo ' has request ' ;
}
# Get the value from the request by the given key and method
echo Request:: value ( ' name ' , ' post ' );
# Get value from get request
echo Request:: get ( ' name ' );
# Get value from post request
echo Request:: post ( ' name ' );
# Set value for request by the given key
Request:: set ( ' name ' , ' value ' );
# Get previous request value
echo Request:: previous ();
# Get all requests
print_r (Request:: all ()); # Get response class
require __DIR__ . ' /../system/Http/Response.php ' ;
# Or use import response class
use NicehalfCore System Http Response ;
# Set response header
Response:: header ( ' Content-Type ' , ' text/html ' );
# Set response status code
Response:: status ( 200 );
# Return json respoonse
Response:: json ([ ' name ' => ' value ' ]);
# Output data : accept string, array, object
Response:: output ( ' data ' ); # Get server class
require __DIR__ . ' /../system/Http/Server.php ' ;
# Or use import server class
use NicehalfCore System Http Server ;
# Check that server has the key
if (Server:: has ( ' name ' )) {
echo ' has server ' ;
}
# Get the value from server by the given key
echo Server:: value ( ' name ' );
# Get path info
echo Server:: path_info ();
# Get all server data
print_r (Server:: all ()); # Get model class
require __DIR__ . ' /../system/Models/Model.php ' ;
# Or use import model class
use NicehalfCore System Models Model ;
# you can use the model class to create your own model for your application , for example : create a model for user and on the model you can create your own methods and set the table name without using Database class
# for example without using model :
# Database::table('users')->where('id', '=', 1)->first();
# for example with model :
# Model::where('id', '=', 1)->first(); # Get route class
require __DIR__ . ' /../system/Routers/Route.php ' ;
# Or use import route class
use NicehalfCore System Routers Route ;
# Set route on get method
Route:: get ( ' / ' , function () {
return ' Hello World ' ;
});
# or
Route:: get ( ' / ' , " Controller@method " );
# Set route on post method
Route:: post ( ' / ' , function () {
return ' Hello World ' ;
});
# or
Route:: post ( ' / ' , " Controller@method " );
# Set route on both methods
Route:: any ( ' / ' , function () {
return ' Hello World ' ;
});
# or
Route:: any ( ' / ' , " Controller@method " );
# Usage of prefix on get or post method
Route:: prefix ( ' admin ' , function () {
Route:: get ( ' dashboard ' , function () {
return ' Hello World ' ;
});
# or
Route:: get ( ' dashboard ' , " Controller@method " );
});
# Usage of middleware
Route:: middleware ( ' auth ' , function () {
Route:: get ( ' dashboard ' , function () {
return ' Hello World ' ;
});
# or
Route:: get ( ' dashboard ' , " Controller@method " );
});
# Get All routes
print_r (Route:: all ()); # Get view class
require __DIR__ . ' /../system/Views/View.php ' ;
# or use import view class
use NicehalfCore System Views View ;
# render view by class
View:: render ( ' view ' , [ ' name ' => ' value ' ]);
# render view by helper
view ( ' view ' , [ ' name ' => ' value ' ], ' helper ' );
# you can use blade template engine or basic method to render view
# blade template engine is the default method
# to change the method you can go to view class and change the method
# example of blade template engine :
public static function render ( $ path , $ data = [])
{
$ errors = Session:: flash ( ' errors ' );
$ old = Session:: flash ( ' old ' );
$ data = array_merge ( $ data , [ ' errors ' => $ errors , ' old ' => $ old ]);
return static :: bladeRender ( $ path , $ data );
}
# example basic method :
public static function render ( $ path , $ data = [])
{
$ errors = Session:: flash ( ' errors ' );
$ old = Session:: flash ( ' old ' );
$ data = array_merge ( $ data , [ ' errors ' => $ errors , ' old ' => $ old ]);
return static :: viewRender ( $ path , $ data );
} # Get validator class
require __DIR__ . ' /../system/Validations/Validator.php ' ;
# Or use import validator class
use NicehalfCore System Validations Validator ;
# Validate data
$ validator = Validator:: make ( $ data , [
' name ' => ' required|min:3 ' ,
' email ' => ' required|email ' ,
' password ' => ' required|min:6 ' ,
]);Pull -Anfragen sind willkommen. Für wichtige Änderungen öffnen Sie zuerst ein Problem, um zu besprechen, was Sie ändern möchten.
Bitte stellen Sie sicher, dass Sie nach Bedarf Tests aktualisieren.
1.0.0
Entwickelt von Ayoub Bablil.
https://nicehalf.com
Das Framework ist eine Open-Sourcing-Software, die im Rahmen der MIT-Lizenz lizenziert ist.# NizzaHalf-Framework