Git Product home page Git Product logo

phpentitydbcontext's Introduction

@ WRITTEN IN PORTUGUESE BRAZIL

PhpEntityDbContext

Install

  • Recomendado o uso do banco de dados MariaDB
  • É necessário apenas incluir o arquivo autoload.php

O exemplo a baixo mostra como inicializar o PhpEntityDbContext

<?php
require_once './PhpEntityDbContext/autoload.php';
$phpEntityDbContext = PhpEntityDbContext\PhpEntityDbContextSetting::InitialSetting("./Models", $_ENV["DB_HOST"], $_ENV["DB_NAME"], $_ENV["DB_USER"], $_ENV["DB_PASSWORD"]);

Models

Aqui é um exemplo básico de um modelo que podemos mapear. Uma forma de descriminar o tamanho de um varchar é com o comentário ao lado da propriedade, dessa forma public string $Email;//[64] interpretado como Email varchar( 64 ), mas, se uma string não tiver um tamanho definido ele sera interpretada comovarchar( 255 )

<?php

class Modelo
{
    public int $ModeloId;
    public string $Email;//[64]
    public bool $Status;
    public float $Price;

}

construct EntityDbContext

Por padrão é passado o diretório padrão dos modelos no construtor de inicialização no InitialSetting();.Além disso, é possível passar outro diretório para mapear outros Modelos, como no exemplo à baixo: function __construct(object $EntityContext = null, string $ModelDirectory = null)

$entity = new EntityDbContext(null,"./ModelsAlternative");

Migrations

  • $entity->AddDataMigrations(); se apenas for chamado o método AddDataMigrations sem o parâmetro true, ele irá criar seus scripts SQLno diretório Migrations na raiz do seu projeto.
  • $entity->AddDataMigrations(true); Mas, se for passado um true como parâmetro além de gerar os scripts SQL e salvar no diretório, ele também irá auto executar usando à conexão passada como padrão e assim gerar todas as tabelas no banco de dados.
  • Gerar Migrations
$entity = new EntityDbContext();
$entity->AddDataMigrations(true);
//$entity->AddDataMigrations();
  • Deletar todas a tabelas do banco
$entity = new EntityDbContext();
$entity->DropRemoveDatabaseMigrations();

Methods

$entity->Add();

  • É Necessário sempre incluir o arquivo do modelo;Exemplo: require_once 'Models/Home.php';
  • Por parâmetro é esperado um array, e interpretado por posições, assim a primeira posição do array sendo direcionada para o primeiro campo e assim seguindo fluxo.
  • Porém, é possível não adicionar um campo, apenas passando como null, assim como no exemplo a baixo
  • Até mesmo inserir apenas um registro como no exemplo seguinte.
require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$data = ["Goku", null, "sayajin", 5.000];
$entity->Add($data);

$entity->Add(array("Darth Vader"));

$entity->Update();

  • Update($ObjectId, $Property, $PropertyValue); O primeiro parâmetro sempre é passado oid, o segundo é o campo que queremos modificar e o terceiro,o valor que queremos passar
  • pode ser passado apenas uma string com o nome do campo, ou um array de campos e um array de valores , passado na ordem
require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$campos = ["Nome", "Cpf"];
$valores = ["Gohan", "1234567890"];
$entity->Update(4, $campos, $valores);

$entity->Update(5, 'Nome', 'Vegeta');

$entity->Remove();

  • É passado o id do registro que queremos deletar
require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$entity->Remove(3);

$entity->FirstOrDefault();

  • Retorna um objeto passado o id
require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$entity->FirstOrDefault(1);

$entity->ToList();

  • Retorna um array de objetos
require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$entity->ToList();

$entity->GetQuery();

  • É possível fazer Query personalizada, GetQuery(); Retorna arrayde dados
require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$entity->GetQuery("SELECT *FROM modelo;")

$entity->SetQuery(); Método de query sem retorno

require_once 'Models/Modelo.php';

$entity = new EntityDbContext(new Modelo);

$entity->SetQuery("UPDATE modelo SET Nome = 'Bills', cpf = '123' WHERE ModeloId = 2;");

phpentitydbcontext's People

Contributors

fabio-me avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.