Presenter: přesun logiky terminate do nové metody sendResponse

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Tvrdík
Nette guru | 2595
+
0
-

Metoda terminate již nějakou dobu nemá svůj původní význam (tj. čisté ukončení životního cyklu aplikace, náhrada za brutální exit). Namísto toho slouží primárně k odesílání IPresenterResponse. (Lze ji ale stále používat i v původním významu.)

Navrhuji proto přidat novou metodu sendResponse (obecná varianta sendTemplate a sendPayload) a metodě terminate tak vrátit její původní význam (ačkoliv kvůli zpětné kompatibilitě asi zůstane možnost posílat IPresenterResponse i metodou terminate).

westrem
Člen | 398
+
0
-

Nazvoslovie je prehladnejsie, som pre +1

jtousek
Člen | 951
+
0
-

+1

pekelnik
Člen | 462
+
0
-

takhle obecně s tím taky souhlasím :)

Cifro
Člen | 245
+
0
-

som za

Jan Tvrdík
Nette guru | 2595
+
0
-

BTW: Myslíte, že tohle vlákno je spíš RFC, Feature request nebo Diskuse o vývoji frameworku? Začínám se v těch kategoriích ztrácet.

westrem
Člen | 398
+
0
-

Jan Tvrdík napsal(a):

BTW: Myslíte, že tohle vlákno je spíš RFC, Feature request nebo Diskuse o vývoji frameworku? Začínám se v těch kategoriích ztrácet.

Presne to som chcel povodn napisat do svojho prispevku, neviem ako mam plne chapat kategoriu RFC (Request for command), prislo mi, ze ju chce David vyuzivat na veci, ktorych sa ujmu ludia z komunity, prestuduju si problematiku a postnu jej riesenie pripadne uz aj implementaciu a aby sa na to David pozrel – tzn primarna cast prace je v tomto pripade na ludoch z komunity.

Na druhu stranu Feature requests je kategoria, kde clovek postuje co by chcel mat vo FW a podklada to nejakymi argumentami.

Diskusia o vyvoji mi pride vhodna na nejake obsiahlejsie zmeny, BC breaky pripadne to kam smerovat filozofiu FW.

Osobne teda toto tipujem na Feature Request alebo diskusia o vyvoji, a nie RFC, ale ako vravim neviem ako mam spravne chapat RFC kategoriu takze to necham na uvazenie niekomu kto ma vecsi prehlad.

redhead
Člen | 1313
+
0
-

Jen opravím: Request for Comments :)

grey
Člen | 94
+
0
-

+1

David Grudl
Nette Core | 8111
+
0
-

Přeformuluju to jinak: jde o to přejmenovat „terminate“ na „sendResponse“?

Jan Tvrdík
Nette guru | 2595
+
0
-

Ne tak úplně. Metodu terminate bych rád zachoval s jejím původním významem (tj. ukončením aplikace).

Takže jde o přejmenování metody terminate na sendResponse + vytvoření nové metody terminate :).

/**
 * Correctly terminates presenter.
 * @return void
 * @throws AbortException
 */
public function terminate(IPresenterResponse $response = NULL)
{
    if (func_num_args() !== 0) trigger_error('for sending resp. use sendResponse', ...);
    $this->response = $response;
    throw new AbortException();
}
David Grudl
Nette Core | 8111
+
0
-

To dává smysl :-)