docs

Documentation for Php Func Repositories

View the Project on GitHub

PhpFunc.com

Documentation for Php Func Repositories https://phpfunc-com.github.io/docs/

APISQL.md

RUN.md

TODO.md

Goals

The libraries are created for support fast development

Cele projektu

Biblioteki pomocne przy szybkim budowaniu aplikacji mają pomóc w planowaniu i zarządzaniu architekturą.

Zamiast wykorzystywać jakiś framework do budowy prostego modułu, np do logowania.

Funkcje parametru

https://pl.wikipedia.org/wiki/Parametr_(informatyka)

Parametrem jest określony, zadeklarowany i zdefiniowany w programie (kodzie źródłowym), element (identyfikator), umożliwiający przekazanie argumentu do podprogramu oraz wyniku z podprogramu do zadania wywołującego tenże podprogram (nadrzędnego).

Parametr może zostać zdefiniowany dla podprogramu lub programu. W tym drugim przypadku parametr służy do komunikacji danego programu (procesu) z systemem operacyjnym lub innym programem wywołującym.

Definiując podprogram programista posługuje się parametrem, czyli informacją (np. wartością), która nie jest znana w momencie definiowania podprogramu, a jedynie zadeklarowaną w jego nagłówku. Argument jest natomiast informacją (np. wartością), znaną, przekazaną z miejsca wywołania, którą posługuje się zdefiniowany wcześniej podprogram.

Parametr definition

Wystarczy zbudować model danych wykorzystując Parametry:

Parametr ma takie cechy:

Przykład kolekcji parametrów

Generic Parameter

+ Name
+ Street
+ House number
+ Postcode
+ City
+ Country

SenderAddress

+ Name
+ Street
+ House number
+ Postcode
+ City
+ Country

ReceiverAddress

+ Name
+ Street
+ House number
+ Postcode
+ City
+ Country

Przykład prostego parametru

FirstName
LastName

Przykład złożonego parametru

PersonName 
  FirstName + BetweenName + LastName

Przykład prostego parametru

+ StreetParam extends Convert implements Param

+ HomeNumber
+ PostCode
+ City

Convert Format

ta sama wartość może być pokazana jako dwa różne formaty

$format = new ParamFormat()

class ParamFormat extends Convert
  
  $value_in = 00.00; // default
  $type_in = ParamFormatType::PhpFloat
  
  $value_out = "0.000,00";
  $type_out = ParamFormatType::NumberFormat
  


class Convert
  
  inToOut()
  outToIn()

Identyfikator for Sql

abstract class ParamSql extends Value
  
  $identifier = new ParamSqlIdentifier()            
  $value = '' // new ParamValue()
  $required = true;
      
class ParamIdentifier
  id (row id)
  source (table name)
  name (column name)
  
  
class ParamValue
  $value = new Value()
   

  
class ValidatorCollection
  $collection = [
    ['empty',false]
    ['format', 'XX-XXX']
  ]

Identyfikator for Sql

abstract class Param extends SqlValue
  
  $identifier = new ParamSqlIdentifier()            
  $value = '' // new ParamValue()
  $required = true;
      
class ParamIdentifier
  id (row id)
  source (table name)
  name (column name)
  type (varchar)
  

class ParamSqlType
    static Varchar
    static Text
    static Integer
    static Blob

Identyfikator for RESTAPI

abstract class Param extends JsonValue
  
  $identifier = new ParamJsonIdentifier()            
  $value = '' // new ParamValue()
  $required = true;
  
  create()
  read()
  update()
  delete()
  
  validate()
  
      
class ParamJsonIdentifier 
  id (request id)
  source: Source:RestApi
  path: "/users/"
  name: first_name
  type: Json::String
  
class ParamJsonType
  static String
  static Integer
  static Bollean

class JsonValue extends CRUDValue implements CreateValue, ReadValue, UpdateValue, DeleteValue
  create()
  read()
  update()
  delete()
    $validator = new ValidatorCollection() // import for REST Validation
  
 CreateValue
  $value
  $validator

 ReadValue
  $value
  $validator

 UpdateValue
  $value
  $validator

 DeleteValue
  $value
  $validator

  
class ValidatorCollection
  $collection = [
    ['empty',false]
    ['format', 'XX-XXX']
  ]

ParamCollection

$UserInfo = new ParamCollection([
  ParamIdentifier,
  ParamJsonIdentifier
  ParamSqlIdentifier
])


$UserInfo->each()->read()->toString(); // pokazuje wszystkie dane jako łańcuch
$UserInfo->each()->read()->toFormatString(', '); // pokazuje wszystkie dane jako odseparowane przecinkiem wyrazy


$UserInfo->each()->update() // aktualizuje wszystkie zmienne, działania na każdym atrybucie


$UserInfo->each()->delete() // usuwa wszystkie zmiennem, działania na każdym atrybucie


$UserInfo->first()->delete() // usuwa pierwsza zmienna

$UserInfo->current()->delete() // usuwa aktualna zmienna

$UserInfo->find('ParamIdentifier')->delete() // usuwa wybraną zmienna

$UserInfo->find('ParamIdentifier')->update('22') // aktualizuje wybraną zmienna

Wymiana danych pomiędzy ParamSqlCollection i ParamJsonCollection

$UserSqlInfo = new ParamSqlCollection([
  ParamIdentifier,
  ParamJsonIdentifier
  ParamSqlIdentifier
])  


$UserJsonInfo = new ParamJsonCollection([
  ParamIdentifier,
  ParamJsonIdentifier
  ParamSqlIdentifier
])  

jedna komenda robi wymiane danych pomiedzy RESTAPI a bazą danych MySQL

$UserJsonInfo->all()->update(
  $UserSqlInfo->all()->read()
);



//new Fill(UserSqlInfo)

Identyfikator dla widoku Formularza, Tabeli

ParamView
  $param = new Param();
  $title = new ParamTitle();
  $format = new ParamFormat();


class ParamTitle extends Word
  $language_iso = 'PL' // localisation
  $word = ''
  $shortcut = ''
  $description = ''    

Todo List

For more details see GitHub Flavored Markdown.