2010-12-06 7 views
4

So habe ich die Aufgabe, eine Anwendung in PHP zu entwickeln.
Client sagt, verwenden Sie kein Framework wie Zend, Symphony e.t.c. und machen Sie stattdessen Ihr eigenes.Suchen Sie nach benutzerdefinierten Basis-PHP-Framework

Jetzt ist das Ding, das ist ein dummes ich meine, warum sollte das Rad neu erfinden und meine eigene Struktur für die Anwendung schaffen, wenn wir diese Rahmen zur Verfügung haben !!!

Aber jetzt bin ich auf der Suche nach einer benutzerdefinierten Framework/Klassenstruktur in PHP, die ich in meinem Projekt verwenden kann.

Wie mit Zend können Sie ein leeres Projekt erstellen und es werden alle Basisklassen, Konfigurationsdateien und andere Verzeichnisse für Sie erstellt, die Sie in Ihren Projekten verwenden können.

Also ich bin auf der Suche nach ähnlichen Dingen. Alles von Grund auf neu zu erstellen wird zeitaufwändig sein. Ich brauche kein komplettes Projekt, ich weiß, ich werde diese Arbeit selbst tun ... Ich brauche nur einige Struktur/Framework in PHP (benutzerdefinierten Code), die ich in meinem Projekt verwenden kann.

+0

Sie können dies nützlich finden: http://sarfraznawaz.wordpress.com/2009/09/08/ezmvc-php-framework/ – Sarfraz

+5

Ich verstehe nicht wirklich. Ich meine, jeder Framework-Hinweis, den du bekommen würdest, wäre wieder ein vorgefertigter Rahmen, den dein Klient nicht haben will, oder? Was ist die Begründung des Kunden für diese Entscheidung? –

+0

Das klingt nach der Art von Aufgabe, die Sie in Vorbereitung auf ein Interview bekommen würden. Ich bin vielleicht völlig daneben, aber es klingt wie eine seltsame Anforderung für einen Kunden zu spezifizieren. –

Antwort

6

Der logischste Grund, die Verwendung eines bereits vorhandenen Frameworks auszuschließen, ist: Sicherheit.

Speziell, Sicherheit durch Dunkelheit.

Unabhängig von der Gültigkeit dieses Konzepts (die ohnehin ein zweischneidiges Schwert ist) ist der Fakt, dass Ihr Client glaubt, dass Code, der Open-Source und leicht zu inspizieren ist, leicht zu finden ist. Und wenn sie nicht planen, mit dem Framework Schritt zu halten, was sie höchstwahrscheinlich nicht sind, dann sind sie höchstwahrscheinlich im Recht.

Also werde ich Ihnen Code nicht geben. Ich gebe Ihnen Tipps:

Die erste Wahl, die Sie treffen sollten, ist, wie Sie Ihre URLs strukturieren möchten. Möchten Sie die mod-rewrite powered query-string-fähige Trickserei, die CodeIgniter verwendet, machen? Das ist wirklich super einfach, wenn Sie das Problem aufteilen.

Möchten Sie eine kleine Bibliothek haben, die Sie auf jeder .php-Seite hinzufügen und einfach darauf zugreifen, anstatt ein vollständiges Wrapper- und Router-System?

Als nächstes wollen Sie die Kernstruktur Ihres Systems planen. Drehst du für MVC? Oder etwas, das etwas rauer und fertig ist wie Symphony?

Sobald Sie diese Entscheidungen getroffen haben, haben Sie einen Plan, mit dem Sie beginnen können, Dinge herum zu bauen.

Der Aufbau eines eigenen Frameworks ist eigentlich kein schlechter Weg, Sites zu erstellen. Es wird sehr leicht bleiben, wo jedes andere Framework Ihren Code auf etwa 10% der Geschwindigkeit von Roh-PHP verlangsamen wird. Was ist 10% der Geschwindigkeit von nur HTML.

Viel Glück!

+3

Client gab mir zwei Gründe, warum nicht Frameworks zu verwenden. 1. Sie sind schwer ... aktuelle Zend-Framework-Größe ist 23 MB! 2. Mit Framework bedeutet, wenn ich später aufhöre, dann müssen sie eine Person finden, die es weiß, im Falle der benutzerdefinierten Entwicklung wissen sie, was vor sich geht. Aber ist nicht das Gegenteil davon wahr? Ich meine, wenn ich Zend benutze, dann gibt es viele Entwickler, die es verstehen und leicht zu finden sind, aber wenn ich meinen eigenen Code benutze, wird es niemand wissen !!? – Ali

+0

# 1 ist ein echtes Problem. Vor allem, wenn sie sich nur begrenzte Serverzahlen/Spezifikationen leisten können. # 2 ist dagegen wahr. Es wäre jedoch einfacher, jemanden zu finden, der Zend kennt, als einen wirklich guten Programmierer zu finden, der alles verstehen kann. – DampeS8N

+3

Beide Anliegen sind falsch. Die Größe auf dem Dateisystem eines Frameworks ist für alles absolut irrelevant. Nun, im Fall von Zend, können Sie argumentieren, dass das Framework schwer ist (dass die Verwendung des gesamten Zend_Application Stacks viel Overhead verursacht), aber ein Framework von der Stange zu verwerfen ist ziemlich albern - sehr vorzeitige Optimierung. # 2 - Was Ali sagt. Wenn Sie Ihr eigenes Framework rollen, erhält newguy ein undokumentiertes Chaos. Wenn Sie ein ausgereiftes Open-Source-Framework verwenden, erhält newguy eine Menge gut geschriebenen und * gut dokumentierten * Code, mit dem er vielleicht bereits vertraut ist. – timdev

1

können Sie http://fatfree.sourceforge.net/

sehr einfachen Rahmen mit minimaler Menge von metods und Klassen sehen. Sie können die Architektur für die Verwendung in Ihrem eigenen Framework als Basis sehen.

0

Hex ist ein sehr einfaches PHP-Framework von @robertbasic.

Wahrscheinlich zu leicht für eine große Anwendung, aber sehr lehrreich: Framework-Grundlagen.

1

Nun, wenn der Client wirklich besorgt über Geschwindigkeit ist - geben Sie die oder TweetMVC einen Versuch. Sie können auch Klassen von Zend und Flourish stehlen und sie in den meisten Frameworks verwenden.

Persönlich würde ich dem Kunden die Vorteile der Verwendung von Code erklären, den viele andere Entwickler beenden könnten, wenn Sie vor dem Start von einem Eiswagen getroffen wurden.

0

Nun Ali das ist dein Glück, nicht alle Kunden zahlen uns das Rad neu zu erfinden. Natürlich gut etablierte Rahmen sind frei von einigen Sicherheitsproblemen, aber schauen Sie auf die helle Seite. Ich bin ziemlich zuversichtlich, dass Sie nach dem Umschreiben eines Frameworks von Grund auf viel lernen werden.

Schauen Sie sich diesen Link an, er hilft Ihnen beim Einstieg. http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/

0

https://github.com/mh801/PFU/commits/master

dies ist ein Framework, das ich geschrieben habe. Ich habe einige Designmuster von anderen Frameworks aus dem Internet genommen. es ist leicht und ich habe eine Reihe von Projekten damit gebaut. Sie können es gerne abzweigen oder sogar beisteuern, wenn Sie möchten. Wenn Sie Fragen nach der Installation haben, zögern Sie nicht mich zu informieren und ich bin glücklich, Ihnen zu helfen. Meine E-Mail-Adresse ist auf meinem Profil bei Github.