php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-03-2005, 14:27
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard Konstanten im Text finden?

Code:
Normaler Text<br />
{_server.DOCUMENT_ROOT}<br />
{eine_variable}<br />
Normaler Text<hr />
Verzeichnisse werden entweder durch \ oder / voneinander getrennt.<br />
{if _const.DIRECTORY_SEPARATOR = '/'}Hier ist es ein Slash.
{else}Hier ist es ein Backslash.
{endif}<br />
Noch eine Konstante: {_const.__FILE__}<br />
Fertig
wird von meiner Templateklasse umgewandelt zu:
PHP-Code:
$result 'Normaler Text<br />
'
.$_SERVER['DOCUMENT_ROOT'].'<br />
'
.$data['eine_variable'].'<br />
Normaler Text<hr />
Verzeichnisse werden entweder durch \\ oder / voneinander getrennt.<br />
'
.((DIRECTORY_SEPARATOR == '/') ? 'Hier ist es ein Slash.
'Hier ist es ein Backslash.
'
).'<br />
Noch eine Konstante: '
.__FILE__.'<br />
Fertig'

Ich habe jetzt zwei Möglichkeiten, die verwendeten Variablen herauszufinden:

Entweder, ich suche im Template nach irgendwas zwischen { und }, oder ich suche mir aus dem Ergebnis alls, was mit $ anfängt.

Wenn ich im produzierten Code suche, finde ich $data['eine_variable'] und $_SERVER['DOCUMENT_ROOT'], aber keine der beiden verwendeten Konstanten.

Wenn ich im Template suche, finde ich $data['eine_variable'], $_SERVER['DOCUMENT_ROOT'] und die Konstante __FILE__, aber nicht die Konstante DIRECTORY_SEPARATOR, da sie nicht als einzelne Variable verwendet wird, sondern in einem if.

Ich würde aber gern alles finden, da ich vor den gezeigten Codeausschnitt gerne
PHP-Code:
if (!isset($_SERVER['DOCUMENT_ROOT'])) $_SERVER['DOCUMENT_ROOT'] = NULL;
if (!isset(
$data['eine_variable'])) $data['eine_variable'] = NULL;
if (!
defined('DIRECTORY_SEPARATOR')) define('DIRECTORY_SEPARATOR'NULL);
if (!
defined('__FILE__')) define('__FILE__'NULL); 
schreiben würde, um auf keinen Fall Variablen oder Konstanten zu verwenden, die es nicht gibt.

Wie und wo also finde ich die Konstante DIRECTORY_SEPARATOR?
Im Template? Wenn ja: Wie?
Im produzierten Code? Wenn ja: Wie?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #2 (permalink)  
Alt 14-03-2005, 15:03
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Im Template? Wenn ja: Wie?
Mit einem regulären Ausdruck?!?
Suche alles was evtl. geparsed werden muss;
Gucke Dir das Gefundene an: Ist es eine Var? Ist es eine Konstante? ist es ein String?
-> Entsprechend behandeln, und durch bist du Viel Spaß
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #3 (permalink)  
Alt 14-03-2005, 15:38
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Juhu!
Da freu ich mich doch, dass meine Templateklasse an sich gar nichts kann, außer einer einfachen Variablenersetzung.

Mit ifs umgehen kann sie nur, wenn sie eine Datei command.if.php im richtigen Verzeichnis findet.

In der Funktion in der Datei command.if.php, die für das eigentliche Umwandeln zuständig ist, finde ich natürlich auch meine Konstante, aber...
Woher weiß ich in dieser Funktion, wohin ich das define schreiben soll?

Kurz zur weiteren Info:
Code:
{variable}
{_const.konstante}
{loop mitarbeiter}
{name}
{_const.konstante2}
{endloop}
wird umgesetzt zu:
PHP-Code:
function loop_mitarbeiter($content) {
  
$result '';
  foreach (
$content as $data)
    
$result .= $data['name'].konstante2;
  return 
$result;
}
$result $data['variable'].
konstante.
loop_mitarbeiter($data['mitarbeiter']); 
(Pseudocode)

Ich müsste also das define für konstante2 in die Funktion einbauen, oder irgendwo vor dem Aufruf der Funktion (danach bringt's j anicht wirklich viel)
Das klappt aber nur, wenn ein loop vor einem if abgearbeitet wird.

In meiner Klasse gibt es ein Array mit erlaubten "commands" (command.if.php => if, command.loop.php => loop, ...)
Diese Dateien werden eingelesen, es wird geschaut, ob eine Funktion mit dem richtigen Namen vorhanden ist und wenn ja, wird dem Array ein weiterer Eintrag hinzugefügt.
Ich kann abe rnicht beeinflussen, in welcher Reihenfolge die erlaubten "commands" im Array stehen und kann also auch nicht festlegen, dass ein loop immer vor einem if abgearbeitet werden muss.
Habe schließlich auch keine große Lust, mir jedesmal, wenn ich da was neues hinzufüge, mir Gedanken über die nötige Sortierung der "commands" zu machen.


Da fällt mir ein:
Spricht etwas dagegen, Konstanten einmal außerhalb aller Funktionen zu definieren?
Dann könnte ich nämlich die Datei var.const.php (du erkennst ein System?) entsprechend umbauen, statt "konstante" einfach "/*hinter mir steht eine konstante */konstante/*vor mir steht eine konstante */" zurückliefern lassen und dann im prouzierten Code alles zwischen "/*hinter mir steht eine konstante */" und ""/*vor mir steht eine konstante */" suchen lassen
Oder komme ich damit evtl. in Teufels Küche?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #4 (permalink)  
Alt 14-03-2005, 15:59
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich hab den letzten Absatz nur überflogen ... Aber das hörte sich mehrt nach Küche ( der von Berni ) an, als nach sinnvollen Konstrukten

Warum zum Henker machst Du das eigentlich alles so kompliziert?

- Regulärer ausdruck
- etwas gefunden
-- ist es in $tpl->vars
-- oder _KONSTANT_
--- ersetze den entsprechenden Wert
-- ist es ein String ( z.B. weil lustige Quots drum rum sind )
--- lasse ihn halt stehen
--- Zahlen dito

in allen anderen Fällen ersetze mit NULL, false oder 0 ... Je nachdem wie Du es gern hättest.

Es ist mir zwar nach wie vor ein Rätsel, warum man auf _SERVER oder Konstanten zugreifen muss, wenn man in einem Template ist, aber das musst Du ja issen
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #5 (permalink)  
Alt 14-03-2005, 16:22
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Kompliziert deshalb, weil ich keine Lust habe, die Klasse umbauen zu müssen, nur weil ich neben loops und ifs evtl. noch was anderes zu ermöglichen, z. B.
Code:
<ul>
{loop namen}
<li color="{alternate "red" "blue"}">{name}</li>
{endloop}
</ul>
So muss ich nicht im PHP-Code rumpfuschen, wenn ich statt blau und rot vielleicht mal rot und schwarz haben will oder, oder grün, rot und #dcf oder oder oder

Ich habe statt dessen eine Datei (wir erinnern uns?) command.alternate.php, die das für mich erledigt.

Und kompliziert war's bis jetzt eigentlich nicht:
  1. Template laden
  2. Dateien im Verzeichnis extensions/commands (flexibel) auslesen
  3. Funktion compile_command_<commandname> vorhanden
    Ja? Juhu, in Array ablegen
    Nein? Auch egal
  4. Über Array mit commands iterieren und nacheinander abarbeiten
  5. Variablen parsen
  6. Variable beginnend mit _ gefunden?
    Datei compile_var_<teil nach dem unterstrich>.php vorhanden und darin die Funktion compile_var_<teil nach dem unterstrich>?
    Ja, Juhu, so ersetzen, wie's die Funktion vorsieht
  7. produzierten Code speichern
Ob es in $tpl->vars ist, weiß ich beim Kompilieren nicht, denn ich verwende in Produktion das kompilierte Template und da sollte nach Möglichkeit alles stehen, was auch im Template steht und eine Initialisierung der Variablen, falls siemal nicht vorhanden sein sollten

Den Rest von deinen Punkten mache ich ja schon längst, auch das mit den lustigen Quotes.

Auf $_SERVER muss man vielleicht nicht unbedingt zugreifen, aber ich schreibe lieber
Code:
<form method="post">
Name: <input type="text" name="name" value="{_post.name}" />
</form>
als
Code:
<form method="post">
Name: <input type="text" name="name" value="{eingegebener_wert_ins_feld_name}" />
</form>
und im Skript dann irgendwo
PHP-Code:
$tpl->assign('eingegebener_wert_ins_feld_name',
  empty(
$_POST['name']) ? '' $_POST['name']); 
Konstanten habe ich z. B. im Adminbereich, wo bspw. ein Admin die Möglichkeit hat, einem Benutzer Moderator- oder Benutzerstatus zu verleihen bzw. zu nehmen. Ein Moderator soll das aber nicht dürfen.

Ergo sieht ein Admin nicht einfach nur den Text mit dem Benutzerstatus sondern stat dessen eine select-Box.
Ein Moderator sieht die select-Box gar nicht erst, da sie ihm ja eh nichts bringt.
Im Skript selbst prüfe ich die Berechtigung abund verwende dafür Konstanten, warum also sollte ich diese Konstanten nicht auch im template zur Steuerung der Anzeige verwenden?
Code:
{loop users}
...
{if _session.level = _const.IS_ADMIN}{listbox userlevels selected=userlevel}
{else}{userlevel}
{endif}
{endloop}
gefällt mir einfach besser als zwei Templates, die identisch sind bis auf diesen winzigen Teil
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #6 (permalink)  
Alt 14-03-2005, 16:45
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aha Wenn Du jetzt schon mit solchen mehr oder weniger sinnlosen Dingen anfängst wie alternate bla blub, anstatt einfach if/else zu nutzen, hast Du in 1 Jahr zwar die mächtigste Anwendung Deiner Karriere geschrieben, aber keine kann/will damit arbeiten
Einfach Strukturen, die auch Hein Blöd versteht sind das A und O ...

Abkürzung 1: $tpl->assign($_POST);
-- Ergibt sowas wie $tpl->vars['bla']

kann man doch ganz einfach über <input value="{bla}"> ansprechen ... oder watt?

Hast Du loops, baut man halt $tpl->vars['loopname']['bla'], und kann sie wieder über {loop 'name'}{bla}{/loop} auswerten.

Wenn Konstanten sein müsse bitte ... Eine ( in meinen Augen unnötige if ) mehr.

Das ganze kann man ganz prima ( sogar ohne Pfusch ) lösen Spart viel Arbeit, und ist Benutzerfreundlich ...
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #7 (permalink)  
Alt 14-03-2005, 17:56
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von schmalle
aha Wenn Du jetzt schon mit solchen mehr oder weniger sinnlosen Dingen anfängst wie alternate bla blub, anstatt einfach if/else zu nutzen, hast Du in 1 Jahr zwar die mächtigste Anwendung Deiner Karriere geschrieben, aber keine kann/will damit arbeiten
Einfach Strukturen, die auch Hein Blöd versteht sind das A und O ...
du kannst ja gerne if / else benutzen.
Nur weil es die Möglichkeit gibt, bist du ja nicht gezwungen davon Gebrauch zu machen

Zitat:
Abkürzung 1: $tpl->assign($_POST);
-- Ergibt sowas wie $tpl->vars['bla']

kann man doch ganz einfach über <input value="{bla}"> ansprechen ... oder watt?
kann man, klar
Aber mir widerstrebt die Vorstellung, für jedes Element meines Formulars der Templateklasse eine Variable übergeben zu müssen.
Oder übergibst du deiner assign-Methode nur das Array $_POST und bekommst dann für jeden Eintrag im Array einen Eintrag im Array $tpl->vars?

Zitat:
Hast Du loops, baut man halt $tpl->vars['loopname']['bla'], und kann sie wieder über {loop 'name'}{bla}{/loop} auswerten.
Und Verschachtelungen?
Nur aus reiner Neugier
Code:
{loop user}
{name} besitzt die folgenden Rechte:
{loop rechte}
  - {recht}
{endloop}
{endloop}
Wie bekommst du das abgebildet?

Zitat:
Wenn Konstanten sein müsse bitte ... Eine ( in meinen Augen unnötige if ) mehr.
Oder _const. vornedran schreiben
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #8 (permalink)  
Alt 14-03-2005, 18:12
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von mrhappiness
Oder übergibst du deiner assign-Methode nur das Array $_POST und bekommst dann für jeden Eintrag im Array einen Eintrag im Array $tpl->vars?
Meine Assign Methode guckt ob es ein array ist. Wenn es ein Array ist, gehe ich jenes per foreach durch, und lege in $tpl->vars ein Element an. Aus _POST['var'] wird also $tpl->vars['var']
Zitat:
Und Verschachtelungen?
Nur aus reiner Neugier
Code:
{loop user}
{name} besitzt die folgenden Rechte:
{loop rechte}
  - {recht}
{endloop}
{endloop}
Wie bekommst du das abgebildet?[/b]
Es gibt eine Methode, die sich da nennt assingn_block ( block = loop ).
Aufruf: $tpl->assign_block('BLOCKNAME', $array);

Diese legt entsprechend $tpl->vars['BLOCKNAME']['ELEMENT'] = 'wert' an.

Ansprechen kann ich die über
{BLOCK 'NAME'}
hier kann ich vars aus block NAME verwenden {VAR}. sollte var nicht in dem Block sein, wird geguckt, ob sie evtl. in der "normalen" Ebene vorhanden ist. Wenn nicht, ist sie eben NULL. Man muss schon vorsichtig sein, wenn es um Var- Namen geht, aber das fällt unter sauberes Arbeiten
Natürlich kann ich auch in dem Block
{if var == 'hallo'}Er sagt hallo{else}er sagt nicht hallo{endif}
benutzen. Die Vars werden behandelt wie zuvor. Wenn ich hier einen neuen Block beginne, ist das eben so
{/BLOCK}
Soweit verstanden?
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)

Geändert von schmalle (14-03-2005 um 18:19 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 14-03-2005, 20:45
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Im Prinzip ja, bis auf die Sache mit den verschachtelten loops.

Du sagst
PHP-Code:
$tpl->assign_block('USER'$alle_meine_user); 
und
Code:
{BLOCK 'USER'}
  Der Benutzer {name} hat die folgenden Rechte:
  {BLOCK 'RIGHTS'}
    - Recht: {right}
  {/BLOCK}
{/BLOCK}
Wie muss das Array $alle_meine_user bei dir aussehen, damit
Code:
Der Benutzer schmalle hat die folgenden Rechte:
  - Recht: Beiträge löschen
  - Recht: Beiträge erstellen
  - Recht: Beiträge editieren (eigene)
  - Recht: Beiträge editieren (fremde)
  - Recht: Benutzer sperren
  - Recht: Beiträge freischalten
Der Benutzer Benny-one hat die folgenden Rechte:
  - Recht: Beiträge erstellen
  - Recht: Beiträge editieren (eigene)
ausgegeben wird?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #10 (permalink)  
Alt 15-03-2005, 09:03
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wie muss das Array $alle_meine_user
PHP-Code:
$user = array(
'name' => 'happy',
'email' => 'kann ere nicht mit umgehen',
'rechte' => array('recht1' => 'hat er nicht')
); 
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #11 (permalink)  
Alt 15-03-2005, 09:18
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

PHP-Code:
$user = array(
'name' => 'happy',
'email' => 'kann ere nicht mit umgehen',
'rechte' => array('recht1' => 'hat er nicht''recht2' => 'ausnahmsweise')
);
$alleuser[] = $user;
$user = array(
'name' => 'schmalle',
'email' => 'hat er nicht verdient',
'rechte' => array('recht1' => 'mitleidsbonus ;)')
);
$alleuser[] = $user;
$tpl->assign_block('USER'$alleuser); 
Wenn ich jetzt
Code:
happy  kann ere nicht mit umgehen
  hat er nicht
  ausnahmsweise

schmalle   hat er nicht verdient
  mitleidsbonus
haben möchte, wie muss das Template aussehen?

Mir fehlt es grad an Vorstellungskraft, wie du das umsetzt
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #12 (permalink)  
Alt 15-03-2005, 09:56
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mir scheint, wir sind beide noch nicht wach
Also ich habe da viele vleie user. Jeder user hat natürlich rechte. Also haben wir folgendens Array:
PHP-Code:
$user = array(
[
0] => array('name' => 'schmalle',
           
'ID' => 1,
           
'EMAIL' => 'hat er',
           
'RECHTE' => Array(
           [
0] => array('NAME' => 'Recht 1',
                      
'WERT' => 'jo ist da'),
           [
1] => array(
                      
'NAME' => 'Recht 2',
                      
'WERT' => 'Jo gefunden')
),
[
1] => array('name' => 'happy',
                    
'ID' => 2,
                    
'EMAIL' => 'Kann er nicht mit umgehen',
                    
'RECHTE' => Array(
           [
0] => array('NAME' => 'Recht 1',
                      
'WERT' => 'jo ist da'),
           [
1] => array(
                      
'NAME' => 'Recht 2',
                      
'WERT' => 'Jo gefunden')
)
); 
Jetzt ist die Array Struktur richtig :-)

Dann habe ich ein Template. Da will ich die User inkl. ihrer Rechte ausgeben. Das sieht dann so aus:
Code:
Benutzerliste:
{BLOCK 'user'}
{name} {EMAIL}<br />
<b>Rechte des Users:</b><hr />
{BLOCK 'RECHTE'}
 Recht '{NAME}': {WERT}
{/BLOCK}
<hr />
{/BLOCK}
Die entsprechende Ausgabe:
Zitat:
Benutzerliste:
schmalle schmalle@php-resource.de
Rechte des Users:
-------------------------------
Recht: 'Recht1': jo ist da
Recht 'Recht2': auch da
-------------------------------
happy happy@php-resource.de
Rechte des Users:
-------------------------------
Recht: 'Recht1': jo ist da
Recht 'Recht2': auch da
-------------------------------
Ob das jetzt verständlich ist qweiss ich nicht ... Für Fehler im Array übernehme ich keine Verantwortuing

PS um das in die TPL Class zu bekommen mache ich nur folgendes:
PHP-Code:
$tpl->assign_block('user'$user); 
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #13 (permalink)  
Alt 15-03-2005, 10:07
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Na dann ist es doch garnicht so verschieden zu
Code:
Benutzerliste:
{loop user}
{name} {EMAIL}<br />
<b>Rechte des Users:</b><hr />
{loop rechte}
 Recht '{NAME}': {WERT}
{endloop}
<hr />
{endloop}
und
PHP-Code:
$tpl->assign('user'$user); 
$user sieht genauso aus wie bei dir.

Die Probleme habe ich ja auch nicht damit (obwohls gut tut, mit jemandem drüber zu reden... *g*) sondern mit den Konstanten und wie und wo ich die finden soll, damit ich keine unschönen Fehlermeldungen bekomme, wenn ich irgendwas verwenden will, was nicht initialisiert (Variable) oder definiert (Konstante) ist.
Aber momentan schriebe ich die defines für die Konstanten an den Anfang des Templates und die Welt ist wieder in Ordnung... denke ich... vorerst

Es sei denn, du hast eine bessere Idee?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...

Geändert von mrhappiness (15-03-2005 um 10:12 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 15-03-2005, 10:12
schmalle
  Ich Root, Du nix
Links : Onlinestatus : schmalle ist offline
Registriert seit: Jun 2001
Ort: Egelsbach FFM
Beiträge: 9.170
schmalle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
damit ich keine unschönen Fehlermeldungen bekomme, wenn ich irgendwas verwenden will, was nicht initialisiert (Variable) oder definiert (Konstante) ist.
Diese Fehlermeldungen ( gemeinhin als Notice bekannt ) mag ich auch nicht. Daher überprüfe ich auch alles auf Existenz. Wenn etwas nicht da ist, wird es eben mit NULL ersetzt. Warum sollte ich etwas initialisieren, wenn ich "nicht weiss" welchen Wert es haben soll? Also, gehe ich davon aus, dass es nicht da ist .... NULL eben. Somit gibt es keine Notices.
__________________
h.a.n.d.
Schmalle

http://impressed.by
http://blog.schmalenberger.it



Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
... nur ohne :-)
Mit Zitat antworten
  #15 (permalink)  
Alt 15-03-2005, 10:17
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

Ebend.

Und da ich aus einem Template beim Parsen reinen PHP-Code mache und nicht bei jedem einzelnen Aufruf der Seite neu parse, muss ich den Variablen im produzierten Code den Wert NULL zuweisen (is ja auch eine Intialisierung) und zwar bevor sie das erste mal verwendet werden.

Für verwendete Konstanten gilt genau das gleiche und da stellte sich mir die Frage, wie ich Konstanten finden soll, deren Wert nicht einfach ausgegeben wird (was recht wenig Sinn machen würde), sondern die in einem if verwendet werden.
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:38 Uhr.