Pagina 1 din 2 12 UltimulUltimul
Rezultate 1 la 10 din 11

Subiect: Generator aplicatii PHP (data layer+business logic layer) o idee - astept pareri :)

  1. #1
    Avatarul lui danielbuca
    danielbuca este deconectat Ambasador
    Reputatie:
    27
    Data înscrierii
    13th August 2006
    Locaţie
    Bucharest
    Vârstă
    41
    Posturi
    431
    Putere Rep
    27


    Implicit Generator aplicatii PHP (data layer+business logic layer) o idee - astept pareri :)

    Salutare,

    Am o idee si as vrea sa stiu si parerea altor programatori PHP despre utilitatea unui astfel de tool.
    Ma gandesc la un tool web based care sa faca urmatoarele (in mare):
    - poti sa definesti entitati (de genul: companii, produse, categorii, etc)
    - fiecare entitate poate avea campuri; pt fiecare camp sa poti defini tipul campului (text, data, number, etc) si alte caracteristici si constrangeri; un camp poate fi bineinteles referinta la alta entitate (ca sa ai relationare)
    - pe fiecare entitate sa definesti ordinea in care apar campurile
    apoi
    - definesti o structura ierarhica de aplicatie (ca un meniu al aplicatiei) in care fiecare item de meniu poate fi referinta la o entitate sau alte tipuri de continut
    in esenta aici se termina cu partea de administrare a aplicatiei, dupa asta vine utilizarea ei:
    - se genereaza automat structura de meniu definita
    - pentru fiecare entitate se genereaza automat view de listare, adaugare, editare si optiune de stergere, posibilitati de search, sortari, etc
    - deasemenea, ar exista si o clasa myEntity careia ii dai ca parametru numele unei entitati si iti returneaza un model obiectual al entitatii (colectie de campuri, colectie de inregistrari - tot sau filtrat)

    - in felul asta ai putea sa ai in cateva ore back-endul si suportul obiectual pentru front-end al unei aplicatii in doar cateva ore (depinde de marimea aplicatiei si cate entitati trebuie sa definesti) fara sa scrii o linie de cod.


    Ce parere aveti de un asemenea tool? Si-ar gasi utilitatea in comunitatea de developeri PHP? E ceva deosebit sau mai exista si altele asemanatoare?

    Astept pareri

    Regards,

  2. #2
    Avatarul lui c_n_m
    c_n_m este deconectat Ambasador
    Reputatie:
    28
    Data înscrierii
    25th February 2006
    Locaţie
    București / Ilfov
    Vârstă
    47
    Posturi
    622
    Putere Rep
    28


    Implicit

    Frumoasa ideea!

    Personal nu am auzit sa existe asa ceva pentru PHP, dar sincer nici nu am cautat. Ar fi deci vorba de un instrument CASE pentru aplicatii online?

    Tool-ul va putea permite doar descrierea unei structuri de entitati, care sa se reflecte automat in baza de date si in sistemul de meniuri, sau e vorba de mai mult?

    Daca nu mai e nevoie sa scrii nici o linie de cod, inseamna ca nu mai e nevoie sa fii programator pentru a "scrie" o aplicatie (cel putin partea de back-end), fiind suficient sa stii sa folosesti tool-ul respectiv. Cu un asemenea tool s-ar putea genera aplicatii intr-un timp foarte scurt, deci utilitate ar avea. Aplicatiile generate vor putea rula independent, sau e nevoie si de tool-ul respectiv sa fie prezent?

    Succes!

  3. #3
    Avatarul lui Dan.Rades
    Dan.Rades este deconectat Membru SeoPedia
    Reputatie:
    25
    Data înscrierii
    3rd March 2006
    Locaţie
    Bucuresti
    Vârstă
    37
    Posturi
    275
    Putere Rep
    25


    Implicit

    Salut daniel. Ceea ce vrei tu sa faci este de fapt un fel de framework MVC(Model-View-Controller). SUnt multe astfel de frameworkuri, ar fi bine sa le studiez putin inainte de a trece la treaba.

    Succes.

  4. #4
    Avatarul lui danielbuca
    danielbuca este deconectat Ambasador
    Reputatie:
    27
    Data înscrierii
    13th August 2006
    Locaţie
    Bucharest
    Vârstă
    41
    Posturi
    431
    Putere Rep
    27


    Implicit

    Citat Postat în original de Dan.Rades Vezi Post
    Salut daniel. Ceea ce vrei tu sa faci este de fapt un fel de framework MVC(Model-View-Controller). SUnt multe astfel de frameworkuri, ar fi bine sa le studiez putin inainte de a trece la treaba.

    Succes.
    Da, uite acum cand mi-ai spus de MVC realizez ca este cam cea mai apropiata descriere.
    Pana acum m-am documentat destul de mult pe parte de MDA .

    Partea frumoasa la acest tool este ca poti genera un back-end fara sa scrii o linie de cod. Cred ca cel mai bine pot caracteriza partile frumoase prin: automatizare.

    O chestie la care ma gandeam ar fi posibilitatea de a defini prin xml entitatile ce urmeaza a fi create si dai upload la xml si aplicatia iti genereaza entitatile.
    *entitate = structura de date+constrangeri

  5. #5
    Avatarul lui danielbuca
    danielbuca este deconectat Ambasador
    Reputatie:
    27
    Data înscrierii
    13th August 2006
    Locaţie
    Bucharest
    Vârstă
    41
    Posturi
    431
    Putere Rep
    27


    Implicit

    Citat Postat în original de c_n_m Vezi Post
    Frumoasa ideea!
    Tool-ul va putea permite doar descrierea unei structuri de entitati, care sa se reflecte automat in baza de date si in sistemul de meniuri, sau e vorba de mai mult?
    Tool-ul este tot web based si ar permite urmatoarele:
    - definire entitati
    - definire structura aplicatie
    - definire utilizatori si drepturi de acces

    Citat Postat în original de c_n_m Vezi Post
    Aplicatiile generate vor putea rula independent, sau e nevoie si de tool-ul respectiv sa fie prezent?
    Nu e nevoie de tool-ul respectiv decat pt managementul aplicatiei. Toate informatiile ar fi in baza de date.

    Pentru front-end ar exista oricum posibilitatea de a folosi obiectul myEntity care se instantiaza cu o denumire de entitate si ar functiona ca o clasa de baza de date (get, update, insert, delete, filtrari, etc)

  6. #6
    Avatarul lui serban
    serban este deconectat Membru SeoPedia
    Reputatie:
    25
    Data înscrierii
    17th February 2006
    Locaţie
    Bucharest
    Posturi
    133
    Putere Rep
    25


    Post re

    din cat am lucrat eu cu PHP-ul, cand am dorit sa fac data layere ajungeam tot timpul la module. spre exemplu sa zicem ca faci un script care iti permite sa faci orice formular doresti (cu butoane submit, select, campuri, radio, hidden etc) . la un moment dat, daca se doreste acest formular sa interactioneze cu o baza de date, apar si specificatiile de gen camp_X obligatoriu si deja layerul de construit formulare nu mai stie ce sa faca. in sensul ca trebuie sa vii din exterior cu un modul ce preia datele si care nu mai are nici o treaba cu campurile sau cu HTML-ul ci cu comenzile SQL.

    trebuie sa gandesc global, si scalabil. cred ca cel mai bine este sa incepi prin construirea unui CMS, care sa aiba o interfata de administrare flexibila, care sa ii permita utilizatorului sa zica: 'vreau la acest articol sa adaug o poza, 2, 3, sau inca un feature (a se citi camp) 'rating' '

    a programa dupa un asemenea model, prin care poti defini constantele ce sa faca si cum sa se comporte,este intr-adevar o provocare
    Serban Ghita - my website

  7. #7
    Avatarul lui danielbuca
    danielbuca este deconectat Ambasador
    Reputatie:
    27
    Data înscrierii
    13th August 2006
    Locaţie
    Bucharest
    Vârstă
    41
    Posturi
    431
    Putere Rep
    27


    Implicit

    De putut se poate!
    Trebuie sa gandesti intr-adevar dincolo de constraint-urile clasice.

    Ca sa va arat ca se poate am sa pun aici cateva linkuri la aplicatia pe care am construit-o deja:

    poza 1 - lista cu entitati definite de cel care utilizeaza aplicatia


    poza 2+3 - modul de definire al campurilor din entitati (tipuri, reguli, constrangeri, relatii, etc)




    restul pozelor in urmatorul pos (nu pot sa pun mai mult de 4)

    Deasemenea, exista si o clasa myEntity care se instantiaza cu label-ul unei entitati si are urmatoarea descriere:
    Cod PHP:
    //class representation of the entity object
    //Author: BUCA Daniel | danielbuca@mind-spinner.com
    //Date started: 22.10.2006
    //Last Revision date:
    //Last Revision Author: 
    //Please provide here all changes made by revisions
    /*
    REVISION HISTORY:
    1. 
    */
    /********************************************************************************************
    ENTITY OBJECT CLASS
    description and usage
    *********************************************************************************************

    PUBLIC VARIABLES:
    1. $entityLabel | string
    holds of the label definition for the entity

    2. $fieldCount | integer
    returns the number of the fields in this entity

    3. $colFields | array
    returns an array with the fields definitions of the entity in the following format
    [1] => Array //number of the field
            (
                [id] => 22 //id of the field definition
                [name] => Nume companie //name of the fild
                [type] => text_small //type of the field
                [required] => yes //states if the field is required or not (values yes|no)
                [referenced_entity_id] => 8 //this is an optional field, it is the id of the entity referenced by this field
                [referenced_entity_label] => SECT_ACTIV    //this is an optional field, it is the Label of the entity referenced by this field
            )

    4. $recordsCount | integer
    returns the number of the records for the selected entity

    5. $colRecords | array
    returns an array with all the records with the following format
        [1] => Array //number of the record
            (
                [rec_id] => 26 // id of the record
                [fields] => Array // second array that holds all the fields in the record 
                    (
                        [1] => Array //position in the values array (the field is defined at the same position in $colFields array)
                            (
                                [field_id] => 22 //id of the field (same as in $colFields array)
                                [name] => Nume companie //name of the field (same as in $colFields array)
                                [value] => Mind Spinner //value of the field
                            )
                        ...............................
                        //special case where the field is a reference to another entity
                        [5] => Array //position in the values array (the field is defined at the same position in $colFields array)
                            (
                                [field_id] => 25 //id of the field (same as in $colFields array)
                                [name] => Sector de activitate //name of the field (same as in $colFields array)
                                [value] => 15 //this value represents the record id of the referenced entity
                            )                        

    6. $entityId | integer
    the id of the 


    *********************************************************************************************

    METHODS DESCRIPTION:
    CONSTRUCTOR: myEntity($sEntityLabel, $dbObject)
    parameters ->
    $sEntityLabel: the label for the entity we want to instantiate
    $dbObject - db object already instantiated (must be full compatible with ez_sql class)
    returns ->
    the object itself
    description ->
    The clas initializez the public variables and arrays 


    Other methods
    1. getRecordByPoistion ($positionNr)
    parameters ->
    $positionNr: position of the record considering the record count
    returns ->
    an array with the record similar with one instance of $colRecods
    description ->
    retrieving an record


    2. getRecordById ($recordId)
    parameters ->
    $recordId: id of the record to be retrieved
    returns ->
    an array with the record similar with one instance of $colRecods
    description ->
    retrieving a record

    3. updateRecord ($recordId, $arRecord)
    parameters ->
    $recordId: id of the record to be retrieved
    $arRecord: an array with the record the updated values of the record (similar with one instance of $colRecods)
    returns ->
    boolean: true-update done; false-update not done
    description ->
    updating an existing record

    4. insertRecord ($arRecord)
    parameters ->
    $arRecord: an array with the record the updated values of the record (similar with one instance of $colRecods)
    returns ->
    boolean: true-update done; false-update not done
    description ->
    inserting a new record

    5. deleteRecord ($recordId)
    parameters ->
    $recordId: id of the record to be retrieved
    returns ->
    boolean: true-update done; false-update not done
    description ->
    delete an existing record


    6. getFieldValue ($recordId, $fieldId)
    parameters ->
    $recordId: id of the record to be retrieved
    $fieldId: id of the field to be retrieved
    returns ->
    array with the following specs: ["type"], ["value"]
    description ->
    retrieving the value of one field

    7. getReferenceList ()
    parameters ->
    none
    returns ->
    an array with the following structure:
    [n]["id"]: id of the record
    [n]["value"]: value to be displayed
    description ->
    function used to get the the listing for a combobox


    *****/ 

    So, e posibil si nu mi-a luat mult.

    Intrebarea mea e urmatoarea (de fapt sunt 2):
    1. mai exista asa ceva? si daca da ... cum ii zice, sa vad si eu
    2. exista oameni care ar da bani pe un asemenea tool? Estimati, pls


    Regards,

  8. #8
    Avatarul lui danielbuca
    danielbuca este deconectat Ambasador
    Reputatie:
    27
    Data înscrierii
    13th August 2006
    Locaţie
    Bucharest
    Vârstă
    41
    Posturi
    431
    Putere Rep
    27


    Implicit

    Restul pozelor:

    poza 4 - definirea structurii aplicatiei


    poza 5 - functionalitatea de listare in aplicatia generata


    poza 6 - functionalitatea de add/edit

  9. #9
    Avatarul lui seraphim
    seraphim este deconectat Membru SeoPedia
    Reputatie:
    25
    Data înscrierii
    21st June 2006
    Locaţie
    Suceava
    Vârstă
    32
    Posturi
    62
    Putere Rep
    25


    Implicit

    probabil că ar s-ar găsi cine să dea bani...dar nu ştiu dacă în România.
    Hi there, I'm Seraphim and I am creative designer

  10. #10
    Avatarul lui danielbuca
    danielbuca este deconectat Ambasador
    Reputatie:
    27
    Data înscrierii
    13th August 2006
    Locaţie
    Bucharest
    Vârstă
    41
    Posturi
    431
    Putere Rep
    27


    Implicit

    Eu sunt in cautare
    Mi se pare o idee mult prea tare ca sa nu o transform in bani.

Pagina 1 din 2 12 UltimulUltimul

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. pareri, cat mai multe pareri despre director web
    De odiv în forumul Studii de caz
    Răspunsuri: 6
    Ultimul Post: 13th October 2008, 10:14
  2. Astept niste pareri !!!
    De hotcam în forumul Studii de caz
    Răspunsuri: 2
    Ultimul Post: 8th January 2008, 08:14
  3. data-logic.ro
    De Hetzenauer în forumul Website-uri
    Răspunsuri: 0
    Ultimul Post: 1st November 2007, 13:13
  4. Aplicatii mobile
    De take me away în forumul Google
    Răspunsuri: 2
    Ultimul Post: 11th May 2007, 22:17
  5. Cat trebuie sa astept?
    De ciprian2006 în forumul Google
    Răspunsuri: 31
    Ultimul Post: 29th September 2006, 09:34

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •