php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PHP-Programmierung


 
ImmerOn
06-08-2012, 00:42 
 
Guten Abend,

ich bin gerade dabei, ein etwas größeres Projekt zu erstellen und zwar ein Browserbasiertes Onlinespiel.
Das Spiel ist hauptsächlich textbasiert und das Layout ist schon mit CSS / HTML fertig erstellt.
Nun habe ich eine Frage zur Programmierung:
Es müssen hauptsächlich Werte aus einer Datenbank abgefragt / ausgegeben / geändert werden. Also alle Funktionen sind meiner Meinung nach relativ einfach gehalten.
Da ich noch eher ein Anfänger in Sachen PHP / MySQL bin, wollte ich mir einen Programmierer für mein Projekt suchen. Also habe ich mit einigen Kontakt aufgenommen und mich beraten lassen.
Einer meinte nun, es wäre nicht sehr klug bzw. eigentlich unmöglich, so ein Projekt mit reinem PHP umzusetzen und würde ein Framework empfehlen, z.B. Zend / Ruby on Rails.
Jetzt würde ich gerne wissen, ob es wirklich so ist, also das so ein Projekt mit reinem PHP nicht umsetzbar wäre?
Das ganze muss natürlich auch sehr auf Performance aus sein, da das Spiel später einmal meherere 1.000 User verwalten soll.
Mein Kontakt hatte da noch gemeint, dass es auf jedenfall zu zahlreichen Fehlern kommen wird, wenn z.B. 2 Nutzer auf die gleiche Datenbankzeile zugreifen usw... stimmt das wirklich? Oder sind das eher wenige Sachen, die da dann evtl. im nachhinein geändert werden müssen? Weil wenn ich das Spiel nun programmiere, teste ich es ja alleine, also als einzelner Spieler und nicht so, als wenn 100 Spieler gleichzeitig online wären.

Es wäre schön, wenn sich da jmd. besser auskennt und mich evtl. ein bischen beraten kann, weil bei so Verkaufsgesprächen weiß man leider nie, was einem da aufgetischt wird :)

Ich bedanke mich schonmal für jede Hilfe.

Liebe Grüße.

 
mermshaus
06-08-2012, 02:04 
 
Willkommen im Forum.

Sagen wir mal so: Wir sind hier ziemlich gut im Beantworten konkreter Fragen, aber relativ schlecht im Sinnieren über Probleme, die sich durch konzeptionellen Charakter mit eher schwammiger Informationslage auszeichnen.

Es müssen hauptsächlich Werte aus einer Datenbank abgefragt / ausgegeben / geändert werden. Also alle Funktionen sind meiner Meinung nach relativ einfach gehalten.

Die Beschreibung ist nun mal sehr allgemein und würde auch auf die Software hinter Wikipedia zutreffen. Dass die nicht an einem Nachmittag geschrieben ist, dürfte aber nachvollziehbar sein.

Einer meinte nun, es wäre nicht sehr klug bzw. eigentlich unmöglich, so ein Projekt mit reinem PHP umzusetzen und würde ein Framework empfehlen, z.B. Zend / Ruby on Rails.

Das kann man als Detail abtun oder man kann Bücher damit füllen. Jedenfalls: Es dürfte wohl kaum einen Entwickler geben, der auf den Einsatz von Fremdkomponenten verzichtet. Mehr ist ein Framework im Grunde auch nicht. Ich würde das nicht als „Alternative“ zueinander formulieren.

Mein Kontakt hatte da noch gemeint, dass es auf jedenfall zu zahlreichen Fehlern kommen wird, wenn z.B. 2 Nutzer auf die gleiche Datenbankzeile zugreifen usw... stimmt das wirklich?

Race Conditions sind keine Spinnerei. Wenn du nicht weiß, was beispielsweise eine Transaktion ist, ist das Auftreten nicht unrealistisch.

- Race Condition ? Wikipedia (http://de.wikipedia.org/wiki/Race_Condition)

 
steffomia
06-08-2012, 20:03 
 
Für den Manager dieses Spieles:
Equinox - the Apocalypse//Willkommen! (http://equinox-game.com/)
habe ich mal ein paar Server aufgesetzt.
Das Game läuft vollständig auf PHP+MySQL und im Framwork:
Yii Framework 1.1.x (http://www.yiiframework.com/download/)

Dieses Framework hat mich selbst überzeugt und ich benutze es seit dem selbst.
Allerdings Programmiere ich nur in meiner Freizeit und zum Spaß.

Wie auch immer, ich finde das Framework hat's irgendwie, denn es ist unglaublich flexibel, robust und anpassbar und lässt in seinen Futures keine Wünsche offen.
Das gute daran ist, es zwingt einen nicht in eine Framework-spezifische Struktur.
Was andererseits natürlich auch sehr viel Selbstdisziplin erfordert, nicht zu schludern.

Mein aktueller Freizeitvertreib (siehe Signatur) läuft auch im Yii Framework.

 
steffomia
06-08-2012, 20:21 
 
Guten Abend,

ich bin gerade dabei, ein etwas größeres Projekt zu erstellen und zwar ein Browserbasiertes Onlinespiel.
Das Spiel ist hauptsächlich textbasiert und das Layout ist schon mit CSS / HTML fertig erstellt.
Nun habe ich eine Frage zur Programmierung:
Es müssen hauptsächlich Werte aus einer Datenbank abgefragt / ausgegeben / geändert werden. Also alle Funktionen sind meiner Meinung nach relativ einfach gehalten.
Da ich noch eher ein Anfänger in Sachen PHP / MySQL bin, wollte ich mir einen Programmierer für mein Projekt suchen. Also habe ich mit einigen Kontakt aufgenommen und mich beraten lassen.
Einer meinte nun, es wäre nicht sehr klug bzw. eigentlich unmöglich, so ein Projekt mit reinem PHP umzusetzen und würde ein Framework empfehlen, z.B. Zend / Ruby on Rails.
Jetzt würde ich gerne wissen, ob es wirklich so ist, also das so ein Projekt mit reinem PHP nicht umsetzbar wäre?
Das ganze muss natürlich auch sehr auf Performance aus sein, da das Spiel später einmal meherere 1.000 User verwalten soll.
Mein Kontakt hatte da noch gemeint, dass es auf jedenfall zu zahlreichen Fehlern kommen wird, wenn z.B. 2 Nutzer auf die gleiche Datenbankzeile zugreifen usw... stimmt das wirklich? Oder sind das eher wenige Sachen, die da dann evtl. im nachhinein geändert werden müssen? Weil wenn ich das Spiel nun programmiere, teste ich es ja alleine, also als einzelner Spieler und nicht so, als wenn 100 Spieler gleichzeitig online wären.

Es wäre schön, wenn sich da jmd. besser auskennt und mich evtl. ein bischen beraten kann, weil bei so Verkaufsgesprächen weiß man leider nie, was einem da aufgetischt wird :)

Ich bedanke mich schonmal für jede Hilfe.

Liebe Grüße.
Sorry für den Nachwurf...

Also was Dein Kontakt bezüglich MySQL erzählt hat, ist totaler Mist.
MySQL kann man mittlerweile zu einem Gerät aufbauen, dass man eine Gänsehaut bekommt.
So kannst du ein und das selbe Spiel auf mehreren Apache+PHP Servern laufen lassen, die alle auf die selbe Datenbank zu greifen, ohne dass MySQL einen Schluckauf bekommt (von möglichen Wartezeiten mal abgesehen).

Die Serverlast des Apache kann man ganz simpel über mehrer Server "Balancen". Das hat der Apache mittlerweile Build-In!

Wenn dein Datenbank-Server die grätsche macht, gibt es auch da mittlerweile beängstigend leistungsfähige Lösungen.
Hier die einfach variante.
MySQL :: MySQL 5.1 Referenzhandbuch :: 6.1 Einführung in die Replikation (http://dev.mysql.com/doc/refman/5.1/de/replication-intro.html)

Hier die MySQL-Extreme Variante:
http://dev.mysql.com/doc/refman/5.1/de/ndbcluster.html

Also alles kein Problem mehr. Es kommt heutzutage wirklich nur noch darauf an, wie viele physische High-End Root-server du bezahlen kannst.
Der Rest ist Sache des Root-Administrators.

Also leg dich wieder hin ;) und schau lieber nach, was Server kosten.

 
mermshaus
06-08-2012, 20:41 
 
Bissel steil, die Thesen.

 
ImmerOn
10-08-2012, 18:04 
 
Hallo,

also ich als PHP-Anfänger finde Frameworks ziemlich kompleziert.
Ist es denn überhaupt möglich, eine Anwendung ohne ein Framework zu programmieren? Also ganz einfach .php - Dateien erstellen und dort den Code reinschreiben? Und wäre das dann auch sicher, oder hat man dann nur Probleme z.B. durch "Fremdzugriffe" / Sicherheitslücken usw...?
Kann mir da evtl. jmd. Tipps geben, bzw. einen Link wo genaueres dazu steht?
Bei meiner Anwendung lese ich Spalten aus einer Tabelle aus, speichere diese dann als Variablen ab, lasse diese dann auf verschiedenen Seiten für den Nutzer anzeigen. Auf manchen Seiten hat der Nutzer dann die Möglichkeit, einige Daten per Klick zu ändern, also wird die Tabelle mit dem "update" befehl von MySQL geändert.
Ich hoffe ihr versteht was ich meine, kann mich leider noch nicht so fachlich ausdrücken, da ich eben ein Anfänger in der PHP-Entwicklung bin und auf der Suche danach bin, wie ich nun mit meinem Projekt anfangen soll. Falls euch ein bischen Quell-Code zu meiner Anwendung besser hilft, kann ich gerne ein paar Auszüge posten, wie ich das momentan programmiert habe.
Sicherheit und Performance spielt dabei eine der wichtigsten Rollen.

Vielen Dank und liebe Grüße :)

ps:
Habe mir mal das Zend-Framework etwas angeschaut und auch Zend-Studio 9 gekauft. Kennt einer evtl. gute Tutorials für den Einstieg auf deutsch? Darf auch gerne was kosten.

 
steffomia
10-08-2012, 18:17 
 
Für Anfänger ist das auch nichts. Ich finde, man sollte wenigstens so fortgeschritten sein, dass man versteht bzw. verstehen kann, was in den Frameworks vor sich geht.
Als Kompromiss gehen zur Not auch die Module von PEAR.

 
ImmerOn
10-08-2012, 19:10 
 
Und ist es ohne die Nutzung eines PHP-Frameworks überhaupt sinnvoll eine PHP-Anwendung zu erstellen?
Ich bin nämlich nun dabei, meine Anwendung ohne ein Framework zu programmieren. Das einzigste was mir halt auffällt, ist das ich ziemlich viel Quell-Code habe. Hat das große Auswirkungen auf die Performance der Anwendung?

Liebe Grüße.

 
steffomia
10-08-2012, 20:22 
 
Man muss einfach abwägen, was besser in "professionellen Händen" ist wie z.B. die Basisklassen für das Handling mit der Datenbank, das strukturieren von Views, die Trennung von Models, Controller und Views im allgemeinen.

Dann stellt sich die Frage, wie sicher läuft meine App auch auf anderen Servern, wie leicht lässt sich die Applikation installieren.

Wenn man ohne Framework arbeitet, baut sich das eigene Framework mit der Zeit von ganz alleine auf. Es werden z.B. Klassen programmiert, die man gerne wieder verwenden möchte. Mailer-Klassen werden immer wieder eingebunden.
Aber all das Zeug verbleibt immer irgendwie im Alpha-Beta Stadium. Während Frameworks auf Herz und Nieren professionell getestet sind und sich die Frage ob das denn auch alles wirklich richtig funktioniert nicht mehr stellt.

Dann kann kann man auch ein Framework benutzen, ohne es wirklich anzuwenden. Man daran vorbei Programmieren, vielleicht weil einem die eine oder andere Vorgabe des Frameworks nicht flexibel genug ist oder aus anderen Gründen nicht gefällt.
Sowas fällt aber oft erst auf, wenn schon sehr viel Zeit in ein bestimmtes Framework investiert wurde.

Ein Beispiel etwas abseits - JQuery:
Jeder benutzt es irgendwie weil damit alles so toll und einfach ist. Dabei ist JQuery auch nichts anderes als ein Framework für Javascript und man kann sich drauf verlassen, dass es für die angezeigten Browser auf jeden fall funktioniert. Das schafft man selbst -mal eben so- niemals.
Auch in einem PHP-Framework hat man eine Unzahl von Funktionen und Klassen, die einfach -- funtionieren, einhundert prozentig. Das schafft man mit fix mal selbst gestrickten Material ebenso wenig.

Also ich finde, man sollte schon ein Framework verwenden, aber für die Auswahl sollte man sich wirklich viel Zeit nehmen, oder einfach das modernste, größte um umfassendste was man finden kann wie Symfony2 oder Yii.
Der Speicherplatz, den diese Boliden auf dem Server einnehmen ist heutzutage ohne belang, der Upload ist einmalig und dann muss man da nie wieder ran.

 
mermshaus
12-08-2012, 05:28 
 
Suchbegriffe dazu wären „php framework oder nicht“ oder „php framework ja nein“, „php framework vorteile“, … Es gibt dazu auch in diesem Forum Threads. Das ist ein Lieblingsthema in unseren Kreisen.

Für Anfänger ist das auch nichts. Ich finde, man sollte wenigstens so fortgeschritten sein, dass man versteht bzw. verstehen kann, was in den Frameworks vor sich geht.

Ja, auch bezogen auf diesen gesamten Thread.

Auch wenn meine letzte Antwort vielleicht etwas sehr kurz war: Es geht gerade gewissermaßen um Schritt 10, obwohl die Schritte 1 bis 9 dafür Voraussetzung wären. Das ist sozusagen die falsche Richtung, die Materie zu lernen. Ist nicht ganz einfach zu beschreiben, fürchte ich.


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:33 Uhr.