created readme for 1.0.0
This commit is contained in:
		
							
								
								
									
										71
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,36 +1,69 @@ | ||||
| # Ebaboba database | ||||
| A lightweight database by pure PHP<br> | ||||
| # Ebaboba | ||||
| Lightweight binary database by pure PHP<br> | ||||
|  | ||||
| At the moment the project is a modified RFC 4180 | ||||
|  | ||||
| `2024.12.14` **IN DEVELOPMENT! DO NOT USE IN PROJECTS!** | ||||
|  | ||||
| ## Requirements | ||||
| - PHP 8.4 | ||||
| ## Dependencies | ||||
| 1.  | ||||
| 2.  (php package manager) | ||||
|  | ||||
| ## Installation | ||||
| 1. `composer require mirzaev/ebaboba` | ||||
| 2. Create a class that inherits `mirzaev/ebaboba/database` and redefine the `database::FILE` constant | ||||
| 3. Enjoy! | ||||
| `composer require mirzaev/ebaboba` | ||||
|  | ||||
| ## Example | ||||
| ```php | ||||
| <?php | ||||
|  | ||||
| // Ebaboba database | ||||
| use mirzaev\ebaboba\{database, record}; | ||||
| use use mirzaev\ebaboba\database, | ||||
| 	mirzaev\ebaboba\column, | ||||
| 	mirzaev\ebaboba\record, | ||||
| 	mirzaev\ebaboba\enumerations\encoding, | ||||
| 	mirzaev\ebaboba\enumerations\type; | ||||
|  | ||||
| // Initializing the database | ||||
| $database = new database('name', 'age', 'created'); | ||||
| $database = new database() | ||||
| 	->encoding(encoding::utf8) | ||||
| 	->columns( | ||||
| 		new column('name', type::string, ['length' => 32]), | ||||
| 		new column('second_name', type::string, ['length' => 64]), | ||||
| 		new column('age', type::integer), | ||||
| 		new column('height', type::float) | ||||
| 	) | ||||
| 	->connect(__DIR__ . DIRECTORY_SEPARATOR . 'database.ba'); | ||||
|  | ||||
| // Initializing the record | ||||
| $record = new record(['Arsen', '23', time()); | ||||
| $record = $database->record( | ||||
| 	'Arsen', | ||||
| 	'Mirzaev', | ||||
| 	23, | ||||
| 	(float) 165 | ||||
| ); | ||||
|  | ||||
| // Writing to the database | ||||
| $database->write($record); | ||||
| if ($database->write($record)) { | ||||
|     // Writed the record into the database | ||||
|  | ||||
|     // Updating the record in the database | ||||
|     $updated = $database->read( | ||||
|         filter: fn($record) => $record->name === 'Arsen',  | ||||
|         update: fn(&$record) => $record->age = 24,  | ||||
|         amount: 1 | ||||
|     ); | ||||
|  | ||||
|     // Reading the record from the database | ||||
|     $readed = $database->read( | ||||
|         filter: fn($record) => $record->name === 'Arsen' && $record->age === 24, | ||||
|         amount: 1 | ||||
|     ); | ||||
|  | ||||
|     // Deleting the record from the database | ||||
|     $deleted = $database->read( | ||||
|         filter: fn($record) => $record->age < 25, | ||||
|         delete: true, | ||||
|         amount: 1000 | ||||
|     ); | ||||
| } | ||||
| ?> | ||||
| ``` | ||||
|  | ||||
| ## Used by | ||||
| - My site-article about how i was kidnapped by PMC Wagner operatives [mirzaev/repression](https://git.mirzaev.sexy/mirzaev/repression) | ||||
| - My decentralized P2P blockchain chats project [mirzaev/notchat](https://git.mirzaev.sexy/mirzaev/notchat) | ||||
| - My site-article about how i was kidnapped by PMC Wagner operatives [mirzaev/repression](https://git.svoboda.works/mirzaev/repression) | ||||
| - My decentralized P2P blockchain chats project [mirzaev/notchat](https://git.svoboda.works/mirzaev/notchat) | ||||
| - Svoboda Telegram chat-robot [svoboda/negotiator](https://git.svoboda.works/svoboda/negotiator) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user