Skip to content

Omega Logo

Documentation | Changelog | Contributing | Code Of Conduct | License

PHP MVC

Feature

  • MVC base
  • Container (dependency injection)
  • Route
  • Model (database class relation)
  • View and Controller
  • Query; (database query builder)
  • Collection (array collection)
  • Console (assembling beautiful console app)
  • Template (create class using class generator)
  • Cron
  • Now (time managing)
  • Http request and response
  • Str (string manipulation)

Built in Query Builder

of course, we are support CRUD database, this a sample

Select data

DB::table('table_name')
->select(['column_1'])
->equal('column_2', 'fast_mvc')
->order("column_1", Query::ORDER_ASC)
->limit(1, 10)
->all()
;

the result will show data from query, its same with SQL query

SELECT`column_1`FROM`table_name`WHERE (`column_2`='fast_mvc') ORDER BY`table_name`.`column_1`ASCLIMIT1, 10

🔝 Back to contents

Update data

DB::table('table_name')
->update()
->values([
'column_1' => 'simple_mvc',
'column_2' => 'fast_mvc',
'column_3' => 123
])
->equal('column_4', 'fast_mvc')
->execute()
;

the result is boolean true if sql success execute query, its same with SQL query

UPDATE`table_name`SET`column_1`='simple_mvc', `column_2`='fast_mvc', 'column_3'=123WHERE (`column_4`='speed')

🔝 Back to contents

Insert and Delete

// insertDB::table('table_name')
->insert()
->values([
'column_1' => '',
'column_2' => 'simple_mvc',
'column_3' => 'fast_mvc'
])
->execute()
;
// deleteDB::table('table_name')
->delete()
->equal('column_3', 'slow_mvc')
->execute()
;

its supported cancel transaction if you needed

useOmega\Support\Facades;
PDO::transaction(function() {
DB::table('table_name')
->insert()
->value('age', 22)
->execute()
;
// some conditionif (false === $statment) {
returnfalse;
}
returntrue;
});

Create Database Table

create database table

 Schema::table('users', function(Column$column) {
$column('user')->varchar(50);
$column('pwd')->varchar(500)->notNull();
$column->primeryKeys('user');
})
->excute();

🔝 Back to contents

Collection

Array collection, handel functional array as chain method

Create New Collection

$coll = newCollection(['vb_net', 'c_sharp', 'java', 'python', 'php', 'javascript', 'html']);
$arr = $coll
->remove('html')
->sort()
->filter(fn ($item) => strlen($item) > 4)
->map(fn ($item) => ucfirst($item))
->each(function($item) {
echo$item . PHP_EOL;
})
->all()
;
// arr = ['c_sharp', 'javascript', 'python', 'vb_net']

🔝 Back to contents

Available Methods

  • add()
  • remove()
  • set()
  • clear()
  • replace()
  • each()
  • map
  • filter()
  • sort()
  • sortDesc()
  • sortKey()
  • sortKeyDesc()
  • sortBy()
  • sortByDecs()
  • all()

🔝 Back to contents

Console

Assembling beautifully console app make easy

  • naming parameter
  • coloring console (text and background)

Build simple console app

class GreatConsole extends Console
{
publicfunctionmain()
{
// getter to get param form cli argument$name = $this->name ?? 'anonymously';
style("Great console Application")
->textGreen()
->newLines()
->push("hay my name is ")
->push($name)
->textYellow()
->out()
;
}
}

Run your app

  • create bootstrapper
#!usr/bin/env php// $argv come with default global phpreturn (newgreatConsole($argv))->main();
  • on your console
php cli greate --name php_mvc
# output:# Great console application# hay my name is php_mvc

🔝 Back to contents

Str

Make string manipulation.

Str::chartAt('i love php', 3); // o
Str::concat(['i', 'love', 'php']); // i love php
Str::indexOf('i love php', 'p'); // 8
Str::lastIndexOf('i love php', 'p'); // 10
Str::match('i love php', '/love/'); // love// ...// and many more
  • chartAt
  • concat
  • indexOf
  • lastIndexOf
  • match
  • slice
  • split
  • replace
  • toUpperCase
  • toLowerCase
  • firstUpper
  • firstUpperAll
  • toSnackCase
  • toKebabCase
  • toPascalCase
  • toCamelCase
  • contains
  • startsWith
  • endsWith
  • slug
  • template
  • length
  • repeat
  • isString
  • isEmpty
  • fill
  • fillEnd
  • limit

Custom Macro

custom macro string;

Str::macro('prefix', fn($text, $prefix) => $prefix.$test);
echo Str::prefix('cool', 'its '); // it's cool

String class

use chain string class.

$string = newText('I Love rust');
echo$string->replace('rust', 'php')->lower()->slug();
// i-love-phpecho$string->length(); // 10echo$string->isEmpty(); // false

String Regex

Str::is('some@email.com', Regex::EMAIL); // true

available regex

  • email
  • user
  • plain_text
  • slug
  • html_tag
  • js_inline
  • password_complex
  • password_moderate
  • date_yyyymmdd
  • date_ddmmyyyy
  • date_ddmmmyyyy
  • ip4
  • ip6
  • ip4_6
  • url

🔝 Back to contents

About

OmegaFramework is a lightweight and modular PHP framework designed for building modern web applications following the MVC architecture. It is optimized for PHP 8+ and provides a simple, extensible foundation for rapid application development.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages