struts4php-user Mailing List for Struts for php
Brought to you by:
brainguide
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
(7) |
Apr
(6) |
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: Willkommer, S. <s.w...@te...> - 2005-05-23 08:07:24
|
Hallo Ralph, jetzt mische ich mich mal ein. Was dein Formular betrifft so w=E4re es = am saubersten wenn du eine CreateAction bauen w=FCrdest in der alle = notwendigen Daten f=FCr das Formular aus der Datenbank geladen werden. Diese Daten = steckst du anschlie=DFend in deiner Action in das Formobjekt. Im ActionForm = selbst sollte eigentlich kein Datenbankspezifischer Code stehen. Was wichtig = ist, dass du bei der SaveAction die CreateAction als Input angibst da sonst = im Fehlerfall das Formular nicht mehr richtig gef=FCllt wird. Gru=DF Stefan -----Urspr=FCngliche Nachricht----- Von: str...@li... [mailto:str...@li...] Im Auftrag von = Ralph Bergmann Gesendet: Samstag, 21. Mai 2005 17:48 An: str...@li... Betreff: [Struts4php-user] wohin mit dem Script? Hallo! Ich glaub, ich hab's noch nicht so ganz gerafft :( Folgendes Problem: Ich habe ein Formular welches der Anwender ausf=FCllen soll. Dabei soll=20 ein Feld, eine ComboBox immer durch eine SQL-Abfrage bef=FCllt werden, = wo=20 der Anwender da den Eintrag den er m=F6chte ausw=E4hlt. So weit kein = Problem. Doch nun frage ich mich, wohin mit dem Script, welches die ComboBox = bef=FCllt? Ich k=F6nnte es in die ActionForm in die Methode reset() schreiben. Ich=20 k=F6nnte aber auch eine zugeh=F6rige Action schreiben, die das macht. Wo ist's am besten aufgehoben? Was sagt MVC dazu? Danke! Ralph ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=3D7412&alloc_id=3D16344&op=3Dclick _______________________________________________ Struts4php-user mailing list Str...@li... https://lists.sourceforge.net/lists/listinfo/struts4php-user |
From: Ralph B. <ra...@da...> - 2005-05-21 15:49:39
|
Hallo! Ich glaub, ich hab's noch nicht so ganz gerafft :( Folgendes Problem: Ich habe ein Formular welches der Anwender ausfüllen soll. Dabei soll ein Feld, eine ComboBox immer durch eine SQL-Abfrage befüllt werden, wo der Anwender da den Eintrag den er möchte auswählt. So weit kein Problem. Doch nun frage ich mich, wohin mit dem Script, welches die ComboBox befüllt? Ich könnte es in die ActionForm in die Methode reset() schreiben. Ich könnte aber auch eine zugehörige Action schreiben, die das macht. Wo ist's am besten aufgehoben? Was sagt MVC dazu? Danke! Ralph |
From: Tim W. <t.w...@te...> - 2005-05-14 10:11:41
|
patrick arnold wrote: >Hi Tim, > > >sorry für die späte Antwort. Ich war ein paar Tage weg. >http://www.brainguide.com sieht echt sauber aus. Respekt! > >Was die Mitarbeit angeht: hört sich gut an. Ich hab allerdings im Moment und >für die kommenden paar Wochen noch einiges an Arbeit zu erledigen. Derweil >beschäftige ich mich sowieso mit struts4php. Wenns recht ist, meld ich mich >einfach, wenn ich wieder Zeit übrig habe. >Im Moment setze ich gerade ein Projekt mit struts4php und Propel um. > >Was Carthag angeht muss ich dich leider enttäuschen. Damit habe ich noch >nicht gearbeitet. > >Viele Grüße, Patrick > > >-----Ursprüngliche Nachricht----- >Von: Tim Wagner [mailto:t.w...@te...] >Gesendet: Samstag, 30. April 2005 21:27 >An: patrick arnold >Cc: Ralph Bergmann; str...@li... >Betreff: Re: AW: AW: [Struts4php-user] include-Attribut im Actionmapping > > >Hi Patrick, > >danke für den Vorschlag, ich hatte jetzt allerdings nur kurz Zeit >drüberzuschauen. Es würde bedeuten, dass man die ActionBanana (blöder >Name übrigends) vor der Session instanziieren müsste. Ich muss mal >drüber nachdenken was das für Auswirkungen hätte .... ich denk drüber >nach und geb Bescheid ;-) > >Die Version 2.0 wird hauptsächlich eine Umstellung auf PHP5 mit der >Integration von Interfaces und einem vernüftigen Exceptionhandling. >Weiterhin habe ich angedacht das Framework Plugin fähig zumachen und >basierend darauf einen austauschbaren "RequestProcessor" einzuführen, >mal sehen was draus wird ... > >Ich freu mich übrigends dass du Interesse am Framework hast und würde >mich freuen, wenn du dich vielleicht an der weiterentwicklung beteiligen >willst. Ich bin halt doch ständig in Projekten und hab somit häufig >Stress, was für die Weiterentwicklung nicht besonders dienlich ist. Wir >setzen jedoch in diesen Projekten fast immer das Framework ein, und >haben eigentlich durchweg gute Erfahren gemacht. Wenn es dich >interessiert, dann kannst du dir ja mal www.brainguide.com anzeigen, das >ist eines unserer letzen Projekte (Ralph wenn's dich interessiert bist >du selbstverständlich ebenfalls herzlich eingeladen). Man sieht >allerdings nix, weil wir einen mod_rewrite vorgeschaltet haben um die >Suchmaschinenunterstützung zu verbessern, was übrigends perfekt >funktioniert. > >Eine kurz Frage hab ich nebenbei. Hat einer von euch schon mal mit >Carthag gearbeitet? Soll sowas wie ein Application Server für PHP sein >... vielleicht könnt ihr mir ja kurz Bescheid geben wenn jemand >Erfahrung damit hat. Besten Dank im voraus. > > >Bis denne >Tim > > >patrick arnold wrote: > > > >>Hi Tim, >> >>danke für deine schnelle Antwort. >> >>Als Workaround können folgende Zeilen vor dem Starten der Session dienen: >> >> if($name = >>$actionBanana->actionMappings->find($_REQUEST['path'])->getName()) { >> >>include_once($actionBanana->actionFormBeans->find($name)->getInclude()); >> } >> >>Gruss Patrick >> >>ps: Was hast du denn so für v2.0 geplant? ;-) >> >>-----Ursprüngliche Nachricht----- >>Von: Tim Wagner [mailto:t.w...@te...] >>Gesendet: Samstag, 30. April 2005 14:10 >>An: patrick arnold >>Cc: Ralph Bergmann; str...@li... >>Betreff: Re: AW: [Struts4php-user] include-Attribut im Actionmapping >> >> >>Hallo Patrick, >> >>tschuldigung dass ich mich einmische, aber vielleicht kann ich dir bei >>deinem Problem helfen. >> >>Es gibt in der Version 1.0.5 ebenso wie im <action>-Element im >><form>-Element ein include Attribute. Leider funktioniert das eben nur, >>wenn man keine Session verwendet. Benötigst du eine Session, dann bleibt >>dir aktuell nur die Möglichkeit das entsprechenden Form manuell zu >>includieren. Leider ist mir da auch noch nix vernüftiges eingefallen. >>Das macht die Verwendung natürlich etwas unkomfortabel. Vielleicht fällt >>ja irgendjemand eine gute Lösung für dieses Problem ein. Ich bau diese >>dann gerne ein .... >> >>Sorry, dass ich dir keine bessere Antwort geben konnte. Leider stecke >>ich momentan in einigen sehr zeitintensive Projekten und komme deshalb >>nicht dazu Bugs zu fixen und Weiterentwicklungen (struts4php Version >>2.0) zu implementieren. Denke aber so in zwei Wochen hab ich wieder mehr >>Zeit. >> >>Bis dann >>Tim >> >>patrick arnold wrote: >> >> >> >> >> >>>Hallo Ralph, >>> >>>danke für deinen Tip. Stimmt, ich habe noch Version 1.0.3 verwendet, mit >>>1.0.5 funktioniert es. >>> >>>Für eine Formularprozedur hab ich nun den scope "session" angegeben. In >>> >>> >der > > >>>jetzigen Umsetzung starte ich aber logischerweise die Session vor >>>$actionBanana->process($request). In PHP5 hat dies zur Folge: >>> >>>ActionBanana::processPopulate() [function.processPopulate]: The script >>> >>> >>> >>> >>tried >> >> >> >> >>>to execute a method or access a property of an incomplete object. Please >>>ensure that the class definition "XXXForm" of the object you are trying to >>>operate on was loaded _before_ unserialize() gets called or provide a >>>__autoload() function to load the class definition in. >>> >>>Gibt es da einen sinnvollen Workaround? >>> >>>Gruss Patrick >>> >>>-----Ursprüngliche Nachricht----- >>>Von: Ralph Bergmann [mailto:ra...@da...] >>>Gesendet: Dienstag, 26. April 2005 22:04 >>>An: patrick arnold >>>Cc: str...@li... >>>Betreff: Re: [Struts4php-user] include-Attribut im Actionmapping >>> >>> >>>patrick arnold schrieb: >>> >>> >>> >>> >>> >>> >>>>Hallo, >>>> >>>>im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut >>>>"include" innerhalb vom <action>-Element verwendet. Kann es sein, dass >>>>dies aber noch nicht unterstützt wird? >>>> >>>> >>>> >>>> >>>> >>>> >>>doch wird es aber ich meine erst ab version 1.0.5, die früheren hatten >>>dies zwar schon in der xml datei enthalten, aber nicht genutzt >>> >>>nun ist es so, dass dort die datei stehen muss(!!!), die den quelltext >>>zur klasse hat, die unter "type" angegeben ist >>> >>> >>>ralph >>> >>> >>> >>>------------------------------------------------------- >>>This SF.Net email is sponsored by: NEC IT Guy Games. >>>Get your fingers limbered up and give it your best shot. 4 great events, 4 >>>opportunities to win big! Highest score wins.NEC IT Guy Games. Play to >>>win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 >>>_______________________________________________ >>>Struts4php-user mailing list >>>Str...@li... >>>https://lists.sourceforge.net/lists/listinfo/struts4php-user >>> >>> >>> >>> >>> >>> >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by: NEC IT Guy Games. >>Get your fingers limbered up and give it your best shot. 4 great events, 4 >>opportunities to win big! Highest score wins.NEC IT Guy Games. Play to >>win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 >>_______________________________________________ >>Struts4php-user mailing list >>Str...@li... >>https://lists.sourceforge.net/lists/listinfo/struts4php-user >> >> >> >> > > > > Hi Patrick, freu mich dass du mit dem Framework arbeitest. Wenn du fertig bist könntest du mir ja mal die Adresse schicken. Würd mich interessieren wie es gelaufen ist. Bis dann Tim -- Mit freundlichen Grüßen Tim Wagner TechDivision GbR Kunstmühlstraße 17 83026 Rosenheim Telefon: +49 (08031) 35638-38 Telefax: +49 (08031) 35638-48 E-Mail: t.w...@te... Internet: http://www.techdivision.com |
From: Tim W. <t.w...@te...> - 2005-05-09 13:34:21
|
Ralph Bergmann wrote: > Hallo! > > >Es gibt in der Version 1.0.5 ebenso wie im <action>-Element im > ><form>-Element ein include Attribute. Leider funktioniert das eben nur, > >wenn man keine Session verwendet. Benötigst du eine Session, dann > >bleibt dir aktuell nur die Möglichkeit das entsprechenden Form > manuell >zu includieren. Leider ist mir da auch noch nix vernüftiges > > >eingefallen. > >Das macht die Verwendung natürlich etwas unkomfortabel. Vielleicht > >fällt ja irgendjemand eine gute Lösung für dieses Problem ein. Ich > bau >diese > >dann gerne ein .... > > Ich bin grad noch mal über das Thema gestolpert, da ich eigentlich > nachschaute, wie man ein Objekt in der Session speichert... egal... > > Wie wäre es mit einer Lösung nach [1] und zwar der erste Beitrag dort > ganz oben? Das sollte doch funktionieren?!? > > Beim erstellen der struts-config.xml weiß ich doch auch, wo die Action > und ActionForm Klassen gespeichert sind, somit könnte ich ja auch eine > spezielle Klasse classLoader (aus dem Beispiel) erstellen, die dann > eben weiß, wo die dazugehörigen Dateien stehen, sprich die Pfade und > so. struts4php könnte diese Methode auch zur Verfügung stellen und > dabei die xml Datei nach den entsprechenden Dateien durchsuchen, so > das der Programmierer nunr die xml Datei erstellt. Wenn nun > classLoader aufgerufen wird, weiß es anhand der xml Datei, wo die > Klasse zu finden ist. Würde dann aber diese Funktionalität nur auf die > struts4php Klassen beschränken oder es gibt dann noch eine Methode, > über die ich eigene Pfade zum durchsuchen hinzufügen kann ;) > > Ich denke so spontan ist es die einzig brauchbare Lösung, ich hätte > noch eine zweite Idee, die ich aber als nicht braucbar empfinde. > > die session wird nicht durch eine methode von mir gestartet, sondern > durch struts4php. struts4php könnte vorher prüfen, welche klassen es > alles brauch. das problem dabei ist, dass es mehr klassen laden müßte > als nötig. wenn z.b. anhand der sessiondaten in einer action > entschieden wird, ob die action a oder b die nächste ist, es aber an > die sessiondaten noch nicht rankommt und es deshalb im vorraus nicht > entscheiden kann, müßte es beide klassen laden... usw. usw. > > > boa ich hoffe ihr konntet mir folgen, ist ja auch schon spät ;) > > > ralph > > p.s. meine linke hand schläft schon, desrum nur noch kleine buchstaben > *sfg* > > > [1] ... http://www.php.net/manual/de/language.oop5.autoload.php > > > ------------------------------------------------------- > This SF.Net email is sponsored by: NEC IT Guy Games. > Get your fingers limbered up and give it your best shot. 4 great > events, 4 > opportunities to win big! Highest score wins.NEC IT Guy Games. Play to > win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 > _______________________________________________ > Struts4php-user mailing list > Str...@li... > https://lists.sourceforge.net/lists/listinfo/struts4php-user Hi Ralph, so eine ClassLoader Klasse hört sich irgendwie ganz gut an. Man könnte ja vielleicht zusätzlich in den StrutsparserSax Klasse so eine Art statische Methode einbauen, die einem die benötigen Actions und Forms zurückgibt die dann der ClassLoader includiert ... Den ClassLoader könnte man dann bequem for der Initialisierung der Session aufrufen ... Mal sehen, vielleicht hab ich heute Abend noch etwas Zeit, dann kann ich das ja mal ausprobieren :-) Tim |
From: Ralph B. <ra...@da...> - 2005-05-08 21:32:28
|
Hallo! >Es gibt in der Version 1.0.5 ebenso wie im <action>-Element im ><form>-Element ein include Attribute. Leider funktioniert das eben nur, >wenn man keine Session verwendet. Benötigst du eine Session, dann >bleibt dir aktuell nur die Möglichkeit das entsprechenden Form manuell >zu includieren. Leider ist mir da auch noch nix vernüftiges > >eingefallen. >Das macht die Verwendung natürlich etwas unkomfortabel. Vielleicht >fällt ja irgendjemand eine gute Lösung für dieses Problem ein. Ich bau >diese >dann gerne ein .... Ich bin grad noch mal über das Thema gestolpert, da ich eigentlich nachschaute, wie man ein Objekt in der Session speichert... egal... Wie wäre es mit einer Lösung nach [1] und zwar der erste Beitrag dort ganz oben? Das sollte doch funktionieren?!? Beim erstellen der struts-config.xml weiß ich doch auch, wo die Action und ActionForm Klassen gespeichert sind, somit könnte ich ja auch eine spezielle Klasse classLoader (aus dem Beispiel) erstellen, die dann eben weiß, wo die dazugehörigen Dateien stehen, sprich die Pfade und so. struts4php könnte diese Methode auch zur Verfügung stellen und dabei die xml Datei nach den entsprechenden Dateien durchsuchen, so das der Programmierer nunr die xml Datei erstellt. Wenn nun classLoader aufgerufen wird, weiß es anhand der xml Datei, wo die Klasse zu finden ist. Würde dann aber diese Funktionalität nur auf die struts4php Klassen beschränken oder es gibt dann noch eine Methode, über die ich eigene Pfade zum durchsuchen hinzufügen kann ;) Ich denke so spontan ist es die einzig brauchbare Lösung, ich hätte noch eine zweite Idee, die ich aber als nicht braucbar empfinde. die session wird nicht durch eine methode von mir gestartet, sondern durch struts4php. struts4php könnte vorher prüfen, welche klassen es alles brauch. das problem dabei ist, dass es mehr klassen laden müßte als nötig. wenn z.b. anhand der sessiondaten in einer action entschieden wird, ob die action a oder b die nächste ist, es aber an die sessiondaten noch nicht rankommt und es deshalb im vorraus nicht entscheiden kann, müßte es beide klassen laden... usw. usw. boa ich hoffe ihr konntet mir folgen, ist ja auch schon spät ;) ralph p.s. meine linke hand schläft schon, desrum nur noch kleine buchstaben *sfg* [1] ... http://www.php.net/manual/de/language.oop5.autoload.php |
From: Tim W. <t.w...@te...> - 2005-04-30 19:25:26
|
Hi Patrick, danke für den Vorschlag, ich hatte jetzt allerdings nur kurz Zeit drüberzuschauen. Es würde bedeuten, dass man die ActionBanana (blöder Name übrigends) vor der Session instanziieren müsste. Ich muss mal drüber nachdenken was das für Auswirkungen hätte .... ich denk drüber nach und geb Bescheid ;-) Die Version 2.0 wird hauptsächlich eine Umstellung auf PHP5 mit der Integration von Interfaces und einem vernüftigen Exceptionhandling. Weiterhin habe ich angedacht das Framework Plugin fähig zumachen und basierend darauf einen austauschbaren "RequestProcessor" einzuführen, mal sehen was draus wird ... Ich freu mich übrigends dass du Interesse am Framework hast und würde mich freuen, wenn du dich vielleicht an der weiterentwicklung beteiligen willst. Ich bin halt doch ständig in Projekten und hab somit häufig Stress, was für die Weiterentwicklung nicht besonders dienlich ist. Wir setzen jedoch in diesen Projekten fast immer das Framework ein, und haben eigentlich durchweg gute Erfahren gemacht. Wenn es dich interessiert, dann kannst du dir ja mal www.brainguide.com anzeigen, das ist eines unserer letzen Projekte (Ralph wenn's dich interessiert bist du selbstverständlich ebenfalls herzlich eingeladen). Man sieht allerdings nix, weil wir einen mod_rewrite vorgeschaltet haben um die Suchmaschinenunterstützung zu verbessern, was übrigends perfekt funktioniert. Eine kurz Frage hab ich nebenbei. Hat einer von euch schon mal mit Carthag gearbeitet? Soll sowas wie ein Application Server für PHP sein ... vielleicht könnt ihr mir ja kurz Bescheid geben wenn jemand Erfahrung damit hat. Besten Dank im voraus. Bis denne Tim patrick arnold wrote: >Hi Tim, > >danke für deine schnelle Antwort. > >Als Workaround können folgende Zeilen vor dem Starten der Session dienen: > > if($name = >$actionBanana->actionMappings->find($_REQUEST['path'])->getName()) { > >include_once($actionBanana->actionFormBeans->find($name)->getInclude()); > } > >Gruss Patrick > >ps: Was hast du denn so für v2.0 geplant? ;-) > >-----Ursprüngliche Nachricht----- >Von: Tim Wagner [mailto:t.w...@te...] >Gesendet: Samstag, 30. April 2005 14:10 >An: patrick arnold >Cc: Ralph Bergmann; str...@li... >Betreff: Re: AW: [Struts4php-user] include-Attribut im Actionmapping > > >Hallo Patrick, > >tschuldigung dass ich mich einmische, aber vielleicht kann ich dir bei >deinem Problem helfen. > >Es gibt in der Version 1.0.5 ebenso wie im <action>-Element im ><form>-Element ein include Attribute. Leider funktioniert das eben nur, >wenn man keine Session verwendet. Benötigst du eine Session, dann bleibt >dir aktuell nur die Möglichkeit das entsprechenden Form manuell zu >includieren. Leider ist mir da auch noch nix vernüftiges eingefallen. >Das macht die Verwendung natürlich etwas unkomfortabel. Vielleicht fällt >ja irgendjemand eine gute Lösung für dieses Problem ein. Ich bau diese >dann gerne ein .... > >Sorry, dass ich dir keine bessere Antwort geben konnte. Leider stecke >ich momentan in einigen sehr zeitintensive Projekten und komme deshalb >nicht dazu Bugs zu fixen und Weiterentwicklungen (struts4php Version >2.0) zu implementieren. Denke aber so in zwei Wochen hab ich wieder mehr >Zeit. > >Bis dann >Tim > >patrick arnold wrote: > > > >>Hallo Ralph, >> >>danke für deinen Tip. Stimmt, ich habe noch Version 1.0.3 verwendet, mit >>1.0.5 funktioniert es. >> >>Für eine Formularprozedur hab ich nun den scope "session" angegeben. In der >>jetzigen Umsetzung starte ich aber logischerweise die Session vor >>$actionBanana->process($request). In PHP5 hat dies zur Folge: >> >>ActionBanana::processPopulate() [function.processPopulate]: The script >> >> >tried > > >>to execute a method or access a property of an incomplete object. Please >>ensure that the class definition "XXXForm" of the object you are trying to >>operate on was loaded _before_ unserialize() gets called or provide a >>__autoload() function to load the class definition in. >> >>Gibt es da einen sinnvollen Workaround? >> >>Gruss Patrick >> >>-----Ursprüngliche Nachricht----- >>Von: Ralph Bergmann [mailto:ra...@da...] >>Gesendet: Dienstag, 26. April 2005 22:04 >>An: patrick arnold >>Cc: str...@li... >>Betreff: Re: [Struts4php-user] include-Attribut im Actionmapping >> >> >>patrick arnold schrieb: >> >> >> >> >>>Hallo, >>> >>>im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut >>>"include" innerhalb vom <action>-Element verwendet. Kann es sein, dass >>>dies aber noch nicht unterstützt wird? >>> >>> >>> >>> >>doch wird es aber ich meine erst ab version 1.0.5, die früheren hatten >>dies zwar schon in der xml datei enthalten, aber nicht genutzt >> >>nun ist es so, dass dort die datei stehen muss(!!!), die den quelltext >>zur klasse hat, die unter "type" angegeben ist >> >> >>ralph >> >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by: NEC IT Guy Games. >>Get your fingers limbered up and give it your best shot. 4 great events, 4 >>opportunities to win big! Highest score wins.NEC IT Guy Games. Play to >>win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 >>_______________________________________________ >>Struts4php-user mailing list >>Str...@li... >>https://lists.sourceforge.net/lists/listinfo/struts4php-user >> >> >> >> > > > > >------------------------------------------------------- >This SF.Net email is sponsored by: NEC IT Guy Games. >Get your fingers limbered up and give it your best shot. 4 great events, 4 >opportunities to win big! Highest score wins.NEC IT Guy Games. Play to >win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 >_______________________________________________ >Struts4php-user mailing list >Str...@li... >https://lists.sourceforge.net/lists/listinfo/struts4php-user > > |
From: patrick a. <pat...@gm...> - 2005-04-30 12:56:17
|
Hi Tim, danke für deine schnelle Antwort. Als Workaround können folgende Zeilen vor dem Starten der Session dienen: if($name = $actionBanana->actionMappings->find($_REQUEST['path'])->getName()) { include_once($actionBanana->actionFormBeans->find($name)->getInclude()); } Gruss Patrick ps: Was hast du denn so für v2.0 geplant? ;-) -----Ursprüngliche Nachricht----- Von: Tim Wagner [mailto:t.w...@te...] Gesendet: Samstag, 30. April 2005 14:10 An: patrick arnold Cc: Ralph Bergmann; str...@li... Betreff: Re: AW: [Struts4php-user] include-Attribut im Actionmapping Hallo Patrick, tschuldigung dass ich mich einmische, aber vielleicht kann ich dir bei deinem Problem helfen. Es gibt in der Version 1.0.5 ebenso wie im <action>-Element im <form>-Element ein include Attribute. Leider funktioniert das eben nur, wenn man keine Session verwendet. Benötigst du eine Session, dann bleibt dir aktuell nur die Möglichkeit das entsprechenden Form manuell zu includieren. Leider ist mir da auch noch nix vernüftiges eingefallen. Das macht die Verwendung natürlich etwas unkomfortabel. Vielleicht fällt ja irgendjemand eine gute Lösung für dieses Problem ein. Ich bau diese dann gerne ein .... Sorry, dass ich dir keine bessere Antwort geben konnte. Leider stecke ich momentan in einigen sehr zeitintensive Projekten und komme deshalb nicht dazu Bugs zu fixen und Weiterentwicklungen (struts4php Version 2.0) zu implementieren. Denke aber so in zwei Wochen hab ich wieder mehr Zeit. Bis dann Tim patrick arnold wrote: >Hallo Ralph, > >danke für deinen Tip. Stimmt, ich habe noch Version 1.0.3 verwendet, mit >1.0.5 funktioniert es. > >Für eine Formularprozedur hab ich nun den scope "session" angegeben. In der >jetzigen Umsetzung starte ich aber logischerweise die Session vor >$actionBanana->process($request). In PHP5 hat dies zur Folge: > >ActionBanana::processPopulate() [function.processPopulate]: The script tried >to execute a method or access a property of an incomplete object. Please >ensure that the class definition "XXXForm" of the object you are trying to >operate on was loaded _before_ unserialize() gets called or provide a >__autoload() function to load the class definition in. > >Gibt es da einen sinnvollen Workaround? > >Gruss Patrick > >-----Ursprüngliche Nachricht----- >Von: Ralph Bergmann [mailto:ra...@da...] >Gesendet: Dienstag, 26. April 2005 22:04 >An: patrick arnold >Cc: str...@li... >Betreff: Re: [Struts4php-user] include-Attribut im Actionmapping > > >patrick arnold schrieb: > > >>Hallo, >> >>im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut >>"include" innerhalb vom <action>-Element verwendet. Kann es sein, dass >>dies aber noch nicht unterstützt wird? >> >> > > >doch wird es aber ich meine erst ab version 1.0.5, die früheren hatten >dies zwar schon in der xml datei enthalten, aber nicht genutzt > >nun ist es so, dass dort die datei stehen muss(!!!), die den quelltext >zur klasse hat, die unter "type" angegeben ist > > >ralph > > > >------------------------------------------------------- >This SF.Net email is sponsored by: NEC IT Guy Games. >Get your fingers limbered up and give it your best shot. 4 great events, 4 >opportunities to win big! Highest score wins.NEC IT Guy Games. Play to >win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 >_______________________________________________ >Struts4php-user mailing list >Str...@li... >https://lists.sourceforge.net/lists/listinfo/struts4php-user > > |
From: Tim W. <t.w...@te...> - 2005-04-30 12:09:06
|
Hallo Patrick, tschuldigung dass ich mich einmische, aber vielleicht kann ich dir bei deinem Problem helfen. Es gibt in der Version 1.0.5 ebenso wie im <action>-Element im <form>-Element ein include Attribute. Leider funktioniert das eben nur, wenn man keine Session verwendet. Benötigst du eine Session, dann bleibt dir aktuell nur die Möglichkeit das entsprechenden Form manuell zu includieren. Leider ist mir da auch noch nix vernüftiges eingefallen. Das macht die Verwendung natürlich etwas unkomfortabel. Vielleicht fällt ja irgendjemand eine gute Lösung für dieses Problem ein. Ich bau diese dann gerne ein .... Sorry, dass ich dir keine bessere Antwort geben konnte. Leider stecke ich momentan in einigen sehr zeitintensive Projekten und komme deshalb nicht dazu Bugs zu fixen und Weiterentwicklungen (struts4php Version 2.0) zu implementieren. Denke aber so in zwei Wochen hab ich wieder mehr Zeit. Bis dann Tim patrick arnold wrote: >Hallo Ralph, > >danke für deinen Tip. Stimmt, ich habe noch Version 1.0.3 verwendet, mit >1.0.5 funktioniert es. > >Für eine Formularprozedur hab ich nun den scope "session" angegeben. In der >jetzigen Umsetzung starte ich aber logischerweise die Session vor >$actionBanana->process($request). In PHP5 hat dies zur Folge: > >ActionBanana::processPopulate() [function.processPopulate]: The script tried >to execute a method or access a property of an incomplete object. Please >ensure that the class definition "XXXForm" of the object you are trying to >operate on was loaded _before_ unserialize() gets called or provide a >__autoload() function to load the class definition in. > >Gibt es da einen sinnvollen Workaround? > >Gruss Patrick > >-----Ursprüngliche Nachricht----- >Von: Ralph Bergmann [mailto:ra...@da...] >Gesendet: Dienstag, 26. April 2005 22:04 >An: patrick arnold >Cc: str...@li... >Betreff: Re: [Struts4php-user] include-Attribut im Actionmapping > > >patrick arnold schrieb: > > >>Hallo, >> >>im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut >>"include" innerhalb vom <action>-Element verwendet. Kann es sein, dass >>dies aber noch nicht unterstützt wird? >> >> > > >doch wird es aber ich meine erst ab version 1.0.5, die früheren hatten >dies zwar schon in der xml datei enthalten, aber nicht genutzt > >nun ist es so, dass dort die datei stehen muss(!!!), die den quelltext >zur klasse hat, die unter "type" angegeben ist > > >ralph > > > >------------------------------------------------------- >This SF.Net email is sponsored by: NEC IT Guy Games. >Get your fingers limbered up and give it your best shot. 4 great events, 4 >opportunities to win big! Highest score wins.NEC IT Guy Games. Play to >win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20 >_______________________________________________ >Struts4php-user mailing list >Str...@li... >https://lists.sourceforge.net/lists/listinfo/struts4php-user > > |
From: patrick a. <pat...@gm...> - 2005-04-30 11:46:30
|
Hallo Ralph, danke für deinen Tip. Stimmt, ich habe noch Version 1.0.3 verwendet, mit 1.0.5 funktioniert es. Für eine Formularprozedur hab ich nun den scope "session" angegeben. In der jetzigen Umsetzung starte ich aber logischerweise die Session vor $actionBanana->process($request). In PHP5 hat dies zur Folge: ActionBanana::processPopulate() [function.processPopulate]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "XXXForm" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in. Gibt es da einen sinnvollen Workaround? Gruss Patrick -----Ursprüngliche Nachricht----- Von: Ralph Bergmann [mailto:ra...@da...] Gesendet: Dienstag, 26. April 2005 22:04 An: patrick arnold Cc: str...@li... Betreff: Re: [Struts4php-user] include-Attribut im Actionmapping patrick arnold schrieb: > Hallo, > > im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut > "include" innerhalb vom <action>-Element verwendet. Kann es sein, dass > dies aber noch nicht unterstützt wird? doch wird es aber ich meine erst ab version 1.0.5, die früheren hatten dies zwar schon in der xml datei enthalten, aber nicht genutzt nun ist es so, dass dort die datei stehen muss(!!!), die den quelltext zur klasse hat, die unter "type" angegeben ist ralph |
From: Ralph B. <ra...@da...> - 2005-04-26 20:04:49
|
patrick arnold schrieb: > Hallo, > > im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut > "include" innerhalb vom <action>-Element verwendet. Kann es sein, dass > dies aber noch nicht unterstützt wird? doch wird es aber ich meine erst ab version 1.0.5, die früheren hatten dies zwar schon in der xml datei enthalten, aber nicht genutzt nun ist es so, dass dort die datei stehen muss(!!!), die den quelltext zur klasse hat, die unter "type" angegeben ist ralph |
From: patrick a. <pat...@gm...> - 2005-04-26 18:08:06
|
Hallo, im Tutorial auf struts4php.org wird in einem Code-Listing das Attribut "include" innerhalb vom <action>-Element verwendet. Kann es sein, dass dies aber noch nicht unterstützt wird? Dieses dynamische Laden von Klassen wären ein guter Performance-Vorteil, da nicht immer alle benötigten Klassen eingebunden werden müssten. Ausserdem ist es hilfreich, um noch vor dem Starten einer Session evtl von ihr benötigte ActionForm/ActionError-Klassen zu laden. Gruss Patrick |
From: Ralph B. <ra...@da...> - 2005-03-15 20:59:13
|
Hallo! Ich muss ja gestehen, dass ich mit Spannung auf die Reaktion gewartet hab ;) Nun die schlechte Nachricht, da ist noch ein kleiner logischer Bug drin :( Und zwar werden momentan die Rollen, die der angemeldete Nutzer hat, beim Methodenaufruf process(...) mit übergeben. Doch was ist, wenn sie sich zwischenzeitlich ändern?!? Also wenn man z.B. eine Kette von 3 Aktion's hat und eine zwischendurch den Nutzer abmeldet oder so. Die Rollen sollten so gehalten werden, dass sie beim Abarbeiten der Aktion's geändert werden können. Werden sie derzeit leider aber nicht, da sie nur beim o.g. Methodenaufruf übergeben und dann immer mit "durchgeschleift" werden. Ich dachte da an einen definierten Platz in $request. Tim Wagner schrieb: > ... Ich > werde auf jeden Fall noch vor meinem Urlaub die Sachen ansehen und ... ich wünsche schon jetzt einen schönen Urlaub, wird doch weiter als Balkonien sein?!? > versuchen Sie in die Sourcen einzubauen. dann gibts ja bald Version 1.0.6 *freu* So jetzt noch schnell abwaschen, dann Monk schauen und dann ab ins Bettchen *gääähn* Dann noch einen schönen Abend! Ralph |
From: Tim W. <t.w...@te...> - 2005-03-15 17:06:23
|
Hallo Ralph, ich bin momentan grade etwas im Stress und deshalb bin ich noch nicht dazugekommen mir deine Änderungen genau anzusehen. Hab sie bisher nur mal kurz überflogen und finde dass sich alles interessant anhört. Ich werde auf jeden Fall noch vor meinem Urlaub die Sachen ansehen und versuchen Sie in die Sourcen einzubauen. Danke nochmals für die Anregungen. Bis dann Tim |
From: Ralph B. <ra...@da...> - 2005-03-13 14:20:49
|
actionbanana.php: function process( &$request, $role) { // find the ActionMapping for this request $this->setRole($role); $actionMapping = $this->processMapping( $request->getAttribute( PATH ) ); // check permission $allowedroles = $actionMapping->getRoles(); $role = (!is_array($role)) ? array($role) : $role; $result = array_intersect($role, $allowedroles); - if (empty($result)) { + if (!empty($allowedroles) && empty($result)) { $forward = $actionMapping->findForward( NOTALLOWED ); $request->setAttribute( PATH, $forward->getPath() ); $actionMapping = $this->processMapping( $request->getAttribute( PATH ) ); } // check if a direct path to another site or file is given $actionForward = $this->processForward( $actionMapping, $request ); if ( !$actionForward ) { . . . dadurch kann ein nutzer auch mehrere rollen haben, dann als array übergeben, bei einer rolle ist auch ein string möglich ralph |
From: Ralph B. <ra...@da...> - 2005-03-13 13:47:32
|
actionbanana.php: function process( &$request, $role) { // find the ActionMapping for this request $this->setRole($role); $actionMapping = $this->processMapping( $request->getAttribute( PATH ) ); // check permission $allowedroles = $actionMapping->getRoles(); $role = (!is_array($role)) ? array($role) : $role; $result = array_intersect($role, $allowedroles); if (empty($result)) { $forward = $actionMapping->findForward( NOTALLOWED ); $request->setAttribute( PATH, $forward->getPath() ); $actionMapping = $this->processMapping( $request->getAttribute( PATH ) ); } // check if a direct path to another site or file is given $actionForward = $this->processForward( $actionMapping, $request ); if ( !$actionForward ) { . . . dadurch kann ein nutzer auch mehrere rollen haben, dann als array übergeben, bei einer rolle ist auch ein string möglich ralph |
From: Ralph B. <ra...@da...> - 2005-03-12 22:12:45
|
hallo! ich mußte mich ein wenig "austoben" und hab in struts4php ein paar dinge "reingebaut", die mir wichtig waren, naja und nur vorschlagen kann ja jeder, selbermachen ist viel besser ;) ich bin mir garnicht mehr so sicher, wo ich überall meine finger bei hatte, denke am besten mal mit dem cvs vergleichen, dat zeigt sicher besser die änderungen an, als wenn ich mich jetzt noch an alle erinnere. die änderungen im überblick: ich meine mich zu erinnern, dass im phpmag stand, dass struts4php dem jakarta nachempfunden sein soll?!? meiner jakarta doku nach sind einige optionen in der struts-config.xml optional. ich hab die saxparserstruts.php dementsprechend angepaßt, son bischen zumindest. forward element redirect -> A Boolean value that determines whether the RequestProcessor should perform a forward or a redirect when using this forward mapping. This attribute is not required; the default value is false, which means that a forward will be performed. ich hab zwar nicht verstanden, wie der redirect erfolgt, aber er tut's jetzt. dabei dann einfach redirect="true" und in path="http://www.heise.de" reinschreiben oder so, sprich in path ist dann die url drin action element roles -> A comma-delimited list of security role names allowed to invoke this Action. When a request is processed, the RequestProcessor verifies that the user has at least one of the roles identified within this attribute. This attribute is optional. dat tuts jetzt auch. dazu wurde der aufruf geändert, $role enthält die rolle des angemeldeten nutzers $path = $actionBanana->process($request, $role); mehr war's glaub ich nicht doku hab ich aber nicht oder nur in deutsch reingeschrieben, because mei inglisch is not so gut :( mfg und nen schönen sonntag ralph |
From: Ralph B. <ra...@da...> - 2005-03-02 12:04:26
|
Tim Wagner schrieb: > Das mit dem Include path sollte eigentlich schon funktionieren, d. h. > sie können in der struts-config.xml im action tag über den include > Parameter den kompletten Pfad zur jeweiligen Action angeben. Warum er > bei Ihnen immer im actions Verzeichnis sucht versteh ich auch nicht. Ich meine Schuld :( wenn man nur den Namen der Datei angibt, dann sucht er sie auch nur im Verzeichnis Action. Ich hab garnet dran gedacht, den kompletten Pfad anzugeben *heul* zu meiner Entschuldigung: es war schon spät ;) > gebe z. B. include="actions/admin/personcreateaction.php" an, wobei bei > unsereren Anwendungen der Pfad zum Controller immer im PHP Include Pfad > mit aufgenommen wird. Es sollte eigentlich somit ohne den neuen > Parameter der ActionBanana funktionieren. Es wäre natürlich nett, wenn > Sie das bei Ihnen nochmal überprüfen könnten, damit wir, falls das > Problem weiterhin besteht, dieses beseitigen können. ja wenn der komplette Pfad angegeben wird, dann läuft's auch im Original > Dateien zu includieren. Weiterhin arbeiten wir gerade an Version 2.0 des > Frameworks, das komplett bezüglich der neuen Features von PHP5 > überarbeitet wird. In diesem Zuge werden wir das Include Problem auch > nochmal angehen. > > Ich hoffe ich konnte Ihnen soweit helfen. Vielleicht haben Sie ja Lust > an der Entwicklung von struts4php mitzuwirken. Wir würden uns immer über > neue Entwickler freuen. Das Angebot mitzumachen klingt sehr verlockend, doch dann brauch im mindestens einen 36 Stundentag ohne Zeitausgleich. Momentan sieht es so aus, dass ich tagsüber ganz normal arbeite und dann noch 3 mal die Woche von 18:00 bis 21:15 zur Schule fahr und den "staatlich geprüften Techniker der Informatik" mache. Ja und wenn dann noch Zeit bleibt, Hausaufgaben, dass Schulprojekt, welches wir dies Schuljahr auf haben (http://dasralph.dotgeek.org läuft z.Z. nicht da mod_rewrite bei den irgendwie z.Z. nicht geht) und dann noch gerne mit Cinema4D "spielen". Ralph Bergmann |
From: Tim W. <t.w...@te...> - 2005-03-02 09:15:19
|
Ralph Bergmann wrote: > Guten Morgen! > > > Ich hab mit großer Freude schon vor ein paar Tagen die neue Version > runtergeladen und nun auch eingespielt. > > Die Funktion, dass die Action's / ActionForm's bei Bedarf automatisch > hinzugeladen werden, gefällt mir gut. Doch hab ich da auch eine kleine > Änderung. > > Ich versuche immer Pakete von anderen Entwicklern möglichst im > Originalzustand zu lassen, damit diejenigen, die meine Anwendung > nutzen, keine Probleme bekommen, wenn sie mal neuere Versionen > einspielen. > > Nun ist die neue "autoIncludeFunction" so, dass sie die Dateien im > Verzeichnis action sucht (oder hab ich schon wieder was falsch > gemacht?), doch da möchte ich sie nicht haben. Aus diesem Grund habe > ich der Klasse ActionBanana die zusätzliche Eigenschaft $includePath > gegeben, die ich duch eine globale Konfigurationsdatei befülle. Die > "autoIncludeFunction" nutzt nun diese mit und so kann ich meine > eigenen Action's / ActionForm's speichern wo ich will. > Und warum schreib ich das hier eigentlich?!? Ich dachte, es wäre 'ne > prima Idee, die sich auch andere wünschen ;) > > > Was ich leider noch nicht ganz verstanden habe, wozu ist die > resources.php?!? Soll es für eine Internationalisierung sein? > > > Mit freundlichen Grüßen! > > Ralph Bergmann > > p.s. um die doch recht vielen struts4php Dateien nicht alle "von Hand" > includen* zu müssen, hab ich mir dies hier ausgedacht: > > function map_dirs($path) { > $ret = ""; > if(is_dir($path)) { > if($contents = opendir($path)) { > while(($node = readdir($contents)) !== false) { > if($node != "." && $node != "..") { > if(is_dir($path."/".$node)) { > $ret = $ret . map_dirs("$path/$node"); > } else { > $ret = $ret ."require_once('". $path ."/". $node ."');"; > } > } > } > } > } > > return $ret; > } > > eval(map_dirs("../../module/struts4php")); > > * ich mag kein denglisch :( Hallo Herr Bergmann, freut mich, dass Ihnen die neue Version gefällt :-) Das mit dem Include path sollte eigentlich schon funktionieren, d. h. sie können in der struts-config.xml im action tag über den include Parameter den kompletten Pfad zur jeweiligen Action angeben. Warum er bei Ihnen immer im actions Verzeichnis sucht versteh ich auch nicht. Ich gebe z. B. include="actions/admin/personcreateaction.php" an, wobei bei unsereren Anwendungen der Pfad zum Controller immer im PHP Include Pfad mit aufgenommen wird. Es sollte eigentlich somit ohne den neuen Parameter der ActionBanana funktionieren. Es wäre natürlich nett, wenn Sie das bei Ihnen nochmal überprüfen könnten, damit wir, falls das Problem weiterhin besteht, dieses beseitigen können. Die "resources.php" ist ein erster Versuch die Internationalisierung einer Anwendung automatisch durch struts4php zu unterstützen. Hierbei können Sie über das Tag <message-resources> in der Konfigurationsdatei ein Resourcebundle angeben, z. B. <message-resources name="testresource" path="conf"/> würde bewirken, dass der Controller die Datei "testresource.de_DE.properties" im Verzeichnis "conf" Ihrer Webanwendung einliest und Ihnen den Inhalt über die Methode "getResources()" der ActionBanana zur Laufzeit zur Verfügung stellt. Die Resourcedateien müssen den Aufbau "key = value" haben, wie die Resourcedateien aus Java. Über den Parameter "locale" der ActionBanana können sie festlegen welche Datei geparst werden soll. Wenn Sie also als Parameter "en_EN" angeben, dann würden Sie den Inhalt der Datei "testresource.en_EN.properties" erhalten. Über die Methode "find($key)" der Resourceklasse erhalten Sie dann den zugehörigen Wert. Das ganze ist allerdings nur ein Anfang und natürlich noch stark ausbaufähig. Das Problem mit den Include der vielen Dateien ist uns natürlich auch schon aufgefallen. Wir verwenden deshalb immer das PEAR Package unter http://www.struts4php.org/pear/struts4php-current.tgz, das alle Dateien in Ihrem PEAR Verzeichnis automatisch anlegt, Sie müssen in Ihrer Anwendung dann lediglich include_once "struts4php.php" angeben um alle Dateien zu includieren. Weiterhin arbeiten wir gerade an Version 2.0 des Frameworks, das komplett bezüglich der neuen Features von PHP5 überarbeitet wird. In diesem Zuge werden wir das Include Problem auch nochmal angehen. Ich hoffe ich konnte Ihnen soweit helfen. Vielleicht haben Sie ja Lust an der Entwicklung von struts4php mitzuwirken. Wir würden uns immer über neue Entwickler freuen. mfg Tim Wagner |