From rafaels_mailinglists at gmx.de Mon Dec 1 18:58:00 2003
From: rafaels_mailinglists at gmx.de (Rafael Krysciak)
Date: Mon Dec 1 18:57:55 2003
Subject: [pear] QuickForm_Controller Wizard
Message-ID: <3FCB8128.7040906@gmx.de>
Hallo,
hat vielleicht jemand Erfahrung mit dem QuickForm_Controller. Ich
versuche einen Wizard zu bauen und komme nicht so recht weiter.
Als Übung habe ich mir das Beispiel aus dem Manual genommen und versucht
es um ein weiteres Formular zu ergänzen.
Dabei stolperte ich über die Actions. Es ist leider noch nicht
dokumentiert, und ich habe keine Lust mich durch die Klassen (die
ziemlich komplex sind) durch zu wühlen.
Es wäre sehr schön wenn jemand ein ganz einfachen Beispiel hätte.
Vielen Danke und Gruß
Rafael
From ths at 4bconsult.de Mon Dec 1 21:50:15 2003
From: ths at 4bconsult.de (Thomas Schulz)
Date: Mon Dec 1 21:50:22 2003
Subject: [pear] QuickForm_Controller Wizard
In-Reply-To: <3FCB8128.7040906@gmx.de>
References: <3FCB8128.7040906@gmx.de>
Message-ID: <3FCBA987.2000107@4bconsult.de>
Rafael Krysciak wrote:
> hat vielleicht jemand Erfahrung mit dem QuickForm_Controller.
Kann ich nicht behaupten.
> Als Übung habe ich mir das Beispiel aus dem Manual genommen und versucht
> es um ein weiteres Formular zu ergänzen.
Kennst du die Beispiele aus docs/HTML_QuickForm_Controller/examples in
deiner PEAR-Installation oder meintest Du diese?
ThS.
--
http://4bconsult.de
From rafaels_mailinglists at gmx.de Tue Dec 2 00:07:02 2003
From: rafaels_mailinglists at gmx.de (Rafael Krysciak)
Date: Tue Dec 2 00:07:21 2003
Subject: [pear] QuickForm_Controller Wizard
In-Reply-To: <3FCBA987.2000107@4bconsult.de>
References: <3FCB8128.7040906@gmx.de> <3FCBA987.2000107@4bconsult.de>
Message-ID: <3FCBC996.6010301@gmx.de>
Thomas Schulz wrote:
> Kennst du die Beispiele aus docs/HTML_QuickForm_Controller/examples in
> deiner PEAR-Installation oder meintest Du diese?
Hi Thomas,
die habe ich garnicht gesehn, ich habe nur die Online-Help benutzt.
Das hilft mir auf jeden Fall weiter.
thx ThS.
From Matthias.Weinhold at gmx.net Sat Dec 6 17:34:51 2003
From: Matthias.Weinhold at gmx.net (Matthias Weinhold)
Date: Sat Dec 6 17:40:43 2003
Subject: [pear] Probleme mit ITX Template
Message-ID: <3FD2052B.1050903@gmx.net>
Hallo,
ich verzweifele gerade am Template.
Ich habe ein index.tpl, dort gibt es {PAGE_CONTENT}
{PAGE_CONTENT}
Das soll auf der Seite arbeiten.php ersetzt werden durch arbeiten.tpl
{HEADLINE}
Titel | {TITEL} |
Jahr | {YEAR} |
Autor(en) | {AUTOR} |
Abstract: {ABSTRACT} |
download als PDF |  |
|
Das mache versuche ich folgendermaßen:
$tpl->addBlockfile("PAGE_CONTENT","content","arbeiten.tpl");
$tpl->setCurrentBlock("kategorie");
$result_a = $db->query("SELECT kat, heading FROM kat_arbeit WHERE kat =
'ref'");
while ($row = $result_a->fetchRow(DB_FETCHMODE_ASSOC)) {
$tpl->setVariable("HEADLINE", $row["heading"]);
$tpl->parseCurrentBlock();
}
$tpl->addBlockfile("PAGE_CONTENT","content","arbeiten.tpl");
$tpl->setCurrentBlock("arbeit");
//Referate
$result = $db->query("SELECT arbeiten.titel, arbeiten.abstract,
arbeiten.year, arbeiten.link, arbeiten.authors FROM arbeiten, kat_arbeit
WHERE arbeiten.kat = kat_arbeit.kat");
while ($row = $result->fetchrow(DB_FETCHMODE_ASSOC)) {
$tpl->setVariable(array(
"TITEL" => $row["titel"],
"ABSTRACT" => $row["abstract"],
"AUTOR" => $row["authors"],
"YEAR" => $row["year"],
"URL" => $row["link"]
));
$tpl->parseCurrentBlock();
}
Bis hierher klappt das auch super. Nun brauch ich aber mehrere
Kategorien ({HEADING}), da dachte ich mir, ich muß den gesamten
Abschnitt nur darunter einfügen, aber da standen in der html-Ausgabe
erst alle headings untereinander und danach kommen die Arbeiten
({TITEL},{ABSTRACT}...).
Ich finde nirgends eine einigermaßen aussagekräftige Dokumentation und
weiß jetzt nicht mehr weiter.
Grüße von einem für jeden Tip dankbaren Matthias
--
Keiner weiss, ob die Höflichkeit nicht eine Tochter der Berechnung ist.
-- Art van Rheyn
From wolter at soulutions.de Sun Dec 7 23:39:38 2003
From: wolter at soulutions.de (Birgit Wolter)
Date: Sun Dec 7 23:40:50 2003
Subject: [pear] Probleme mit DB_DataObject
Message-ID: <7723017767.20031207233938@soulutions.de>
Hallo,
ich habe Probleme das Beispiel für ein "Three Tables Join" mit Hilfe
der .links.ini hinzubekommen. Leider scheint das Beispiel in
der Doku (auf der Seite für getLinks()) fehlerhaft zu sein, jedenfalls funktioniert es bei mir
überhaupt nicht. Hat jemand eine Idee oder Lösung?
Vielen Dank
Birgit
From j.kohl at style-id.de Fri Dec 19 23:23:24 2003
From: j.kohl at style-id.de (Jens Kohl)
Date: Fri Dec 19 23:23:32 2003
Subject: [pear] Template Engine Entscheidung
Message-ID:
Hallo,
ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber
mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich
nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für
keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und
Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar
nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht
mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am
besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt
sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so
Sachen wie QuickForms inkompatibel.
Liege ich mit meinen Verdächtigungen richtig? Gibt es einen
Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche
Engine ich für mich persönlich nutze?
Mit freundlichen Grüßen,
Jens Kohl
From tobias at schlitt.info Sat Dec 20 00:12:13 2003
From: tobias at schlitt.info (Tobias Schlitt)
Date: Sat Dec 20 00:09:00 2003
Subject: [pear] Template Engine Entscheidung
In-Reply-To:
References:
Message-ID: <1071875533.27442.103.camel@DotXP-WS>
On Fri, 2003-12-19 at 23:23, Jens Kohl wrote:
> Hallo,
Hallo Jens!
> ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber
> mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich
> nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für
> keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und
> Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar
> nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht
> mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am
> besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt
> sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so
> Sachen wie QuickForms inkompatibel.
> Liege ich mit meinen Verdächtigungen richtig? Gibt es einen
> Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche
> Engine ich für mich persönlich nutze?
Also, eine wirkliche Empfehlung kann man da wohl kaum geben. Bei der
verfügbaren Auswahl (alleine in PEAR) ist es wohl schwer, sich zu
entscheiden. Eine gute Basis zur Auswahl gibt die Art der Template
Verarbeitung, die eine Engine vornimmt. Hierbei geht es hauptsächlich um
Performance. Der Rest ist mehr oder weniger persönliche Präferenz. Ich
persönlich nutze bisher PEAR::HTML_Template_IT. Ist nicht das schnellste
und nicht sehr flexibel, habe aber bisher keinen Anwenudungsfall gehabt,
in dem das nicht ausreichte.
Hoffe das hilft Dir was!
Grüße!
Toby
From phpml at raschesweb.de Sat Dec 20 00:52:06 2003
From: phpml at raschesweb.de (Frank Rasche)
Date: Sat Dec 20 00:52:10 2003
Subject: [pear] Template Engine Entscheidung
In-Reply-To:
References:
Message-ID: <1854896889.20031220005206@raschesweb.de>
Hallo Jens,
Jens Kohl schrieb am Freitag, 19. Dezember 2003 um 23:23:
> Und dann wäre da noch Smarty, was mir noch am
> besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt
> sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so
> Sachen wie QuickForms inkompatibel.
http://pear.php.net/manual/en/package.html.html-quickform.html-quickform-renderer-arraysmarty.php
Wie gut das funktioniert, weiss ich aber nicht, da ich kein Smarty
benutze.
Mit geht es wie Tobias, ich benutze hauptsächlich Template_IT,
vermutlich weil es IIRC die älteste PEAR-Templateengine ist und weil ich es
einfach gewohnt bin.
Neben Template_IT hatte ich noch Sigma in Gebrauch, aufgrund der
(zugegeben sehr einfachen) Cache-Funktion. Wer allerdings auf
Performance und richtiges Caching der Templates Wert legt kommt wohl
an Smarty nicht vorbei.
Wenn du Seiten hast, die sich nicht bei jedem Request ändern, kannst
du ja auch noch mal einen Blick auf PEAR::Cache_Lite werfen
Aber um mal grundlegend die Templatesysteme zu unterscheiden:
http://pear.php.net/manual/en/package.html.html-template-flexy.intro.php
,--[ How does HTML_Template_Flexy differ... ]
| If you look around you will see there are other template systems
| available in PHP, they generally fall into two categories,
| Replacement Systems, or PHP Code builders.
|
| Replacement systems like HTML_Template_IT, FastTemplate,
| PhpLib Template tend to be slower at doing block and
| nested block type templates and involve alot of code to
| add each variable to the template.
|
| Php Code builders like Flexy, Smarty,
| SimpleTemplate (now HTML_Template_Xipe) tend better
| at more complex templates, and can offer a better approach
| to extendability.
`-----
Aber in der Regel komme ich auch mit Template_IT aus, finde es recht
einfach und wenn es nicht gerade wirklich Hightraffic-Seiten voll
ausreichend.
> Liege ich mit meinen Verdächtigungen richtig? Gibt es einen
> Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche
> Engine ich für mich persönlich nutze?
Jein ;-)
Es ist auch ne Frage der Anforderung und wer die Templates erstellen
soll, bzw. wer mit der Syntax zurecht kommen muss.
Gruss
Frank
From smith at backendmedia.com Sat Dec 20 13:12:15 2003
From: smith at backendmedia.com (Lukas Smith)
Date: Sat Dec 20 13:14:02 2003
Subject: [pear] Template Engine Entscheidung
In-Reply-To:
Message-ID: <20031220121358.8ACBC6549D@zwenkau.mushaake.org>
> From: pear-bounces@phpbar.de [mailto:pear-bounces@phpbar.de] On Behalf Of
> Jens Kohl
> Sent: Friday, December 19, 2003 11:23 PM
> To: deutschsprachige PEAR-Mailingliste
> Subject: [pear] Template Engine Entscheidung
>
> Hallo,
>
> ich habe bisher nur ein kleine Template-Engine genutzt mit der ich aber
> mehr und mehr an die Grenzen stosse. Für ein neues Projekt möchte ich
> nun umsteigen. Allerdings kann ich mich bei den PEAR Templates für
> keines entscheiden, weil ich auch nicht so recht weiß wo die Vor- und
> Nachteile liegen. So richtige Vergleichstests gibt's ja scheinbar
> nicht. Im PHP Magazin war mal ansatzweise ein Test, aber da waren nicht
> mal alle berückstichtigt. Und dann wäre da noch Smarty, was mir noch am
> besten von allen gefällt, mal abgesehen von der Syntax. Nur leider paßt
> sich das scheinbar nicht in die PEAR Landschaft ein und ist auch zu so
> Sachen wie QuickForms inkompatibel.
>
> Liege ich mit meinen Verdächtigungen richtig? Gibt es einen
> Vergleichstest, oder ist es im Prinzip nur eine Religionsfrage welche
> Engine ich für mich persönlich nutze
Grundsäzlich gibt es zwei dimensionen
Compile/not compile
Push/pull
Dabei sind die push/not compile und die pull/compile wohl die häufigsten
Push/not compile:
IT, ITX etc
Deine logic schiebt die daten in das template. Heisst das du in mehreren
stages die platzhalter und blöcke ersetzt. Nicht sonderlich effizient und
sehr unflexible, aber einfach zu bedienen und man kann keinen "bösencode" in
die templates einschleichen. Wie gesagt aber sehr unflexibel da viele layout
sachen in die logik müssen (wie z.B. alterierende farben in tabellen zeilen)
Push/compile
Sigma oder IT[X] mit cachen
Pull/compile
Xipe, smarty, flexy
Das template fordert selber die daten an
In der regel wird das template einfach in php code umgewandelt.
Problem ist hierbei das thema sicherheit, da user einfach auf alle teile des
system zu greifen können. In smarty und flexy kann man das ein bischen
kontrolieren, wenn man nur die engine spezifischen markupsachen erlaubt.
Dafür ist das alles sehr schnell und sehr flexibel. Ugly hacks sind auch
möglich (was gut und schlecht ist).
Gruss,
Lukas
From wolff at 21st.de Sat Dec 20 18:25:22 2003
From: wolff at 21st.de (Markus Wolff)
Date: Sat Dec 20 18:19:01 2003
Subject: [pear] Template Engine Entscheidung
In-Reply-To: <20031220121358.8ACBC6549D@zwenkau.mushaake.org>
References: <20031220121358.8ACBC6549D@zwenkau.mushaake.org>
Message-ID: <3FE48602.9000508@21st.de>
Lukas Smith wrote:
> Push/not compile:
> IT, ITX etc
[...]
> Push/compile
> Sigma oder IT[X] mit cachen
[...]
> Pull/compile
> Xipe, smarty, flexy
[...]
Ein IMHO nicht ganz unwichtiges Beispiel fehlt noch im Pull-Sektor, am
ehesten zu klassifizieren mit "no need to compile": Savant.
http://phpsavant.com/
Ist im Prinzip mit Smarty vergleichbar, muss allerdings nicht
kompilieren, weil die Templates an sich schon in PHP sind - d.h. man
muss auch keine neue Syntax lernen. Trotzdem kann man die Grenzen
zwischen Display- und Businesslogik klar definieren, indem man den
Templateskripten nur bestimmte Informationen zur Verfügung stellt.
Ich hab's selbst noch nicht benutzt, da es momentan zu aufwändig wäre,
alle meine Programme von ITX/Sigma auf Savant umzudröseln, aber es
klingt hochgradig spannend!
CU
Markus
From j.kohl at style-id.de Tue Dec 23 19:02:36 2003
From: j.kohl at style-id.de (Jens Kohl)
Date: Tue Dec 23 19:02:44 2003
Subject: [pear] Probleme beim PEAR Paket updaten
Message-ID: <30DF4345-3572-11D8-8F5D-000A95753E4C@style-id.de>
Hi,
ich habe sowohl lokal als auch auf meinem Server versucht PEAR zu
updaten (einmal auf stable 1.2.1 und einmal auf devel 1.3b5). Das
Update funktionierte nocht, aber wenn man jetzt install oder update
aufruft kommt immer:
Fatal error: Call to undefined function: getopt2() in
/usr/local/httpd/pear/PEAR/System.php on line 71
Ist seit neustem beim Update was zu beachten? Das Update 1.2.1 habe ich
übrigends über das WebFrontend gemacht, da mir dort nicht mehr alle
neuen Packs angezeigt wurden.
Mit freundlichen Grüßen,
Jens Kohl
From webmaster at michael-ott.org Wed Dec 31 14:12:48 2003
From: webmaster at michael-ott.org (Michael Ott)
Date: Wed Dec 31 14:12:57 2003
Subject: [pear] DB Zugriff auf Funktionen
Message-ID: <001f01c3cf9f$ca861380$0201a8c0@crawler>
Hallo,
Was ist eigentlich der korrekte Zugriff auf die Datenbankfunktionen:
z.B.:
$sql = 'SELECT * FROM TABELLE';
$result = $db->query($sql);
if($result->numRows()>0) {
machirgendwas;
}
bringt mir auf meinem Heimrechner:
WinXP
PHP 4.3.2
Apache 1.3.27
eine Fehlermeldung call to undefined Funktion numrows
auf dem Webserver:
Linux
PHP 4.3.1
Apache 1.3.26
keine Fehlermeldung.
Ändere ich nun die Abfrage in
if($db->numRows($result)>0) {
machirgendwas;
}
klappt es bei beiden.
Woran kann es liegen, dass die beiden Aufrufe unterschiedlcih gehandhabt werden, bzw. welcher Weg ist der favorisierte(sicher und korrekt)
Gruß Michael
From tobias at schlitt.info Wed Dec 31 14:52:31 2003
From: tobias at schlitt.info (Tobias Schlitt)
Date: Wed Dec 31 14:52:51 2003
Subject: [pear] DB Zugriff auf Funktionen
In-Reply-To: <001f01c3cf9f$ca861380$0201a8c0@crawler>
References: <001f01c3cf9f$ca861380$0201a8c0@crawler>
Message-ID: <1072878750.18385.3.camel@DotXP-WS>
On Wed, 2003-12-31 at 14:12, Michael Ott wrote:
> Hallo,
Hi!
> Was ist eigentlich der korrekte Zugriff auf die Datenbankfunktionen:
> z.B.:
> $sql = 'SELECT * FROM TABELLE';
> $result = $db->query($sql);
> if($result->numRows()>0) {
> machirgendwas;
> }
> bringt mir auf meinem Heimrechner:
> WinXP
> PHP 4.3.2
> Apache 1.3.27
> eine Fehlermeldung call to undefined Funktion numrows
Hast Du mal geguckt, was denn $result für ein Typ ist? Mit Sicherheit
funzt irgendwas auf Deinem Homerechner mit MySQL nicht ganz wie es
soll..., wenn die ein fehler auftritt ist $result von Typ DB_Error,
sonst nur DB_Result. Und DB_Error kennt wohl kaum eine Methode
numRows().
Der Weg an sich ist der richtige, allerdings solltest Du vor ->numRows()
erst auf PEAR::isError($result), DB::isError($result) oder
$db->isError($result) prüfen. Oder aber Du setzt das standard
Errorhandling bei Deiner DB Instanz auf z.B. PEAR_ERROR_PRINT.
Grüße!
Toby
From webmaster at michael-ott.org Wed Dec 31 15:15:44 2003
From: webmaster at michael-ott.org (Michael Ott)
Date: Wed Dec 31 15:15:48 2003
Subject: [pear] DB Zugriff auf Funktionen
References: <001f01c3cf9f$ca861380$0201a8c0@crawler>
<1072878750.18385.3.camel@DotXP-WS>
Message-ID: <003301c3cfa8$953045d0$0201a8c0@crawler>
> > eine Fehlermeldung call to undefined Funktion numrows
>
> Hast Du mal geguckt, was denn $result für ein Typ ist? Mit Sicherheit
> funzt irgendwas auf Deinem Homerechner mit MySQL nicht ganz wie es
> soll..., wenn die ein fehler auftritt ist $result von Typ DB_Error,
> sonst nur DB_Result. Und DB_Error kennt wohl kaum eine Methode
> numRows().
Dankeschön.
Da lag tatsächlich der Hund begraben, ich habe vergessen eine Tabelle anzulegen, somit kam natürlich ein DB_Error.
Gruß Michael
P.S. Ich wünsche allen einen guten Rutsch ins neue Jahr