Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

arojunior/php-orm-pdo

Repository files navigation

Installing via composer and using as a lib

composer require arojunior/php-orm-pdo

create a file to overwrite the database config

use SimpleORM\core\model\Model;
class AppModel extends Model
{
 public $db_config = [
 'db_host' => '192.168.1.1',
 'db_name' => 'test',
 'db_user' => 'root',
 'db_pass' => ''
 ];
}

And then you can extend this class in your classes

use YourNamespace\AppModel;
class Example extends AppModel
{
 public $table = 't_user';
 public $pk = 'user_id';
 public function getAll()
 {
 return $this->findAll();
 }
}

CRUD

namespace SimpleORM\app\model;
use SimpleORM\core\model\Model;
class Users extends Model
{
 	/*
 * * Basic configuration
 * These arguments are optionals
 * protected $table = 'users'; //just if the class name a table name are different
 * protected $pk = 'id'; //just if the primary key name is not id
 */	 	 
}

Creating a new user (without check)

$this->Users->create([
 'name' => 'Junior Oliveira',
 'email' => 'arojunior@gmail.com'
]);

Let the ORM choose if it will be created or updated. The ORM will execute the find method before to decide if will create or update data

Saving data

$this->Users->save([
 'id' => 1,
 'name' => 'Junior Oliveira'
]);

Retrieving the id

$this->Users->lastSavedId();

Updating a user with id = 1

$this->Users->update([
 'id' => 1,
 'email' => 'contato@arojunior.com'
]);

Delete

$this->Users->delete(['id' => 1]);

Read

$this->Users->findAll(); // fetchAll
$this->Users->findOne(['email' => 'arojunior@gmail.com']);
$this->Users->findById($id);

Checking

$this->Users->exists($id);

in case of true, you cat get the data with:

$this->Users->fetch();

Functionalities if used as Framework

  • CRUD functions
  • Auto load Model classes in Controllers
  • To use the automatic functions you should use the filename and structure conventions
  • Just follow the example on /controller/UsersController.php
  • All controllers in /app/controllers folder
  • All models in /app/models folder

Convetions

  • All controllers in /app/controller path
  • All models in /app/model path
  • All views in /app/view path
  • Filenames and classes must has the same name

About

Micro PHP ORM Library

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

Languages

AltStyle によって変換されたページ (->オリジナル) /