Skip to content

Instantly share code, notes, and snippets.

@PHP-Magazin
Last active December 16, 2015 19:00
Show Gist options
  • Save PHP-Magazin/5482220 to your computer and use it in GitHub Desktop.
Save PHP-Magazin/5482220 to your computer and use it in GitHub Desktop.
Wie werde ich ein besserer PHP-Programmierer?
/* Da phpmagazin.de auf Grund von Serverproblemen offline ist, werden wir
unsere News temporär als Gist bereitstellen. Sorry für die schmucklose Aufmachung.
Bald werden wir uns wieder im vertrauten Gewand präsentieren. */
Redditor “vorastrix” fragte die unlängst auf über 20.000 Mitglieder herangewachsene
Community des PHP-Subreddits, wie er als Einsteiger auf die Schnelle mehr Skills
dazugewinnen kann. Das fachliche Fundament habe er sich in einem ersten Projekt und nach einem
Jahr Übung bereits angeeignet, doch jetzt sucht er die nächste größere Herausforderung.
Die Antworten dazu kamen aus sehr unterschiedlichen Richtungen und befassten sich
mit objektorientierter Programmierung, Lösung von Problemen und Open Source; also
dem kompletten Spektrum dessen, was zu PHP dazugehört. Wir fassen für Euch <a href=
"http://www.reddit.com/r/PHP/comments/1d32dr/how_to_progress_my_php_skills/" target=
blank title="Reddit: How to progress my PHP skills?">die Standpunkte</a> zusammen:</p>
<p>Die populärste Herangehensweise, sein Wissen um PHP oder irgend eine Sprache
zu verbessern sei laut der Mehrheit der Upvotes, ein Projekt (wie eine sich
selbst aktualisierende Filmdatenbank) zu skizzieren und anschließend durch
die bloße Lösung der verschiedenen Teilprobleme zu lernen, also, wie Netzwerkspeicher
durchsucht, APIs angesprochen, Seiten gescrapet oder Veränderungen indiziert
und verfolgt werden. </p>
<p>Der nächste Tipp ist, ein eigenes Microframework zu schreiben, dessen
Grundanforderungen “D0natell0” sogleich zusammenfasst:</p>
<blockquote>
<p><strong>A Core Class</strong></p>
<ul>
<li><p>Handles url parsing and routing.</p></li>
<li><p>Handles error and exceptions, see: <a href="http://php.net/
manual/en/function.set-error-handler.php">set_error_handler()</a> and
<a href="http://php.net/manual/en/function.set-exception-handler.php">set_exception_
handler()</a></p></li>
<li><p>Handles output buffering, see <a href="http://php.net/manual/en/function.
ob-start.php">ob_start()</a> and related functions.</p></li>
<li><p>Handles instantiation of your other base classes, see below.</p></li>
<li><p>Handles a global configuration.</p></li>
</ul>
<p><strong>Create some Base classes that is used by your core, for example:</strong></p>
<ul>
<li><p>A database wrapper class.</p></li>
<li><p>A cache wrapper class.</p></li>
<li><p>A session wrapper class.</p></li>
<li><p>An email wrapper.</p></li>
<li><p>etc...</p></li>
</ul>
<p><strong>Create MVC Base classes</strong></p>
<ul>
<li><p>A base class for database models.</p></li>
<li><p>Implement templating with something like <a href="http://mustache.
github.io/">Mustache</a> if you are inclined to use templating.</p></li>
</ul>
<p>For examples on how other micro frameworks do it take a look at the following:</p>
<ul>
<li><p><a href="http://silex.sensiolabs.org/">Silex</a></p></li>
<li><p><a href="http://www.slimframework.com/">Slim</a></p></li>
<li><p><a href="http://limonade-php.github.io/">Limonade</a></p></li>
<li><p><a href="https://github.com/bcosca/fatfree">Fat-Free</a></p></li>
</ul>
</blockquote>
<p>Einer der größten Boni bei der Arbeit mit PHP scheint aber &mdash; so
fällt es in etlichen Postings auf &mdash; die Open Source Welt zu sein, die
sich um die Sprache rankt. Alleine schon das Durchforsten bestehender Projekte
mit Xdebug sei so aufschluss- und lehrreich, sodass man ORMs und Frameworks in
ihrer inneren Funktionsweise durchschauen lernt und so den Aha-Effekt erzielt. </p>
<p>Wie ging es bei Euch los? Und wie bleibt Ihr am Ball, wenn es um neue
Aufgaben geht? Nutzt gerne die Kommentarfunktion um Eure Geschichte zu teilen.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment