Portal > Foren > PHP > PHP-Programmierung > Regeln zum Programieren
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 15.02.2006, 15:25 Nach oben    #1
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard Regeln zum Programieren

So,

ich hab da mal so nen paar Fragen.
Bei php-Dateien kann ich ja auch html-Code reinschreiben.
1. Ist das für alle browser lesbar?
2. ist es saubere Programmierung?
3. kann es zu problemen kommen?
4. wenn ich nun zwischen zwei php-code blöcken html-code habe. Erkennt er dann immernoch die variablen aus dem ersten block?

Oder muss ich alles was html ist mit "echo" ausgeben lassen?

5. Wie sieht ein anständiger header einer html-Datei aus?
6. Erkennen alle Browser CSS?

Ich habe beim IE das problem das er einen bestimmten div-container nicht richtig anzeigt.
7. Erkennt der IE nur die "id" nicht richtig?
8. Sollten man lieber "id"s vergeben oder "class"?

Oopps doch nicht nur php fragen.
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 15:41 Nach oben    #2
axo
Gast
 
Beiträge: n/a
Standard

Zitat:
1. Ist das für alle browser lesbar?
denk nach, und wenn du die antwort immer noch nicht weißt, erklärt's dir jemand.
Zitat:
2. ist es saubere Programmierung?
kommt darauf an. meistens nein.
Zitat:
3. kann es zu problemen kommen?
ja. lesbarkeitsprobleme.
Zitat:
4. wenn ich nun zwischen zwei php-code blöcken html-code habe. Erkennt er dann immernoch die variablen aus dem ersten block?
ausprobieren.
Zitat:
Oder muss ich alles was html ist mit "echo" ausgeben lassen?
ausprobieren.
Zitat:
5. Wie sieht ein anständiger header einer html-Datei aus?
http://de.selfhtml.org

Zitat:
6. Erkennen alle Browser CSS?
nein.
Zitat:
Ich habe beim IE das problem das er einen bestimmten div-container nicht richtig anzeigt.
http://www.lugbz.org/documents/smart-questions_de.html
Zitat:
7. Erkennt der IE nur die "id" nicht richtig?
id -> ein einziges mal im dokument.
class -> beliebig oft.
Zitat:
8. Sollten man lieber "id"s vergeben oder "class"?
sollte man lieber katholisch oder evangelisch sein? oder vielleicht doch hindu?
Zitat:
Oopps doch nicht nur php fragen.
und sogar noch ein paar fragen, die du dir selbst hättest beantworten können
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 16:33 Nach oben    #3
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Noch weitere Antworten für mich?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 16:34 Nach oben    #4
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Ich hab nichts hinzuzufügen, alles zureichend beantwortet.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 17:46 Nach oben    #5
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard

Zitat:
Oder muss ich alles was html ist mit "echo" ausgeben lassen?
Wenn der PHP-Code überwiegt, dann geb den HTML Code mit echo aus, wenn der HTML-Code überwiegt, dann schreib den PHP-Code in den HTML-Code.
Ich halte allerdings den Einsatz von Templates sinnvoller.
__________________
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 18:49 Nach oben    #6
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

@axo: Ich geb ja zu, dass ein paar Fragen zu kurz gedacht sind, aber wenn du schon Links (de.selfhtml.org) postest, sollten diese vielleicht auch dahin zeigen, wo derjenige es direkt findet.

Ansonsten scheint Jan88 ein paar Probleme mit dem Verständnis der Zusammenarbeit zwischen Apache und PHP zu haben (normale Vorgehensweise

1. Der Apache (ich machs einfach an dem als Beispiel) bekommt vom Client die Aufforderung eine Seite zu laden.
2. Der Apache öffnet die Datei und erkennt anhand der Endung, ob dies eine reine HTML Datei ist, oder eine andere wie z.B. PHP
3. Der Apache liest nun die Datei ein und findet dann PHP-Codeblöcke
4. Der Apache startet den PHP Compiler der einen Thread für diese Aufgabe aufmacht und anfängt, den PHP-Code umzusetzen
5. Der PHP-Compiler gibt Rückmeldungen an den Apache und dieser arbeitet weiter bis er einen neuen PHP-Codeblock findet (start wieder bei 4), oder die Datei zuende ist. Ist er am Ende, sagt der Apache dem PHP-Compiler, dass alles getan ist und er beendet den Thread
6. Der Apache schickt die gesammelten Daten an deinen Browser, der ihn anzeigt.

Dies ist im Detail natürlich deutlich komplexer, aber der Grundgedanke sollte klar sein. Damit kannst du nun viele deiner Fragen selbst beantworten.

Zitat:
5. Wie sieht ein anständiger header einer html-Datei aus?
6. Erkennen alle Browser CSS?

Ich habe beim IE das problem das er einen bestimmten div-container nicht richtig anzeigt.
7. Erkennt der IE nur die "id" nicht richtig?
8. Sollten man lieber "id"s vergeben oder "class"?
zu 5. http://de.selfhtml.org/navigation/su...=document+type
zu 6. http://www.css4you.de/browsercomp.html dort gibt es eine gute Übersicht, welcher Browser was kann und unterstützt.
zu 7. ID ist eigentlich die eineindeutige Identifizierung für Container. Willst du W3C-Konform programmieren (dringend zu empfehlen), darfst du ID überall vergeben, aber der Name darf nur einmal vorkommen. JavaScript greift auch auf die IDs zu, ein weiterer Grund weshalb diese deshalb nicht doppelt vorkommen sollten
zu 8. class ist eigentlich die korrekte Einbindung für CSS-Klassen daher solltest du diese verwenden
__________________
I did it my way - Senseless-Blog

Geändert von WarrenFaith (15.02.2006 um 18:52 Uhr)
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 20:31 Nach oben    #7
axo
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von WarrenFaith
@axo: Ich geb ja zu, dass ein paar Fragen zu kurz gedacht sind, aber wenn du schon Links (de.selfhtml.org) postest, sollten diese vielleicht auch dahin zeigen, wo derjenige es direkt findet.
nope. die antwort ist erst komplett, sobald die einführung komplett gelesen ist, und die befindet sich nunmal auf der startseite.

Zitat:
3. Der Apache liest nun die Datei ein und findet dann PHP-Codeblöcke
äh... nö.
Zitat:
4. Der Apache startet den PHP Compiler der einen Thread für diese Aufgabe aufmacht und anfängt, den PHP-Code umzusetzen
5. Der PHP-Compiler gibt Rückmeldungen an den Apache und dieser arbeitet weiter bis er einen neuen PHP-Codeblock findet (start wieder bei 4), oder die Datei zuende ist. Ist er am Ende, sagt der Apache dem PHP-Compiler, dass alles getan ist und er beendet den Thread
nö.
Zitat:
6. Der Apache schickt die gesammelten Daten an deinen Browser, der ihn anzeigt.
nö. du verwechselst das ganze mit server side includes.
[edit]
und für die nachwelt nochmal: ich meine damit nicht den include-befehl von php, sondern SSI (falls es das in eurer zeit noch geben wird)
[/edit]
außerdem geht es gar nicht darum, sondern um die unterscheidung von server und client.

Geändert von axo (15.02.2006 um 21:05 Uhr)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 20:38 Nach oben    #8
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

PHP ist ein festes Modul im Apache (sofern man eben nicht das CGI benutzt, denn _dann_ wird ein eigener Thread aufgemacht).
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.02.2006, 20:51 Nach oben    #9
axo
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Lars
PHP ist ein festes Modul im Apache (sofern man eben nicht das CGI benutzt, denn _dann_ wird ein eigener Thread aufgemacht).
ja, aber pro aufgerufenes 'php'-file und nicht bei jedem öffnenden php-tag. der apache selbst wird sich schwerst hüten, php-files zu öffnen, geschweige denn nach <?php - tags innerhalb von dokumenten zu gucken.

anscheinend hätte ich doch nicht so leichtfertig über das client-server-prinzip als stfw-frage urteilen dürfen? so viele unwissende?

Geändert von axo (15.02.2006 um 20:54 Uhr)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 10:42 Nach oben    #10
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

http://de.wikipedia.org/wiki/Bild:pH...tionsweise.png
Siehe Schritt 2: Webserver (damit ist sicher nicht die Hardware allein gemeint, sondern auch der Apache) läd die Datei.

Zitat:
nö. du verwechselst das ganze mit server side includes.
PHP ist eine SSI Sprache, was verwechsel ich dann bitte?
Du hast doch den Schritt 6 von mir nicht so verstanden, dass alle Variablen etc an den Client zurückgeschickt werden oder? Das ist natürlich nicht so. Ich wollte damit eigentlich sagen (was imo auch leicht verständlich war), dass reiner HTML Code zurückgegeben wird (lassen wir mal CSS/JS etc außer acht).
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 11:49 Nach oben    #11
axo
Gast
 
Beiträge: n/a
Standard

deine beschreibung der schritte ist meiner meinung nach irreführend.
du beschreibst das so, als ob zb. für eine php-datei der form
Code:
<?php // part 1 
   echo "foo";
?>
bar
<?php // part 2 
   echo 'baz';
?>
zwei threads aufgemacht werden, und dass sich der apache um das zusammenstückeln von foo,bar,baz kümmert.

tatsächlich wird aber nur ein thread aufgemacht, d.h. die datei wird von mir aus vom apachen eingelesen, aber dann komplett an den interpreter übergeben und es werden nicht, wie ich es aus deinen ausführungen verstanden habe, nur die zwischen <?php ?> - tags stehenden stücke an den interpreter geschickt.

erstmal unklarheiten beseitigen
axo
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 12:01 Nach oben    #12
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

hm stimmt, da hab ich mich wohl falsch ausgedrückt, aber am ende kommt nur html raus keine variablen etc. aber da sind wir uns ja schon einig
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 12:34 Nach oben    #13
axo
Gast
 
Beiträge: n/a
Standard

genau. und damit sind wir wieder beim eigentlichen thema. den browser interessiert es erstmal gar nicht, ob der html-quellcode aus einer .html-seite kommt oder ob der html-code erst aus einer php-datei generiert wird.
frage abgehakt?
axo
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 12:48 Nach oben    #14
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

gute frage
warten wir doch mal darauf, was jan88 sagt
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 14:41 Nach oben    #15
Jan
Erfahrener Benutzer
 
Benutzerbild von Jan
 
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 483
Standard

Danke.
Habt die Fragen alle ausreichend beantwortet wie es mir so scheint.

Ja ich meinete das die datei so aussieht wie axo es beschreibt.

Und meine Frage war ob die variablen nun in beiden codeblöcken verfügbar sind. Also ob ich im ersten Block die variablen definieren kann und im zweiten Block ausgeben lassen kann oder ob er die variablen nach "?>" alle vergisst.

Es hat sich noch ne Frage gestellt. Nur so nebenbei. Man muss Variablen doch vor ihrer ausgabe definieren oder? Will eigentlich nur ein "JA" hören. Und noch darüberhinaus ne kosmetische Frage. Sollten alle variabklen am anfang definiert werden oder bevor man sie braucht? Hat es performance auswirkungen?
__________________
Jan
info.malte-gerth.de
=================================
Nutzt bitte lieber Jabber statt ICQ:
malte.gerth@jabber.cz
Jan ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 14:48 Nach oben    #16
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard

Zitat:
Und meine Frage war ob die variablen nun in beiden codeblöcken verfügbar sind. Also ob ich im ersten Block die variablen definieren kann und im zweiten Block ausgeben lassen kann oder ob er die variablen nach "?>" alle vergisst.
Und..? Hast du das denn einfach mal ausprobiert?

Zitat:
Man muss Variablen doch vor ihrer ausgabe definieren oder?
Ich verstehe nicht ganz was du meinst. Eine Variable muss existieren, damit man sie ausgeben kann..

Zitat:
Sollten alle variabklen am anfang definiert werden oder bevor man sie braucht? Hat es performance auswirkungen?
Ich halte es für übersichtlicher, am Anfang alle benötigten Variablen zu deklarieren. Natürlich wirkt sich das auf die Performance aus, der Unterschied ist aber so sehr minimal, dass das egal ist.
__________________
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 15:04 Nach oben    #17
axo
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Corvin Gröning
Zitat:
Sollten alle variabklen am anfang definiert werden oder bevor man sie braucht? Hat es performance auswirkungen?
Ich halte es für übersichtlicher, am Anfang alle benötigten Variablen zu deklarieren. Natürlich wirkt sich das auf die Performance aus, der Unterschied ist aber so sehr minimal, dass das egal ist.
kommt drauf an.
grundsätzlich: variablen auf jeden fall vor der ersten verwendung deklarieren und intitialisieren ist eh klar.
dann aber: kapselung. methoden und funktionen verwenden, um nie zu viele variablen zu haben, die sich gegenseitig beeinflussen könnten.

PHP-Code:
<?php
if (tuWas) {
       
// eine menge code
      
if(was anderes) {
          
// eine menge code 
     
}
} else {
    
// eine weitere menge code 
}
?>
ist grundsätzlich erstmal schlechter als
PHP-Code:
<?php

function foo() {
   
// tu was
}

function 
bar() {
   
// tu irgendwas
}

function 
baz() {
   
// tu irgendwas anderes
}

// und hier die kontrolle

if(tuWas) {
   
foo();
  if ( 
wasanderes) {
      
bar();
  }
} else {
   
baz();
}
?>
dann sollten die variablen, die man verwendet, möglichst nah am ort der verwendung liegen.

also nicht

PHP-Code:
$a bla;
// eine menge code, der $a gar nicht verwendet
foo($a); // hier wird $a zum ersten mal verwendet. 
sondern

PHP-Code:
// eine menge code
$a bla;
foo($a); 
grund ist einfach: wenn variablen und der rest beieinander liegen, kann man das ganze recht einfach zu einer methode zusammenfassen, wenn's denn nötig ist.

naja, um den gedankengang nachzuvollziehen, sollte man halt ein paar bücher gelesen haben.
code complete http://www.cc2e.com/ wäre z.b. eine derartige referenz mit ganz brauchbaren tipps für sauberes programmieren.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 15:17 Nach oben    #18
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

In PHP braucht man keine Variablen definieren. Zumindest nicht im klassischen Sinn.
Das mit den Variablen über Codeblöcke solltest du ausprobieren ist ja nicht schwer gemacht.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 15:36 Nach oben    #19
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Zitat:
In PHP braucht man keine Variablen definieren.
Wie soll das denn bitte funktionieren, eine undefinierte Variable ausgeben? Wäre ja toll, wenn PHP eine Glaskugel bzw. KI hätte
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.02.2006, 16:19 Nach oben    #20
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Hab ich die begriffe wieder verwechselt?
Deklarieren ist Datentyp festlegen und initialisieren/definieren dann Wert zuweisen korrekt?
Demzufolge ist deklarieren in PHP nicht notwendig.
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[mod_rewrite] hosteurope, eigene regeln? Orolhawion Tools, Server, Betriebssysteme 4 27.07.2007 09:32
Regeln, Mods, ... bischi Desktop-Applikationen und Grafik 1 02.06.2004 01:19


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45