PHP Classes

(LMV) Luminova Framework: PHP Luminova framework, simple yet powerful MVC.

Recommend this page to a friend!
  Info   View files Example   Demos   View files View files (118)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-06-09 (4 days ago) RSS 2.0 feedNot yet rated by the usersTotal: 31 This week: 4All time: 11,046 This week: 13Up
Version License PHP version Categories
luminova 3.0.2MIT/X Consortium ...8.0Tools, Libraries, Templates, Console, C..., D..., P...
Description 

Author

Luminova is a full-fledged MVC and HMVC architecture design from ground to the top, with support for Twig, Smarty template engine, and of course default PHP templating with support for layout inheritance and extending using a simple method like `begin`, `end`, `import` and `extend`.

It also provides:

- A unique database caching and ORM for database query builders

- Template view caching and built-in DOM minification which can be enabled or disabled in the env configuration file

- OpenAI models component to create AI-powered applications.

- A command-line tool for building CLI tools and NovaKit CLI for managing the framework through CLI.

- Sitemap generation with just a single NovaKit command,

- SCO schema object easily appends on web pages as required.

- Optimized HTTP routing and command line routing just like HTTP.

- Utility classes and helper functions to do minor and complex tasks.

- A well-designed error handling and logging, also support for maintenance mode.

Picture of Ujah Chigozie peter
  Performance   Level  
Name: Ujah Chigozie peter <contact>
Classes: 25 packages by
Country: Nigeria Nigeria
Age: 33
All time rank: 201910 in Nigeria Nigeria
Week rank: 15 Up2 in Nigeria Nigeria Up
Innovation award
Innovation award
Nominee: 11x

Instructions

Installing via Composer is recommended to keep Framework up to date easily.

composer create-project luminovang/luminova my-project

Optionally you can download the latest version on Luminova's official Website or manually download the framework scaffolding and source code on GitHub.

Example

<?php
/**
 * Luminova Framework
 *
 * @package Luminova
 * @author Ujah Chigozie Peter
 * @copyright (c) Nanoblock Technology Ltd
 * @license See LICENSE file
*/
declare(strict_types=1);

use \
Luminova\Boot;
use \
Luminova\Routing\Context;
use \
App\Controllers\Errors\ViewErrors;

require_once
__DIR__ . '/../system/Boot.php';

/**
 * Ensure that we are in front controller while running script in cli mode
*/
if (getcwd() . DIRECTORY_SEPARATOR !== FRONT_CONTROLLER) {
   
chdir(FRONT_CONTROLLER);
}

/**
 * Load application route context.
 * Register all your application contexts such as `WEB, API, CONSOLE and CLI` depending on our requirements.
 *
 * @param Context|array<string,mixed> $contexts [, Context|array<string,mixed> ...$] Routes context method accept arguments array or new Context class instance.
 *
 * @example For context class instance, pass new instance of Context as shown below.
 * - @param string $name Route URI prefix name, any url that starts with $name will be routed to name.php in routes/name.php.
 * - @param Closure|array<int,string>|null $onError For error argument, which handles 404 errors.
 * - `Closure` Using closures, pass a callable object or string as shown below.
 * fn(Application $app): int => ViewErrors::onWebError($app))
 * - `Array` For array, pass a list array with only 2 elements, your error controller string-class name and the method name to handle error.
 * [ErrorHandlerController::class, 'handlerMethod']
 *
 *
 * @example For array context, pass an array of Context configuration expecting only associative array with 2 keys `prefix` and `error`.
 * - The key `prefix` Should indicate your context name.
 * - The key `error` Should indicate your error handler, which can be `NULL`, `Closure` or `Array` indicating controller class and method.
 * [
 * 'prefix' => 'foo',
 * 'error' => [ViewErrors::class, 'onFooError']
 * ]
 *
 * Finally run your application router to register and boot only request context for optimal performance.
*/
Boot::http()->router->context(
    new
Context(Context::WEB, [ViewErrors::class, 'onWebError']),
    new
Context(Context::API, [ViewErrors::class, 'onApiError']),
    new
Context(Context::CLI)
)->
run();


Details

PHP Luminova Framework

Author Source Code Latest Version Framework Latest Version Software License Total Downloads PHP 8.0+

Local Image

About Luminova!

Luminova is a PHP framework built for speed and efficiency, designed to enhance your existing coding skills. At Luminova, we prioritize performance by offering feature customization through the env file. This ensures the framework includes only what's needed for your project, based on the features you enable. This approach allows you to enable or disable features as well as customizing your preferred template rendering mode and coding style.

Luminova, provide access to the Template object within the view files, allowing you to call template methods and properties using $this keyword within template files. This can be disabled if you prefer your views to be rendered in isolation, disabling it will allow you to access exported application classes using custom keyword $self.

Get started with Luminova by visiting our official documentation. For more information and sample code, check out our YouTube channel.

Composer Installation

Install luminova via Composer.

composer create-project luminovang/luminova my-project

Start Development Server

To start the PHP development server, run the following NovaKit command.

php novakit server

Sitemap Generator

To generate your website sitemap use the below NovaKit command.

php novakit generate:sitemap

To learn more about NovaKit commands read the novakit documentation.

What's There For Me?

Here we can brief you on the basic features you can expect in Luminova. There's a lot more than what is written here. As Linus Torvalds said, "Talk is cheap. Show me the code."

  • Database Builder: A powerful Object Relational Mapping (ORM) tool that organizes CRUD operations and simplifies database interactions.
  • MVC & HMVC Architecture: Adheres to the Model-View-Controller and Hierarchical Model-View-Controller implementation.
  • Flexible HTTP Routing: Dynamic and fast routing implementation with a clear separation of concerns.
  • Templating: Optimized native PHP templating with additional inheritance and caching features. You can also use `Twig` or `Smarty` template engines.
  • Error Handling: Comprehensive error handling ensures that no errors go unnoticed, including non-fatal inline errors.
  • Session Management: Easily manage user login sessions without additional implementation.
  • CLI Routing: Dynamic routing for CLI implementations similar to HTTP routing methods.
  • Cloud Storage: Supports various cloud storage solutions like AWS, Azure, Google Cloud, and more.
  • File Management: Deliver files to the browser from any location with temporary or permanent URLs to access private files.
  • Sitemap Generator: Generate website sitemaps using the `NovaKit` command.
  • Schema Object: Support for generating schema objects for website pages.
  • Command Line Tool: Full support for implementing CLI tools, with everything you need available.
  • AI Models: Integrate or extend AI features into your application.
  • Database: A flexible database system that supports instant failover to a backup database without user interruption.
  • Security: Various security implementations to secure your application and user information.
  • Request Handling: Secure handling of incoming and outgoing HTTP requests.
  • Email: Send emails anywhere, with support for sending entire view content as the email body.
  • Translation: Create translations for your application using our translation class.
  • Encryption: Support for different encryption handlers and methods.
  • Services: Define classes that can be shared and discovered anywhere in your codebase, with support for serialization and class object caching.

Quick Tips

Q: My session works on the development server but not on the production server. - A: In production, change the $sessionDomain in /app/Controllers/Config/Session.php to your actual production domain. You can use '.' . APP_HOST for this. Also, update the Cookie.php configuration accordingly.

Q: My CSS and images are broken on the production server. - A: Ensure you set the app.environment.mood key to production in your environment file when in production.

Something Missing?

Your feedback is highly appreciated peter@luminova.ng. Let us know what more to add to enhance your experience with Luminova. You can also recommend tutorials for our YouTube channel to help you understand and use Luminova better.

Most important, don't forget to rate Luminova on GitHub. Your rating is like fuel to illuminate our motivation to add more features and make Luminova widely recognized and better.


  Luinova WebsiteExternal page  

Open in a separate window

  Files folder image Files  
File Role Description
Files folder imageapp (1 directory)
Files folder imagebootstrap (3 files)
Files folder imagedocs (1 file)
Files folder imagepublic (4 files, 1 directory)
Files folder imageresources (1 directory)
Files folder imageroutes (3 files)
Files folder imagesamples (1 file)
Files folder imagesystem (1 file, 3 directories)
Accessible without login Plain text file .env Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file novakit Appl. Luminova CLI Tool
Accessible without login Plain text file phpstan.includes.php Aux. Auxiliary script
Accessible without login Plain text file phpstan.neon Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Plain text file rector.php Class Class source

  Files folder image Files  /  app  
File Role Description
Files folder imageControllers (2 files, 4 directories)

  Files folder image Files  /  app  /  Controllers  
File Role Description
Files folder imageConfig (18 files, 1 directory)
Files folder imageErrors (1 file)
Files folder imageLanguages (2 files)
Files folder imageUtils (2 files)
  Plain text file Application.php Class Class source
  Plain text file Welcome.php Class Class source

  Files folder image Files  /  app  /  Controllers  /  Config  
File Role Description
Files folder imageTemplates (2 directories)
  Plain text file AI.php Class Class source
  Plain text file Apis.php Class Class source
  Plain text file Browser.php Class Class source
  Plain text file Cookie.php Class Class source
  Plain text file Cron.php Class Class source
  Plain text file Database.php Class Class source
  Plain text file Encryption.php Class Class source
  Plain text file Files.php Class Class source
  Plain text file IPConfig.php Class Class source
  Accessible without login Plain text file Modules.php Aux. Auxiliary script
  Plain text file Preference.php Class Class source
  Accessible without login Plain text file Schema.php Aux. Auxiliary script
  Plain text file Security.php Class Class source
  Plain text file Services.php Class Class source
  Plain text file Session.php Class Class source
  Plain text file Sitemap.php Class Class source
  Accessible without login Plain text file Storage.php Aux. Auxiliary script
  Plain text file Template.php Class Class source

  Files folder image Files  /  app  /  Controllers  /  Config  /  Templates  
File Role Description
Files folder imageSmarty (2 files)
Files folder imageTwig (9 files)

  Files folder image Files  /  app  /  Controllers  /  Config  /  Templates  /  Smarty  
File Role Description
  Plain text file Classes.php Class Class source
  Plain text file Modifiers.php Class Class source

  Files folder image Files  /  app  /  Controllers  /  Config  /  Templates  /  Twig  
File Role Description
  Plain text file Extensions.php Class Class source
  Plain text file Filters.php Class Class source
  Plain text file Functions.php Class Class source
  Plain text file Globals.php Class Class source
  Plain text file NodeVisitors.php Class Class source
  Plain text file Operators.php Class Class source
  Plain text file Rot13Provider.php Class Class source
  Plain text file Tests.php Class Class source
  Plain text file TokenParsers.php Class Class source

  Files folder image Files  /  app  /  Controllers  /  Errors  
File Role Description
  Plain text file ViewErrors.php Class Class source

  Files folder image Files  /  app  /  Controllers  /  Languages  
File Role Description
  Accessible without login Plain text file App.en.php Aux. Auxiliary script
  Accessible without login Plain text file App.fr.php Aux. Auxiliary script

  Files folder image Files  /  app  /  Controllers  /  Utils  
File Role Description
  Plain text file Functions.php Class Class source
  Accessible without login Plain text file Global.php Aux. Auxiliary script

  Files folder image Files  /  bootstrap  
File Role Description
  Accessible without login Plain text file constants.php Example Example script
  Accessible without login Plain text file features.php Aux. Auxiliary script
  Plain text file functions.php Class Class source

  Files folder image Files  /  docs  
File Role Description
  Accessible without login Plain text file logo.svg Data Auxiliary data

  Files folder image Files  /  public  
File Role Description
Files folder imageassets (1 directory)
  Accessible without login Plain text file .htaccess Data Auxiliary data
  Accessible without login Image file favicon.png Icon Icon image
  Plain text file index.php Class Class source
  Accessible without login Plain text file robots.txt Doc. Documentation

  Files folder image Files  /  public  /  assets  
File Role Description
Files folder imagecss (1 file)

  Files folder image Files  /  public  /  assets  /  css  
File Role Description
  Accessible without login Plain text file app.css Data Auxiliary data

  Files folder image Files  /  resources  
File Role Description
Files folder imageviews (4 files, 1 directory)

  Files folder image Files  /  resources  /  views  
File Role Description
Files folder imagesystem_errors (8 files)
  Accessible without login Plain text file 404.php Example Example script
  Accessible without login Plain text file index.php Aux. Auxiliary script
  Accessible without login Plain text file index.tpl Data Auxiliary data
  Accessible without login Plain text file index.twig Data Auxiliary data

  Files folder image Files  /  resources  /  views  /  system_errors  
File Role Description
  Accessible without login Plain text file 404.php Aux. Auxiliary script
  Accessible without login Plain text file api.php Example Example script
  Plain text file cli.php Class Class source
  Accessible without login Plain text file debug.css Data Auxiliary data
  Accessible without login Plain text file errors.php Example Example script
  Accessible without login Plain text file maintenance.css Data Auxiliary data
  Accessible without login Plain text file maintenance.php Aux. Auxiliary script
  Accessible without login Plain text file view.error.php Aux. Auxiliary script

  Files folder image Files  /  routes  
File Role Description
  Accessible without login Plain text file api.php Example Example script
  Accessible without login Plain text file cli.php Aux. Auxiliary script
  Accessible without login Plain text file web.php Example Example script

  Files folder image Files  /  samples  
File Role Description
  Accessible without login Plain text file index.php Example Sample index

  Files folder image Files  /  system  
File Role Description
Files folder imageComposer (3 files)
Files folder imageDebugger (3 files)
Files folder imageplugins (1 file, 2 directories)
  Plain text file Boot.php Class Class source

  Files folder image Files  /  system  /  Composer  
File Role Description
  Plain text file BaseComposer.php Class Class source
  Plain text file Builder.php Class Class source
  Plain text file Updater.php Class Class source

  Files folder image Files  /  system  /  Debugger  
File Role Description
  Plain text file Performance.php Class Class source
  Plain text file PHPStanRules.php Class Class source
  Plain text file Tracer.php Class Class source

  Files folder image Files  /  system  /  plugins  
File Role Description
Files folder imagecomposer (11 files)
Files folder imagepsr (3 directories)
  Accessible without login Plain text file autoload.php Aux. Auxiliary script

  Files folder image Files  /  system  /  plugins  /  composer  
File Role Description
  Accessible without login Plain text file autoload_classmap.php Aux. Auxiliary script
  Accessible without login Plain text file autoload_namespaces.php Aux. Auxiliary script
  Accessible without login Plain text file autoload_psr4.php Aux. Auxiliary script
  Plain text file autoload_real.php Class Class source
  Plain text file autoload_static.php Class Class source
  Plain text file ClassLoader.php Class Class source
  Accessible without login Plain text file installed.json Data Auxiliary data
  Accessible without login Plain text file installed.php Aux. Auxiliary script
  Plain text file InstalledVersions.php Class Class source
  Accessible without login Plain text file LICENSE Lic. License text
  Accessible without login Plain text file platform_check.php Aux. Auxiliary script

  Files folder image Files  /  system  /  plugins  /  psr  
File Role Description
Files folder imagecache (4 files, 1 directory)
Files folder imagelog (3 files, 1 directory)
Files folder imagesimple-cache (4 files, 1 directory)

  Files folder image Files  /  system  /  plugins  /  psr  /  cache  
File Role Description
Files folder imagesrc (4 files)
  Accessible without login Plain text file CHANGELOG.md Data Auxiliary data
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE.txt Doc. Documentation
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  system  /  plugins  /  psr  /  cache  /  src  
File Role Description
  Plain text file CacheException.php Class Class source
  Plain text file CacheItemInterface.php Class Class source
  Plain text file CacheItemPoolInterface.php Class Class source
  Plain text file InvalidArgumentException.php Class Class source

  Files folder image Files  /  system  /  plugins  /  psr  /  log  
File Role Description
Files folder imagePsr (1 directory)
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE Lic. License text
  Plain text file README.md Class Class source

  Files folder image Files  /  system  /  plugins  /  psr  /  log  /  Psr  
File Role Description
Files folder imageLog (8 files, 1 directory)

  Files folder image Files  /  system  /  plugins  /  psr  /  log  /  Psr  /  Log  
File Role Description
Files folder imageTest (3 files)
  Plain text file AbstractLogger.php Class Class source
  Plain text file InvalidArgumentException.php Class Class source
  Plain text file LoggerAwareInterface.php Class Class source
  Plain text file LoggerAwareTrait.php Class Class source
  Plain text file LoggerInterface.php Class Class source
  Plain text file LoggerTrait.php Class Class source
  Plain text file LogLevel.php Class Class source
  Plain text file NullLogger.php Class Class source

  Files folder image Files  /  system  /  plugins  /  psr  /  log  /  Psr  /  Log  /  Test  
File Role Description
  Plain text file DummyTest.php Class Class source
  Plain text file LoggerInterfaceTest.php Class Class source
  Plain text file TestLogger.php Class Class source

  Files folder image Files  /  system  /  plugins  /  psr  /  simple-cache  
File Role Description
Files folder imagesrc (3 files)
  Accessible without login Plain text file .editorconfig Data Auxiliary data
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file LICENSE.md Lic. License text
  Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files  /  system  /  plugins  /  psr  /  simple-cache  /  src  
File Role Description
  Plain text file CacheException.php Class Class source
  Plain text file CacheInterface.php Class Class source
  Plain text file InvalidArgumentException.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:31
This week:4
All time:11,046
This week:13Up