Linux php mysql - Beratungsanfrage

GuNa

Experte
Thread Starter
Mitglied seit
08.12.2011
Beiträge
245
Hallo,

vorab: Falls ich hier falsch bin oder die Frage schon mal gestellt wurde bitte ich um Nachsicht.

Für ein kleines Projekt möchte ich mich in die Themen php Programmierung und MySQL einarbeiten. Leider werde ich von den vielen Informationen im I-Net geradezu erschlagen daher bitte ich Euch mir etwas Licht ins dunkle zu bringen.

Was ich Vorhabe:

Es geht um eine kleine, Web Anwendung die zur Datenerfassung benutzt werden soll. Es sind einfache Eingabefelder und Tabellen Strukturen. Hinzu kommt eine einfache Benutzerverwaltung und eine sehr rudimentäre Statistik.

Für dieses Vorhaben richte ich gerade meine Entwicklungsumgebung ein und hier brauche ich eure Hilfe:

Aufgrund meiner Vorkenntnisse aus anderen Programmierumgebungen würde ich gerne folgenden Aufbau realisieren:

- Entwicklungsumgebung (IDE) auf dem Client (Windows)
- Versionierung und Test auf einem eigenem Server

Leider habe ich keine Information gefunden wie ich so etwas einrichte. Die Informationen die ich gefunden habe bezogen sich immer auf die Installation auf einem Rechner.

Meine Fragen:
Welches OS für den Server wäre zu empfehlen? (Habe Ubuntu+ LAMP eingerichtet aber das muss nicht so richtig sein)
Als IDE habe ich jetzt mal Netbeans 7.3 genommen ? Ist das OK ? Wie verbinde ich Netbeans mit dem MySQL Server auf dem Testserver ?

Welche gute Informationsquellen könnt Ihr mir empfehlen.

Wie ihr seht stehe ich ganz am Anfang.

Für jede Hilfe und Tipp schon mal Danke im voraus.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Du scheinst von anderen Programmiersprachen zu kommen?

Entwicklungsumgebung -> Xampp + Notepad ++
So wird es richtig gemacht :p

Für den Server ist im Grunde jedes Linux zu gebrauchen, nimm am besten ein abgespecktes ohne GUI. Debian oder ähnliches...
Anschließend ein gutes Buch kaufen (würde ich jedem Tutorial im Internet vorziehen). HTML Kenntnisse? -> Brauchst du auch

PHP & MySQL sind in ihrer Grundkonfiguration schnell aufgesetzt, aber damit natürlich offen wie ein Scheunentor...
 
Vielen Danke Chogger.
Jop - Ich komme von anderen Programmiersprachen (Delphi, C++) und auch das ist schon eine weile her .... Muss vieles wieder auffrischen und neu lernen.
Der Ubuntu Server 12.04 ist ohne GUI. Der Server läuft nur in meinem privatem LAN und ist erstmal meine Spielwiese bis ich weiß was ich tue :coffee: . Bücher habe ich bestellt/gekauft und sind unterwegs.
HTML Kentnisse sind so gut wie nicht vorhanden - aber auch da ist schon was unterwegs.

Aber verstehe ich Dich richtig das es so etwas wie eine Client/Server (vielleicht die falschen Begriffe) Struktur so nicht gibt ? Muss ich auf dem Client das ganze XAMP Paket installieren inkl. Apache etc. und die Daten (Code) dann auf den Server kopieren ?
 
Zuletzt bearbeitet:
ob es so "richtig gemacht wird" ist wohl eher Geschmackssache.

IDE ist egal, imho gibt es für alle großen IDEs php support (z.B. eclipse PDT)...
muss es raw-php sein?
Imho wäre ein Webframework sinnvoller. Da ist die Auswahl recht groß, es gibt welche für php und auch für c++ oder auch andere Sprachen.
Evtl. wäre ein C++ Webframework für dich sinnvoller, dann braucht man keine neue Sprache lernen (und php ist sowieso nicht so prickelnd)

Warum willst du deine IDE mit SQL verbinden?
viele Webframeworks bringen einen ORM layer mit. Daneben gibt es auch oft schon fast fertige CRUD Module, bzw. Quelltext, der schnell angepasst werden kann...

Achja für Versionierung: git z.B. per gitlab und für das Testing / CI z.B. jenkins.
 
Zuletzt bearbeitet:
Danke trademark.

Ob es raw php sein muss kann ich nicht sagen. Das habe ich aus den Informationen im I-Net geschlossen.
Mit der Anbindung der IDE an die Datenbank ist der Zugriff auf die Datenbank über die IDE gemeint. Zb. Auswahl der Tabelle/Feld in einem bestimmten Formular für ein bestimmtes Feld.

Im Prinzip geht es mir um folgendes Scenario:

User meldet sich über den Browser auf einer Webseite an.
Hier kann er in einem Formular Daten erfassen und abspeichern und einfache Listen sehen die er nach bestimmten Kriterien filtert.

Ich bin noch zu unbedarft um alle Möglichkeiten zu kennen. Das wäre meine erste Webanwendung die ich erstellen möchte.
Wie gesagt sind meine Programmierkenntnisse ziemlich eingerostet, daher gehe ich davon aus das ich ja dann auch gleich eine neue Sprache lernen kann, die in so einem Umfeld eher üblich ist.

Ich bin mir bewusst das die Lernkurve ziemlich Steil sein wird und es keine "mal eben im Vorbeigehn" Umsetzung geben wird. Dennoch soll es Hand und Fuß haben.
Vielleicht war aber auch meine Frage falsch. Mal so rum gefragt: Was bräuchte ich für eine (Entwicklungs-) Umgebung um eine Webanwendung mit Datenbankanbindung zu erstellen.
Möglichst mit Versionierung, Testumgebung/Debug Funktion und wo ich vielleicht nicht alles auf einem Rechner installieren muss (?). (Das wäre meine Vorstellung aber wenn es so nicht gemacht wird, dann auch gut. Ich kann ja eine Virtuelle Entwickler-Maschine aufsetzen.) Wie sehen die Umgebungen den üblicherweise im Pro Bereich aus ?

Für die Serverseite lese ich im I-Net das hauptsächlich Linux zum Einsatz kommt, was auch kein Problem ist im Gegenteil, es soll nicht auf Windows basierte Komponenten zum Einsatz kommen.
Kenne mich mit Debian, Ubuntu und CentOS etwas aus und hätte damit auch kein Problem.

Sorry für die Noob Fragen. :-)
 
Nimm am besten ein Webframework, das bringt die meisten Dinge wie CRUD, ORM , Auth usw. schon mit. Der MVC (Model View Controller) Ansatz ist praktisch perfekt für CRUD Anwendungen, wie deine, geeignet...

MySQL Workbench ist ganz praktisch... aber wie schon gesagt, arbeite mit einem ORM (object relational mapper), der übersetzt dir deine Klassen automatisch in SQL tables.
Außerdem kannst du dann mit den Entities wie mit ganz normalen Objekten umgehen...

Also was dein Webframework können sollte:
-Forms
-ORM
-auth
also ziemliche basics.

Comparison of web application frameworks - Wikipedia, the free encyclopedia

Ich persönlich finde play2 ( http://www.playframework.com/ java) ganz nett. Von php würde ich eher abraten... (s. PHP: a fractal of bad design - fuzzy notepad)

Was du brauchst:
- git http://git-scm.com/
- das Webframework (je nach Framework wird teilweise auch eine Testumgebung mitgeliefert)
- eine IDE z.B. Eclipse


nice to have:
- git server z.B. gitlab
- continious integration z.B. Jenkins
- Bug Tracker / wiki


Der Server muss halt dein Webframework /DB ausführen können...Ich persönlich würde Linux nehmen.
 
Zuletzt bearbeitet:
Wow - Perfekt trademark!!
Vielen Dank. Werde mal alles "abklappern" was du gepostet hast.
Auf so eine Antwort hatte ich gehofft :banana:
Danke!

PS: Gibt es Bücher/Literatur die Du mir noch empfehlen könntest ?
 
Zuletzt bearbeitet:
hmm kommt natürlich auf das Webframework + Sprache an.

Für git gibt es pro git zum online lesen.evt. Jenkins definitve Guide von O'Reilly.
Für Javascript/ Jquery war Jquery:From Novice to Ninja imho ganz gut.

Leider altern diese Bücher wahnsinnig schnell. Besonders bei großen Major Revisions z.B. Jquery 2...

Im allgemeinen gefallen mir die Manning Bücher recht gut, es lohnt sich auch oft die Kommentare auf amazon.com durchzulesen.
Es nervt vor allem wenn Fehler im Buch / Beispielcode sind.
 
Wenn es um Datenorientierte Webanwendungen geht, finde ich Oracle Apex ganz praktisch. Die meisten kleineren Sachen lassen sich damit schnell umsetzen. Allerdings halte ich Apex Anwendungen nur fuer das intranet geeignet.
 
apex mag technisch(deklarativ usw.) ganz nett sein, aber die Festlegung auf eine oracle DB und das es proprietärer Code ist, wäre für mich ein no-go.
 
fuer windows eine Installation von LAMP ein bisschen komplexer als Linux, schlage ich vor, dass man Ubuntu oder so verwenden soll. apt-get...fertig.

- Entwicklungsumgebung (IDE) auf dem Client (Windows)
- Versionierung und Test auf einem eigenem Server


Du kannst z.B subversion auf dem Server(ubuntu) installieren, programmierst du schon bei Windows, mit Netbeans und mit Plugin fuer Subversion von netbeans kannst du die Source PHPs zu Server sychronizieren. Auf der Server Seite machst du einfach svn update oder so , nachdem du das Project ausgecheckt hast...
 
@Moderator: Sorry das dieser Thread in eine ganz andere Richtung gelaufen ist. Vielleicht doch nach Anwendungsprogramme verschieben ?

Nochmal vielen Dank für eure Beiträge. Sie haben mir sehr geholfen!! Hier ein kurzes Feedback von meiner Seite.

Was ist der Stand der Dinge:
Nach vielen vielen Stunden des Lesens im I-Net habe ich meine Entwicklungsumgebung soweit das ich mich jetzt auf die eigentliche Einarbeitung und Entwicklung konzentrieren möchte.
Als IDE habe ich mich erstmal für Netbeans entschieden (Hab mir auch Eclipse und phpStorm angeschaut). XAMPP auf der lokalen Maschine installiert und es funktioniert eigentlich ganz gut. Das Thema Server/Git/Subversion macht mir noch zu schaffen da ich noch Probs mit der Installation habe und ich noch nicht alle Dokumentationen und Anleitungen genau verstehe, bzw es noch nicht hinbekommen habe Netbeans mit Git bzw. Subversion zu verbinden. Aber ich arbeite noch daran.
Als Sprache werde ich wohl mit php den Einstieg wagen. Es gibt unglaublich viele Meinungen im I-Net zu diesem Thema. Extrem viele Pro und Cons und sehr viele Programmiersprachen, welche mir als Einsteiger eine Entscheidung extrem schwierig gemacht haben...
Am Ende war für mich das Argument der einfachen Erlernbarkeit und der Tatsache das es auf jedem Server/Browser funktioniert ausschlaggebend. (ob das so stimmt werde ich wohl selber heraus finden müssen...)
Als Framework werde ich mich mal mit FuelPHP auseinander setzen da es die von trademark genannten Funktionalitäten bietet. Aber auch bei dem Thema Framework scheint bei vielen eine Glaubensfrage zu sein ...
Es ist schon heftig, welch eine Vielfalt/Wildwuchs es in diesem (Programmier)-Segment gibt. Hatte ich nicht erwartet...

Für Eure Anregungen und Meinungen möchte ich mich nochmal Bedanken und hoffe noch weitere zu hören...
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh