php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.03.2007, 21:13  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo tinchen,

Zitat:
Die Ungeduld spricht. :wink:
Nein, ich hab nur nett nachfragen wollen, ob mein Statement angekommen ist...

Zitat:
ch bin mir noch nicht zu 100% sicher. Zunächst sagt mir der Begriff "generisch"
nicht viel. Auch eine google Suche liefert eher unbefriedigende Ergebnisse.
"Generisch" bedeutet soviel wie "universell einsetzbar". Mit dem von dir geposteten Code ist man IMHO nicht "generisch", d.h. er ist nicht für alle Fälle einsetzbar. Warum ich auf diesem Thema hier immer so rumreite ist, weil ich bereits so viel Code gesehen habe, der für genau einen Anwendungsfall geschrieben wurde, dass mir schon schlecht ist. :wink: Grundsätzlich sollte man immer erst nachdenken und dann Programmieren, dann kann man den Code oft auch für andere Zwecke einsetzen.


Zitat:
Dein Beispiel bringt mich zunächst nicht viel weiter, weil ich irgendwie den
Zusammenhang noch nicht sehe.
Naja, dein Code erzeugt aus einem Array ein Select-Feld. Richtig? Wenn ja, wird dieses Select-Feld immer nur mit dem Parameter "id" angelegt. Wenn ich nun per "class" oder "style" oder sonstigen Attributen formatieren möchte geht das nicht mehr. Zweites Argument war, dass Form-Elemente mit PHP-Code in der obigen Art und Weise zu erzeugen nur bedingt sinnvoll ist, weil es Code und Template nicht sauber trennbar macht.

Ist es nun klarer, auf was ich hinaus möchte?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.03.2007, 21:36  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von dr.e.
Naja, dein Code erzeugt aus einem Array ein Select-Feld. Richtig? Wenn ja, wird dieses Select-Feld immer nur mit dem Parameter "id" angelegt. Wenn ich nun per "class" oder "style" oder sonstigen Attributen formatieren möchte geht das nicht mehr. Zweites Argument war, dass Form-Elemente mit PHP-Code in der obigen Art und Weise zu erzeugen nur bedingt sinnvoll ist, weil es Code und Template nicht sauber trennbar macht.
Leider ist aus deinem Bsp. nicht ersichtlich, wie du es eben bei selects oder option-feldern machst. Gerade bei letzteren Layout und Inhalt zu trennen ist finde ich immer ein Kompromiss.
Bsp. radio boxes: Die als einfachen Block ins Template einzufügen ist unkompliziert, aber um sie z.B. auf zwei Tabellenspalten zu verteilen oder mit individuellen Anordnungen für das zugehörige label darzustellen, mußt du schon auf die einzelnen Optionen der radio-group zugreifen.

@Tinchen:
Du benötigst einen Platzhalter innerhalb Deines Templates, un eine Reihe von Objekten, die die Eigenschaften des Formelements vorhalten, owie die Information, welches Element im Template ie repräsentieren. Und dannn wird ersetzt.
nikosch ist gerade online  
Alt 10.03.2007, 23:12  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo nikosch77,

Zitat:
Leider ist aus deinem Bsp. nicht ersichtlich, wie du es eben bei selects oder option-feldern machst. Gerade bei letzteren Layout und Inhalt zu trennen ist finde ich immer ein Kompromiss.
Wenn du sauber implementieren möchtest sollte das eine Tugend und kein Kompromiss sein. Ich kenne aktuell keinen Fall, wo ich wirklich im PHP-Code HTML-Fragmente stehen habe.


Zitat:
Bsp. radio boxes: Die als einfachen Block ins Template einzufügen ist unkompliziert, aber um sie z.B. auf zwei Tabellenspalten zu verteilen oder mit individuellen Anordnungen für das zugehörige label darzustellen, mußt du schon auf die einzelnen Optionen der radio-group zugreifen.
Das funktioniert genauso wie mein obiges Beispiel:

HTML/XML-Code des Templates:

Code:
<html:form name="SunshineForm" action="">
  Wie lange schien heute die Sonne?
  

  

  <table [..]>
    <tr>  
      <td>
        <form:radio name="sunshine_length" id="sunshine_length_1h" class="[..]" style="[..]" /> 1h
      </td>
    </tr>
    <tr>  
      <td>
        <form:radio name="sunshine_length" id="sunshine_length_2h" class="[..]" style="[..]" /> 2h
      </td>
    </tr>
    <tr>  
      <td>
        <form:radio name="sunshine_length" id="sunshine_length_3h" class="[..]" style="[..]" /> 3h
      </td>
    </tr>
  </table>
</html:form>

PHP-Code des Controllers:


PHP-Code:
<?php
class sunshine_v1_controller extends baseController
{
   function 
sunshine_v1_controller(){
   }
   
   function 
transformContent(){

      
$Form = &$this->__getForm('SunshineForm');
      
$Form->setAttribute('action','/path/to/my/script.php');
      
$Sunshine1 = &$Form->getFormElementById('sunshine_length_1h');
      
$Sunshine2 = &$Form->getFormElementById('sunshine_length_2h');
      
$Sunshine3 = &$Form->getFormElementById('sunshine_length_3h');

   }
 
}
?>
Im Code kannst du nun auf jedes Element zugreifen und dort HTML- und XML-Attribute hinzufügen wie du lustig bist.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
variable in funktion JanM PHP Tipps 2006 2 23.07.2006 20:06
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] Funktion in funktion nicht möglich? PHP-Fortgeschrittene 4 28.11.2004 00:14
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51


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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.