Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Hi,
möchte mich ein wenig in dem Thema Websites programmieren einarbeiten. Am Ende soll es möglich sein, eigene Webseiten eigenständig zu programmieren... Was eine Domain, Webspace usw sind, ist mir klar...
Womit sollte ich Anfangen und was wären die ersten Schritte..?
1 tag reicht, um das ganze durchzuarbeiten. das reicht, um ein grobes verstaendnis zu bekommen, worums geht. die einzige referenz, die man danach wirklich noch 'braucht', ist php.net .
Als Anfang würde ich einfach mal HTML & CSS lernen. Denn zu Beginn kannst du ja mal mit statischen Inhalten ohne Datenbankanbindung deine erste Seite erstellen.
Wenn du sowas kannst, dann kannst du mit dynamischen Inhalten und Logik weitermachen. Ob das jetzt unbedingt PHP und MySQL sein muss, oder auch andere Stacks wie JavaScript und MongoDB infrage kommen, hängt letztendlich von deinem eigenen Geschmack ab.
oder man ist nicht ignorant, und löst gegebe probleme mit dem passenden werkzeug
würde sagen, erstmal etwas html + css lernen. grundlegende sachen wie schleifen, verzweigungen, variable kann arrays.. kann auch ganz einfach in javascript lernen.. wenn man das begriffen hat, dann kann man sich auch mal an etwas serverseitiges versuchen (node, php, python oder ruby). dann produktiv aber aufjedenfall auf ein getestetes framework setzen.
@blablub1212
Wenn man findet, dass man Anfänger mit einem Framework nicht komplett überfordert.
Klar, die genannten Frameworks sind (bis auf php) alle zu empfehlen, der Einsatz sollte aber erst erfolgen wenn alle Grundlagen da sind.
@blablub1212
Wenn man findet, dass man Anfänger mit einem Framework nicht komplett überfordert.
Klar, die genannten Frameworks sind (bis auf php) alle zu empfehlen, der Einsatz sollte aber erst erfolgen wenn alle Grundlagen da sind.
es geht darum, dass man produktiv gerade als anfänger (und als erfahrener auch nur im seltenem fall) seine anwendung auf einer irgend eine nicht getesteten eigenen basis bauen sollte.. es ist halt gefährlich..
übrigens ist mir kein framework bekannt, dass im ansatz so gut dokumentiert ist wie laravel.. und das ist ein php framework..
Die Frage ist hierbei eher: "Wann ist ein Framework nötig?" und später: "Ist es vorteilhafter ein eigenes Framework aufzubauen oder sind die Standard-Frameworks ausreichend?".
Das sind aber eben keine Fragen mit denen man sich als Anfänger auseinandersetzen sollte.
ich gebe meinen Vorrednern in dem Punkt recht, dass HTML und CSS essenziell sind. Ohne Kenntnisse der grundlegenden Strukturen und Funktionsweisen bringt dir alles PHP etc. nichts. Die Frage ist doch eigentlich, was du bereits weißt und was zu können du vorhast.
Gerade als Anfänger fände ich etwas gut, was schnellen Lernerfolg bringt, und zwar im Sinne sichtbarer Resultate. Denk dir eine Homepage zu irgendeinem Thema aus und fang mit dem ersten Aufbau an. Tutorials nach dem Motto "Wie programmiere ich meine erste Website" gibt es im Internet einige.
Was mir persönlich aber besser gefällt und mir auch sehr geholfen hat, waren Systeme wie Wordpress. Mit einem Standard-Theme erstellst du dir schnell eine Website, mit der du hemmungslos rumspielen kannst. Der Vorteil ist dabei, dass die gesamte Grundstruktur schon steht und du die Auswirkungen von Änderungen sofort sehen kannst. Du kannst mit "plattem html" experimentieren und die ersten einfachen PHP-Abfragen für dynamische Websites ausprobieren. Außerdem gibt es Tutorials für so ziemlich alle Elemente einer Wordpressbasierten Website.
Du weißt ja was du machen möchtest und suchst dir etwas, was in diese Richtung geht und passt das an. Mir hat es auf jeden Fall sehr geholfen, Dinge zu verändern statt aus dem Nichts zu erschaffen. Durch das Verstehen der Veränderungen kam auch ein Verständnis der dahinterliegenden Mechaniken. Das Verändern hat schnelle Erfolge gezeigt und mit der Zeit war es dann auch nicht mehr das Problem etwas nicht nur anzupassen, sondern neu zu schreiben.
Gut, das gilt jetzt hauptsächlich für Wordpress-Sites, aber HTML, CSS und PHP funktionieren auch außerhalb von Wordpress nach den gleichen Schemen
"PHP-Hate" basiert darauf, dass es für dessen einzigen sinnvollen Einsatzweg (Webentwicklung) dutzende, objektiv besser designte Alternativen gibt. An JavaScript im Client ist man ja nun mal mehr oder weniger gebunden (abgesehen von Transpilern und sowas), aber auf der Serverseite eben nicht. Und deshalb muss man auch nicht immer wieder zur inkonsistentesten aller Frickelsprachen mit hunderten von Fallstricken raten.
Insbesondere ohne Framework (aber oft genug auch mit) kommt dann noch der Sicherheitsaspekt hinzu, u.a. auch, weil die ganzen Code-Beispiele, die man im Netz so findet, von Bad Practices nur so strotzen. Natürlich kann man PHP wie jede andere Sprache auch produktiv und erfolgreich einsetzen, aber es legt einem viele (offensichtliche und versteckte) Steine in den Weg. Warum sollte man sich sowas antun, wenn man nicht unbedingt muss?
Zum Thread: Erstmal mit HTML und CSS anfangen, das ist in jedem Fall nötig. Danach würde ich mit JavaScript weitermachen, mit dem man dann richtig programmieren kann. Ein Webserver und eine serversetige Sprache (PHP, Python und Co.) ist am Anfang gar nicht unbedingt nötig.
Der erste Schritt wäre sich https://www.apachefriends.org/de/index.html zu installieren, damit bekommst du MySQL + PHP + einen Webserver auf deinen Rechner(gleich auf einem richtigen Server anzufangen ist komplett bescheuert).
Jetzt wird dir jeder erzählen: fang erstmal mit HTML + CSS an, ist aber doppelte Arbeit wenn das Projekt später mal größer wird, dann darfst du nämlich dein bisheriges HTML für Templates umschreiben. Ich würde gleich richtig anfangen: PHP + Framework deiner Wahl (oder zumindest einer Templateengine, das ist das Minimum).
Fängst du mit Datenbanken an, benutze nur prepared Statements (das sind Abfragen, bei denen du in der Abfrage Platzhalter hast und dann bei der eigentlichen Abfrage ein Array mit Werten hingibst, die in die Platzhalter eingetragen werden). Google mal nach SQL Injection, dann merkst du warum du alles andere ersteinmal vermeiden solltest.
Für Javascript reicht theoretisch das blanke Javascript, auch da erleichtern dir aber JQuery & Co extrem die Arbeit, vor allem wenns an die Kompatibilität über mehrere Browser hinweg geht.
Ansonsten Praxiserfahrung: alles an Daten was du irgendwo herbekommst und weiterverarbeitest, wurde vom Teufel persönlich kreiert um dein Programm auf möglichst kreative Art und Weise vor den Baum laufen zu lassen. Vertraue keinen Daten aus Forms, keinen Daten aus der Datenbank, keinen Daten nirgendwoher ohne vorher zu prüfen, dass die Daten dem entsprechen, was du erwartest.
Das wäre das einfachste Vorgehen für PHP, Python + Konsorten sind aber äquivalent.
Ergänzung ()
pmkrefeld schrieb:
Ganz genau so ist es, php erfordert wesentlich mehr Hintergrundwissen als andere.
Sie schleppt mit sich viel zu viel Historie mit.
Naja, aber nicht für dein Standardwebsite Geschnetz. Was ich extrem mag sind die assoziativen Arrays + Foreach, so bekommt man Daten für Listen usw extrem fix und unkompliziert gruppiert.
Andere Sachen wie array_merge sind halt etwas fragwürdig (numerische Schlüssel überschreiben, Stringschlüssel nicht, debug das mal ). Ansonsten hat man aber nach ein paar Monaten im Hinterkopf, was einen schon mal in den Hintern gebissen hat und kann dan das recht gute PHP Manual nutzen, das ist echt Gold wert.
Um es mal so zu sagen: ein normaler Webseitenentwickler wird so Sachen wie array_merge, array_diff und andere kaum benutzen, da läuft es letztendlich immer auf Input lesen, Daten aus DB ziehen, Daten aufbereiten (das macht dann schon das Framework/die Templateengine zum großen Teil) und Seite ausgeben raus. Von daher wird man solche eher seltenen Sachen eh immer nochmal im Manual nachschlagen.
Ich bin ebenfalls der Meinung, dass man von PHP eher Abstand halten sollte.
PHP hat genau ein einzigen Vorteil. Es ist auf jeden Feld, Wald und Wiesenhoster verfügbar. DAmit erschöpft sich aber auch schon die Vorteilsseite. (etwas anderes ist der mögliche Einsatzzweck: wenn man an ein vorhandenes PHP-Projekt andocken möchte oder es z.B. darum geht für ein PHP-CMS Templates anzupassen, kommt man natürlich um PHP nicht herum)
Vom Sprachdesign und der Standardbiliothek her ist es eine Katastrophe.
Schon allein schwache Typisierung in einem sicherheitskritischem Feld wie es das Internet nunmal ist kann man getrost als fahrlässig bezeichnen.
PHP macht es einem leicht Fehler einzubauen. PHP ist vom Konzept her erstmal so, dass man schnell was hinbekommt was irgendwie läuft. Das führt dann in der Praxis schnell dazu, weil man es so lässt, weil es tut ja augenscheinlich.
Das ist auch der Grund, weshalb es bei Anfängern so beliebt ist.
Ich denke das ist der falsche Ansatz. Fehlertoleranz sollte nicht bedeuten, dass Fehler automatisch ausgebügelt werden, sondern das der ganze Kram erst gar nicht funktioniert. Wenn der Programmierer Fehler einbaut, soll zunächst möglichst verhindert werden, dass Schlimmeres passiert.
Man kann also nur davon abraten mit PHP zu beginnen. Insbesondere weil der Anfänger viele Angriffsmöglichkeiten noch gar nicht kennt. Man könnte sogar soweit gehen zu sagen: PHP ist eher was für Profis die halt um die Problemstellen und Sicherheitsaspekte genau wissen. Während Anfänger die Finger davon lassen sollten.
Und ohne Frage gibt es wirklich gute PHP-Projekte. Da sitzen dann aber auch Leute hinter, die von ihrem Handwerk wirklich viel verstehen.
Ruby on Rails oder auch Python/Django sind da vermutlich die besseren Alternativen für den Einstieg.
Und ja, ich bin ebenfalls der Meinung das man sich zunächst mit HTML, CSS usw. auseinandersetzen sollte. Das sind so die Sachen die Du für eine Webseite immer brauchst.
Erstmal muss man die Technologien kennenlernen und deren Einsatzzweck. Möglicherweise braucht man gar nix serverseitiges, weil sich alles so abdecken lässt. Aber das kann man nur aufgrund dessen entscheiden, wenn man weiß was man tun möchte und weiß, was es gibt.
Und wenn man soweit ist, kann man dann von mir aus auch die Frage stellen, ob Ruby, PHP oder gar große Lösungen auf Java oder .NET-Basis her müssen.