PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
põhimõtteline küsimus: submit data
Postitaja: joker 2010-01-18 21:25:26
Lähteülesanne: vaja lisada tooted andmebaasi. Samas enne andmebaasi sisestamist on vaja kontrollida, kas antud toote vastav kogus on juba andebaasis olemas. Kui ei ole, siis tuleb sellest kasutajat teavitada.

Andmete sisestamine andmebaasi...

Variant 1. andmete kuvamine on ühes failis, submit teises failis (kogu lahendus PHPs).
Nõrkus: kui sisestatud andmetes on midagi valesti, siis peab andmete kuvamise failile kogu info tagasi saatma ja see saab olema pane.

Variant 2. andmete kuvamine ja submit teises failis (kogu lahendus PHPs).
Nõrkus: kasutajal võimalik korduv refresh teha, ning võib tuimuda ühe info korduvsisestus.

Variant 3. andmed kuvatakse PHPga, kuid submittimine toimub hoopis Javascriptiga jooksvalt kasutades näiteks AJAX tehnoloogiat.
Nõrkus: kui andmevahetus serveriga aeglane, siis sisestus saab olema täielik "pane".

Probleem: põhimõtteline küsimus - kuidas oleks kõige mõistlikum ja otstarbekam postitada andmed?
RE: põhimõtteline küsimus: submit data
Postitaja: indre1 2010-01-18 22:29:55
Kas kogust saab kontrollida if lausega või peab seda inimene oma mõistusega mõtlema, kas on vaja suurendada vms?

Kui if lausega, siis kasuta kindlasti andmebaasi triggerit, mis vaataks et andmed ei läheks vastuollu.
RE: põhimõtteline küsimus: submit data
Postitaja: rtfm 2010-01-18 22:31:30
TSITEERITUD:
Lähteülesanne: vaja lisada tooted andmebaasi. Samas enne andmebaasi sisestamist on vaja kontrollida, kas antud toote vastav kogus on juba andebaasis olemas. Kui ei ole, siis tuleb sellest kasutajat teavitada.

Andmete sisestamine andmebaasi...

Variant 1. andmete kuvamine on ühes failis, submit teises failis (kogu lahendus PHPs).
Nõrkus: kui sisestatud andmetes on midagi valesti, siis peab andmete kuvamise failile kogu info tagasi saatma ja see saab olema pane.

Variant 2. andmete kuvamine ja submit teises failis (kogu lahendus PHPs).
Nõrkus: kasutajal võimalik korduv refresh teha, ning võib tuimuda ühe info korduvsisestus.

Variant 3. andmed kuvatakse PHPga, kuid submittimine toimub hoopis Javascriptiga jooksvalt kasutades näiteks AJAX tehnoloogiat.
Nõrkus: kui andmevahetus serveriga aeglane, siis sisestus saab olema täielik "pane".

Probleem: põhimõtteline küsimus - kuidas oleks kõige mõistlikum ja otstarbekam postitada andmed?


andmeid postita ikka vormiga, update lauses kontrollid kas kogus on lubatud, kui ei ole lubatud vastab andmebaas sulle tegevuse õnnestumise korral mitme rea puhul muudatus toimus, kui üldse ei toimunud, siis on muudatuste arv null, kui feilis , siis veateade.

Selle vastuse põhjal saad kasutajale kuvada tegevuse õnnestumise kohta teate , ebaõnnestumise korral samuti teade ja saad eeltäidetud vormi juurde tagasi suunata.

Ps: ja vaata sõnaraamatust alati enne kirjutamist järgi kuidas kirjutatakse "pain"

Pps: tnapäeval ei ole enam andmete sisestamine pain, kui sinu jaoks on, siis võta 15 minti vaba aega mõne frameworki kasutusele võtmiseks.
RE: põhimõtteline küsimus: submit data
Postitaja: Interneti Troll 2010-01-21 13:31:08
Suures plaanis komponendid olla:

Domain:
1. [Äriobjekt], mille parameetrid/andmed luuakse kliendi poolt.
2. Äriobjekti loomise/muutmise validatsioonireeglite reeglid (nt [Ärireegel])

UI:
1. [SisestusVorm], PHP klass mis sisaldab endas nii vormiväljade kui valideerimissõnumite kuvamise loogikat.
2. Soovi korral mingid vormi fragmentide templiidid, et HTML markup-i
PHP koodist lahus hoida.

Andmeladu:
[ÄriobjektiVahendaja], mis tegeleb äriobjektide andmelattu salvestamisega. Samuti äriobjektide küsimisega andmelaost.

Esimesel korral mitte õnnestuv protsess oleks suures plaanis selline:

1. Kliendile kuvatakse [SisestusVorm].
2. Klient saadab POST päringu.
3. Server võtab päringu vastu ja lisab andmed [Sisestusvorm] objekti.
4. Serveris ehitatakse [Äriobjekt] [Sisestusvorm] objektilt saadud andmetest.
5. [Äriobjekt] -i valideeritakse [Ärireegel] objektidega.
5.1 märkusena: [Ärireegel] objektid küsivad vajalikku lisainformatsiooni nt. [ÄriobjektiVahendaja] kaudu andmelaost.
6. [Ärireegel] objektidest mõned annavad teada, et [Äriobjekt] pole valiidne.
7. Mittevaliidsust kirjeldavad veasõnumid lisatakse [Sisestusvorm] -i.
8. Kliendile renderdatakse [Sisestusvorm] koos eelnevalt kliendilt saadud andmetega ja valideerimisel tekkinud veasõnumitega.


Siin on mitmeid aga kohti. Näiteks võib lihtsamaks pidada varianti, kus ärireeglid/valideerimine on [Äriobjekt]-is. Selle lähenemise nõrkuseks on see, et ärireeglid ja info on erinevat tüüpi elukad.
Valideerimine võib sõltuda mingist kontekstist ja keskonnaoludest jne. Ehk erinevates olukordades võib rakendada erinevaid ärireegleid.

Kindlasti tuleks kasuks mõne raamistiku kasutamine, et ei peaks ise aega raiskama [Sisestusvorm] ja [ÄriobjektiVahendaja] uuesti leiutamisele.

Ideaalne töökäik oleks see, et igava töö ([Sisestusvorm], [ÄriobjektiVahendaja], templiitimine, päringute tõlgendamine ja suunamine) saab ära teha mõne raamistiku abil. Ja põhiliselt saab ise keskenduda äriobjektile ja valideerimis-/ärireeglitele.

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0872628688812