Last active
December 16, 2015 19:00
-
-
Save PHP-Magazin/5482220 to your computer and use it in GitHub Desktop.
Wie werde ich ein besserer PHP-Programmierer?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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 — so | |
fällt es in etlichen Postings auf — 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