php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Ankündigungen im Forum : PHP-Fortgeschrittene
13.04.2009 bis 31.12.2037
Manko10
Supermoderator
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 6.051
PHP-Kenntnisse:
Fortgeschritten
Manko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer Anblick
Wer darf hier posten?

Wer darf hier posten?
Zunächst richtet sich dieses Profi-Forum ausschließlich an PHP-Profis und nicht an Anfänger mit möglicherweise schwierigen Fragen. Die Profis aus diesem Forum, lesen und schreiben auch im Anfänger-Forum.

Du bist ein Profi? Dann...
... hast Du min. 3 Jahre Praxis-Erfahrung mit PHP.
... kennst Du den Unterschied zwischen Apache Modul und der (Fast)CGI-Variante.
... kennst Du einigermaßen das HTTP(S)-Protokoll.
... kennst Du die Feinheiten des jeweiligen HTML-Standards, den Du verwendest, und weisst, daß die Angabe von DOCTYPE und Content-type keine Gemeinheiten des W3C sind.
... kennst Du ebenfalls den Unterschied zwischen Java und Javascript und weisst, dass das nichts mit PHP zu tun hat.
... kennst Du die Kontrollstrukturen und weisst sie einzusetzen.
... kennst Du die Datentypen, die Operatoren und Du weisst, wozu Sessions (mit oder ohne Cookie) gut sind.
... kennst Du PEAR und hast es schonmal eingesetzt.
... kennst Du die Bedeutung und den Nutzen von XML.
... hast du praktische Erfahrungen mit OOP gesammelt.
... kennst Du einige Design Patterns.
... kennst Du nicht nur das PHP Manual, die PHP FAQ, das MySQL Manual und Google, sondern Du kannst selbstverständlich auch suchen.

- Keine Syntaxfehler, weil Du die selber findest.
- SQL Fehler lässt Du Dir anzeigen, damit Du sie beseitigen kannst.
- Fragen, warum das Script mit Browser A nicht so will wie mit Browser B, verkneifst Du Dir, wenn es an fehlerhaften HTML liegen sollte.

Formuliere Deine Frage so, dass der Leser kein Problem hat, Dein Problem zu erkennen. Hellseher gibt's nur im Kino.

Beachte bei der Überschrift, dass Vokabeln wie "Problem", "Frage", "Fehler" u.ä. genaugenommen sinnfrei sind. Probleme, Fragen oder Fehler hat hier jeder...

Natürlich lieferst Du die nötigen Infos dazu:
- Link auf ein phpinfo() des Hostes, auf dem das Script laufen lernen soll.
- ggf. noch Angaben des Betriebssystem
- Die relevanten Teile Deines Scriptes, die Du bitte vom Original kopierst. Du willst ja nicht noch zusätzlich Abtippfehler reinmurksen.
- Eine/mehrere Fehlermeldung(en). Markiere im Script die Zeile(n), über die der Parser stolpert.
- Drängle nicht! Das mag keiner, und Du willst ja bei der nächsten Frage nicht ignoriert werden.
- Korrigiere Deinen Text (notfalls auch nachträglich), wenn Du nicht belächelt werden willst!

--meikel / quadaptor (22.05.2008, 16:10)


Aus gegebenem Anlass betone ich nochmal vor allem den letzten Abschnitt: ob du Profi bist oder nicht, wird nicht nur daran festgemacht, ob du weißt, was PHP ist und schon damit Erfahrungen gesammelt hast, sondern auch an der Art deiner Fragestellung.

Von einem Profi-Posting wird auch erwartet, dass der Autor…
  • …sein Problem genau beschreibt und eine konkrete Frage stellt
  • …Helfer an seine Entwicklungsprozess teilhaben lässt und schreibt, worum es geht und was er bereits unternommen hat, um das Problem selbstständig zu lösen, da er weiß, dass man einem Profi nicht alles aus der Nase ziehen muss
  • …selbstständig und unaufgefordert notwendige Codes postet, dabei aber immer weiß, was er posten muss und somit nicht sein gesamtes Programm ins Forum stellt und erwartet, dass sich das jemand durchliest
  • …dabei selbstverständlich die entsprechenden BB-Codes richtig einzusetzen weiß
  • …über die häufig gesehene schlechte Angewohnheit, Ignoranz gegenüber Postings, die man nicht versteht oder verstehen will, zu zeigen, nur den Kopf schütteln kann
  • …Eigeninitiative und Interesse am eigenen Problem zeigt, „Mach mal“ ist auf PHP.de allgemein unterwünscht und hier im Profi-Forum selbstverständlich überhaupt kein Thema mehr
  • …von selbst einen aussagekräftigen Titel wählt, der sein Problem und nicht seine Gemütslage treffend beschreibt
  • …klar formulierte, syntaktisch, grammatikalisch und semantisch korrekte Sätze schreibt (Legastheniker mögen sich bitte als solche ausweisen, aber sich dennoch redlich bemühen)
  • …Hilfe und Vorschläge (auch negativer Natur) annimmt und sich bewusst ist, dass er derjenige ist, der Hilfe braucht, nicht die anderen
  • …freundlich und kompetent auftritt, den Helfenden Rückmeldung erstattet und nicht einfach sang- und klanglos verschwindet
Solltest du dir nicht sicher sein, ob du all das erfüllen kannst, dann poste bitte im Einsteiger-Forum. Postings, die sich nicht an die Regeln halten, werden von den Moderatoren an ihren richtigen Platz geschoben. Bei häufigem Falschposten, kann das aber auch zu einer Verwarnung führen.

--Manko10 (13.04.2009, 13:26)
__________________
Programm Bürgerschutz:
Geistiges Eigentum: alles ist käuflich! ― Kinderschutz: haltet die Eltern fern! ― Einbruchsprävention: sperrt den Weihnachtsmann weg!
Manko10 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

19.11.2008 bis 31.12.2037
Manko10
Supermoderator
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 6.051
PHP-Kenntnisse:
Fortgeschritten
Manko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer AnblickManko10 ist ein wunderbarer Anblick
Forenrichtlinien und allgemeine Hinweise

§ Rechtliches

Pornografische, rechtlich fragwürdige, sexistische oder sonstwie beleidigende Postings fliegen raus. (Das steht bereits in den Forumsregeln). Beiträge mit Rechtsfragen werden nicht erörtert (Anmerkungen zu Rechtsfragen).

1. Allgemeiner Umgang

Respektiere die Forenmitglieder:
  • Sei höflich, selbst wenn es andere nicht sind
    Es gibt auch im Internet allgemeingültige Umgangsformen, zu denen auch die richtige Art zu fragen und die Form zählt. [1]

  • Toleriere Fehler anderer

  • Sei geduldig, wir alle haben keine Zeit
    Wenn Du es eilig hast, hast Du zu spät gepostet.

  • Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.

  • Verschwende nicht die Zeit anderer (Form & Inhalt, Hilfe zur Selbsthilfe)
    Eine verbreitete Form sind sogenannte Cross/Multi-Postings. Ohne Nennung eines guten Grundes wirst Du Dir damit den Unmut anderer Forenbenutzer aufladen und die Frage wandert in den Trash. Ein Link auf den Parallelthread ist das Mindeste (Anmerkungen zu Multipostings).

2. Hilfe zur Selbsthilfe

2.1 Die richtige Reihenfolge I

|Problem| → Problem analysieren → Informieren/Recherchieren 
  (wenn möglich) 
      → Umsetzen/Problem fixen → |Lösung|
  (sonst)        
      → Posten

2.2 Die richtige Reihenfolge II

Posten → Abwarten → |Antwort| → Vollständig lesen, Verstehen 
  (nötigenfalls wiederholt) 
      → Nachfragen → |Antwort| → Vollständig lesen, Verstehen 
  (sonst)        
      → Umsetzen → |Lösung| → Rückmeldung

2.3 Problemanalyse: Fehlermeldungen

Viele Anfänger sehen in Fehlermeldungen ein Ärgernis und nicht eine Hilfestellung für den Programmierer. Du solltest es versuchen.
  • Setze error_reporting auf E_ALL | E_STRICT [2]

  • Vermeide den @-Operator
    Es gibt kaum sinnvolle Gründe, einen Fehler zu unterdrücken.

  • Versuche Fehlermeldungen zu verstehen
    Lies den Text und bringe die Meldung in einen kontextuellen Zusammenhang zu Deinem Quellcode

  • Suche die Fehlerstellen
    Fehlermeldungen enthalten Angaben zu Script und Zeilennummer, in dem sie aufgetreten sind. Parse Errors beziehen sich oft auf frühere Zeilen, da sie üblicherweise von Fehlenden Zeichen verursacht werden, die Anweisungen (Semikolons, <?php oder ?>) oder andere Syntaxbestandteile (Klammern, Stringbegrenzer) abschließen.

2.4 Problemanalyse: Debugging

Viele Anfänger übersehen das Debugging als eine der einfachsten Problemlösungsstrategien. Gerade wenn trotz Fehlfunktion keine Fehler auftreten, gibt es einfache Analyse-Ansätze. Noch relevanter wird Debugging, wenn logische Fehler beseitigt werden müssen. (→ grundlegende Debuggingtechniken)
  • Stelle fest, an welcher Stelle das Programm anfängt, unerwartete Ergebnisse zu produzieren

  • Gib an diesen Schlüsselstellen gezielt Daten aus:
    • Meldungen, um bspw. das Durchlaufen eines bedingten Bereichs zu überprüfen
    • Variablen. Hier leisten print_r() und var_dump() gute Dienste

  • Professionelles Debugging
    Fortgeschrittene Nutzer stellen sich bestimmte Analysefunktionen als Klasse oder Funktionssammlung zusammen. Damit lassen sich Meldungen und Dumps leichter optisch aufarbeiten und mit sinnvollen Angaben wie Zeilennummer und Backtrace ergänzten. [3] Andere nutzen spezielle Optionen ihres PHP Editors.

  • Bestimmte Operationen wie Datenbank-Zugriffe produzieren eigene Fehlermeldungen
    Das übliche Vorgehen für einen fehlerhaften Datenbankzugriff kann deshalb bspw. so aussehen:
    • Ausgabe des Abfrage Ergebnisses
    • Abfrage einer evtl. SQL Fehlermeldung
    • Ausgabe und Analyse der DB Verbindungskennung und des SQL Statements

2.5 Recherche

Vor dem Posten solltest Du versuchen, möglichst viele Informationen zur Problemstellung zu erlangen und wenn möglich eine eigene Lösung (oder einen Ansatz dazu) zu finden.
  • Google und Co
    Suchmaschinen geben auf die meisten Fehlermeldungen bereitwillig Antworten

  • Nutze das PHP Manual, um Hilfe zu Grundlagen und konkreten Funktionen zu erfahren
    Beachte die User-Kommentare. Sie liefern wertvolle Tipps zu den Untiefen der jeweiligen PHP Funktionen. Entsprechende Referenzen gibt es auch für andere Programmier- und Scriptsprachen. [4]

  • Nutze die Forensuche
    Die Suchfunktion dieses Forums kann für viele Probleme bereits einen alten Thread zu Tage fördern. Wenn die sich mal über „zu allgemeine Begriffe“ beschwert, hilft auch ein "Begiff Begriff site:php.de" bei Google oder Ixquick einzugeben.

3. Form & Inhalt

  • Fasse das Forum nicht als Volkshochschule auf!
    Vom Tutorials-Forum abgesehen kann und will die PHP.de-Community keine Grundlagen vermitteln, sondern bei konkreten Fragen Hilfestellung geben. Als blutiger Anfänger nutze bitte eines der zahlreichen Tutorials in den Weiten des Netzes. [5]

  • Kein Support!
    Wir sind alle freiwillig hier. Niemand bekommt eine Vergütung für die Zeit, die er hier investiert. Hast Du Probleme mit einer Software, wende Dich an deren Support. Hast Du eine Aufgabe, dann löse sie. Mit uns. Kannst Du nicht programmieren, bleibt Dir nur, Dein Problem als Jobangebot oder Scriptgesuch zu formulieren. Wir sind keine Dienstleister, also behandle uns auch nicht so.

  • Poste im richtigen Forum!
    Du solltest bereits ansatzweise herausgefunden haben, ob es sich um ein PHP-, HTML- oder Datenbankproblem handelt. Die Einteilung in Anfänger, Fortgeschritten und Profi spiegelt Anspruch der Frage und Deinen eigenen Wissensstand wider. Anfängerfragen im Profi-Forum zu posten, verschafft Dir keine besseren Antworten aber u.U. böse Kommentare der Gemeinschaft.
    Die Fragen sollten konkret sein und eigene Lösungsansätze beinhalten.

    Postings der Art „Wer kann mir dieses Script ändern/machen“ gehören ausschließlich ins Forum Scriptbörse und stellen kein PHP-Problem dar!

  • Wähle einen aussagekräftigen Titel!
    Der Threadtitel stellt einen wichtigen Teil deines Postings dar und somit sollte der Wahl eines sinnvollen Titels einige Aufmerksamkeit geschenkt werden, um Nutzern der Suchfunktion später eine Chance zu geben.
    Dass man ein irgendwie geartetes Problem hat, liegt allgemein im Wesen des Menschen und gehört nicht in den Threadtitel. Das gilt vor allem für „Wer kann mir helfen?“-, „Hab'n Problem“- und „Biiiiiiitte SOS!!!!!“-Threads.

    Die Moderatoren behalten sich vor, nichtssagende Threadtitel ohne Ankündigung zu ändern.

  • Sei prägnant in Deiner Frage, aber geize nicht mit Informationen!
    Niemand außer Dir kennt Dein Projekt. Es ist nicht selbsterklärend, nur weil Du Dich damit schon lange beschäftigst. Kommt Dir der Gedanke „Das wird man schon verstehen“ ergänze besser gleich Deine Ausführungen.

    „…geht nicht“-Threads haben gute Chancen, sofort im Trash zu landen.

  • Achte auf deine Rechtschreibung!
    Eine ordentliche Rechtschreibung erhöht die Lesbarkeit und damit auch die Wahrscheinlichkeit, bereitwillige Hilfe zu erfahren. Satzzeichen und Absätze sollten selbstverständlich sein.

  • Schreibe ganze Sätze statt Telegrammstil!
    Im Satzgefüge werden Zusammenhänge deutlicher. Fachbegriffe und verbreitete Ausdrücke können Dinge konkret beschreiben. Nutze sie wenn Du weißt, wovon Du sprichst.

  • Verzichte weitgehend auf Ironie und übertrieben lockere Kommentare!
    Erstere ist schwer zu erkennen, letztere füllt den Thread mit Worten, die besser sachdienlichen Hinweisen zu Gute kommen. Auch 10 Smileys erzeugen nicht zwingend gute Laune beim Leser.

  • Verzichte auf Selbsterniedrigung!
    Die Gemeinschaft wird dadurch nicht hilfsbereiter. Wir sehen auch, ob Du Programmieranfänger bist (ohne „bin Vollnoob“) und dass Du neu im Forum bist (ohne „bin neu hier“). Spar Dir und uns diese Zeit oder schreibe eine sinnvolle Begrüßung.

  • Analysiere und reduziere das Problem! (siehe oben).
    Gib präzise Dein Ziel (bzw. die Aufgabenstellung), Dein Problem und/oder eine Fehlermeldung an. Beschreibe, was Du schon probiert oder herausgefunden hast.

  • Niemand anderes als du selbst macht deine Fehler!
    In einem Promille-Anteil von Threads ergibt sich das Problem aus einem Bug in PHP oder anderen Komponente. Suche zuerst gründlich in Deinem Code, bevor Du Bugs unterstellst. Zend Technologies (PHP), Apache Group etc. führen öffentliche Listen bekannter Fehler im Internet. [6]

  • Poste Codebestandteile!
    Achte auf relevante Stellen, z.B. Zeilennummern die von einer Fehlermeldung angegeben werden (kennzeichne bei Bedarf diese Zeilen mit einem Kommentar).

  • Nutze die Möglichkeiten des Boards!
    Benutze [php]-Tags für Code, um ihn im Syntaxhighlighting lesbarer zu gestalten. Weiterhin empfiehlt sich [code] für das Posten von Array-Dumps, Fehlermeldungen und dergl. einzusetzen. Markiere einen Beitrag als [Erledigt] (Link oben links über dem Beitrag) wenn Dein Problem gelöst wurde.

  • Achte auf eine saubere Formatierung des Quellcodes!
    (allgemeine Regel fürs Programmieren). Darunter fallen: Texteinrückung, Kommentare, sprechende Variablennamen etc. Standards [7] einzuhalten ist empfehlenswert, eine einmal begonnene Formatierung beizubehalten ist wichtiger!

  • Poste wenn möglich realen Code!
    Niemand guckt Dir hier etwas ab! Für das Forum angepaßte Bsp. bergen dagegen die Gefahr, den Ursprungsfehler zu verbergen, oder neue Fehler zu machen. Für wirklichen hochwertigen Code empfiehlt sich eine Ergänzung von Lizenzangaben.

Fußnoten

  1. Nettiquette und Umgangsform
  2. Fehlerbehandlung
  3. Debugging
  4. Programmdokumentationen
  5. Tutorials
  6. Fehlerlisten
  7. Coding-Standards

Anmerkungen

1. Anmerkung zu Multipostings

Ein Multi-/Crossposting im weiteren Sinne [1], ist ein Thread, der in verschiedenen Boards mit dem selben Wortlaut, im Regelfall sogar einfach via Copy&Paste veröffentlicht wird. Das Fatale und für die Community ärgerliche ist, dass ein Problem ohne Wissen des Anderen zeitgleich diskutiert, bearbeitet und/oder gelöst wird. Und damit Zeit der Antwortenden verschwendet. Nicht immer, aber meistens, sind Multi/Crosspostings zu verurteilen. Es kann gute Gründe geben, einen Thread in einem anderen Forum zu eröffnen:
  • Die User des ersten Forums konnten nicht weiterhelfen, weil das Problem ihr Wissen überstieg

  • Der Threadersteller (TE) wurde darauf hingewiesen, dass seine Frage ein Forum-fremdes Fachgebiet betrifft und nicht hinreichend geklärt werden kann
usw. Es gibt auch sehr schlechte Gründe:
  • Die User des ersten Forums haben dem TE nicht schnell genug geantwortet

  • Der TE glaubt, durch häufiges Posten höher qualifizierte Antworten zu erhalten

  • Der TE hat die Antworten nicht verstanden oder konnte Lösungen nicht umsetzen (ganz schlechter Stil ist es, das Ausgangsproblem mit fremden Lösungsansätzen in einem neuen Board zu posten)

  • Der TE wurde durch User des ersten Forums ermahnt, weil er bspw. Forumsregeln verletzt hat, und möchte sich nicht weiter mit diesen Menschen auseinandersetzen.
usw. Aus oben genannten Gründen sind Mehrfachpostings unfair. Da viele User forenübergreifend organisiert sind, werden entsprechende Beiträge sehr oft als Multipostings erkannt und markiert. Nicht vom TE gekennzeichnete Multipostings werden im Allgemeinen geschlossen. Um dem vorzubeugen, sollte der TE seinen Beitrag mit einem Link auf den Ursprungsthread und einer kurzen Begründung als Multiposting kennzeichnen. Noch besser ist es, das Problem mit der nötigen Geduld im Ursprungsforum zu klären.
  1. Begriffsabgrenzung und Herkunft

2. Anmerkung zu Rechtsfragen

Alle Fragen, die im weiteren Sinne Rechtsfragen betreffen, kann und (vor allem) darf dieses Board nicht beantworten. Grund ist die gesetzliche Regelung [1], die es juristisch nicht ausgebildeten Personen verbietet, öffentlich konkrete Rechtsfragen zu erörtern. Leider ist die Abgrenzung sehr schwierig, wann ein Beitrag bereits juristische Bereiche betrifft, genau genommen ist diese Abgrenzung selbst schon eine rechtliche Frage. Da auch juristische Grenzbereiche für einen Boardbetreiber erhebliche Folgen [2] haben können, wird erbeten, weder entsprechende Themengebiete selbst, noch die Frage, ob dies ein rechtlich gelagerter Fall ist, hier zu erörtern. Eine Schließung eines solchen Threads mit Hinweis auf die vorliegende Information ist wahrscheinlich.
  1. rechtliche Grundlage
  2. vgl. Heise-Urteil und diverse andere Entscheidungen des Hamburger Landgerichts.

3. Anmerkung zum Leistungsumfang

Bei PHP.de handelt es sich um eine private gemeinnützige Plattform. Es besteht kein Recht seitens der Benutzer auf Dienstleistung oder Veröffentlichung von Beiträgen. Die Moderation liegt vollkommen im Ermessen des Betreibers und der Moderatoren.
Manko10 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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


 
Gehe zu

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr.




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