Skip to content

Commit b4d663d

Browse files
committed
2.0 - Rewritten everything
1 parent b3b502d commit b4d663d

19 files changed

+456
-769
lines changed

Count.php

Lines changed: 0 additions & 20 deletions
This file was deleted.

Delete.php

Lines changed: 0 additions & 26 deletions
This file was deleted.

InitDatabases.php

Lines changed: 0 additions & 16 deletions
This file was deleted.

README.md

Lines changed: 105 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,121 @@
1-
# Ulole ORM
2-
## A PHP ORM
3-
4-
Features:
5-
- Multi Database support
6-
- Supports many SQL Server (MySQL, Postgre)
7-
- Migration System
8-
1+
# Ulole-ORM `2.0`
2+
## Getting started
93

4+
### User.php
105
```php
116
<?php
12-
modules\uloleorm\InitDatabases::init("main", [
13-
"driver" => "mysql",
14-
"username"=> "USERNAME",
15-
"password"=> "PASSWORD",
16-
"database"=> "DATABASE",
17-
"server" => "SERVER",
18-
"port" => 3306
19-
])
20-
```
7+
use de\interaapps\ulole\orm\ORMModel;
8+
9+
class User {
10+
use ORMModel;
2111

22-
### Database
12+
public $id;
13+
public $name;
14+
public $password;
15+
public $description;
16+
}
17+
```
18+
### example.php
2319
```php
2420
<?php
25-
namespace databases;
21+
UloleORM::database("main", new Database(
22+
'username',
23+
'password',
24+
'database',
25+
'host', /* PORT: default localhost */
26+
3306, /* PORT: default 3306 */
27+
'mysql' /* DRIVER: default mysql (Every PDO Driver usable. ) */
28+
));
2629

27-
use modules\uloleorm\Table;
28-
class TestTable extends Table {
30+
UloleORM::register(/*table-name*/ "user", /*Model class*/ User::class);
2931

30-
public $username,
31-
$password;
32-
33-
public function database() {
34-
$this->_table_name_ = "user";
35-
// The __database__ default value is "main"
36-
$this->__database__ = "main";
37-
}
32+
// Inserting into table
33+
$user = new User;
34+
$user->name = "Okay";
35+
$user->save();
3836

39-
}
40-
```
37+
/*
38+
Fetching a single table entry
39+
*/
4140

42-
```php
43-
<?php
44-
// New
45-
$newUser = new databases\TestTable;
46-
$newUser->username = "User";
47-
$newUser->password = "1234";
48-
$newUser->save();
49-
50-
// Select
51-
$user = new databases\TestTable;
52-
foreach ($user->select("*")->where("username", "User")->get() as $row) {
53-
echo $row["username"];
41+
$user = User::table()
42+
->where("id", 2)
43+
->get();
44+
45+
echo $user->name;
46+
47+
/*
48+
Fetching multible entries
49+
*/
50+
$users = User::table()
51+
->like("description", "")
52+
->all();
53+
54+
foreach ($users as $user) {
55+
echo $user->name;
5456
}
5557

56-
// Select First
57-
$user = new databases\TestTable;
58-
$row = ($user->select("*")->where("username", "User")->first();
59-
echo $row["username"];
58+
59+
/*
60+
Updating
61+
*/
62+
User::table()
63+
->where("id", 2)
64+
->update();
65+
66+
// Updating entry
67+
$user = User::table()->where("id", "1")->get();
68+
$user->name = "ninel";
69+
$user->save();
70+
71+
/*
72+
Deleting
73+
*/
74+
75+
User::table()
76+
->where("id", 2)
77+
->delete();
78+
79+
// Deleting entry
80+
$user = User::table()->where("id", "1")->get();
81+
$user->delete();
6082
```
6183

62-
### Migration
84+
## Selection
6385
```php
6486
<?php
65-
namespace databases\migrate;
66-
67-
use modules\uloleorm\migrate\Migrate;
68-
69-
class TestTable extends Migrate {
70-
public function database() {
71-
$this->create('user', function($table) {
72-
$table->int("id")->ai();
73-
$table->string("username");
74-
$table->string("password", 255);
75-
$table->enum("enumTest", ["val1","val2"]);
76-
});
77-
}
78-
}
79-
```
87+
User::table()
88+
// Simple where. Operator: '='
89+
->where("name", "Guenter")
90+
// Where with own opertator. It's also an 'AND' one because we already used where once
91+
->where("name", "=", "Guenter")
92+
93+
->like("name", "=", "Guenter")
94+
95+
->and(function($query){
96+
$query->where("id", "1");
97+
})
98+
99+
->or(function($query){
100+
$query->where("id", "1");
101+
})
102+
103+
// Nesting
104+
->or(function($query){
105+
$query->or(function($query){
106+
$query->and(function($query){
107+
$query->or(function($query){
108+
$query->where("name", "lol");
109+
})
110+
})
111+
})
112+
})
113+
114+
// Orders by id in a descending order
115+
->orderBy("id", true)
116+
// Limit
117+
->limit(10)
118+
// Offset (requires a limit to be set)
119+
->offset(0)
120+
->all();
121+
```

SQL.php

Lines changed: 0 additions & 30 deletions
This file was deleted.

Select.php

Lines changed: 0 additions & 33 deletions
This file was deleted.

Selector.php

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)