php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.10.2009, 17:21  
Benutzer
 
Registriert seit: 18.10.2009
Beiträge: 30
PHP-Kenntnisse:
Fortgeschritten
AUSTRIA ist zur Zeit noch ein unbeschriebenes Blatt
Standard Plugin-Schnittstelle für Board-System

Hallo!

Ich bin dabei, ein Board-System zu programmieren. Besteht aus Forum, Wiki und einem Projekt-Verwaltungssystem ähnlich SourceForge (nur kleiner ).
Jetzt wäre es natürlich interessant, wenn man dem System durch Plugins weitere Fähigkeiten verleihen könnte. Das würde ich gerne so machen wie die Mods von phpbb.
Ich hab noch nie ein Plugin-System programmiert, aber in PHP schon einige sachen gemacht (kleines CMS-System, kleines Forum, ...)

Kann mir jemand einige Hinweise geben, auf was ich da achten muss?

schöne Grüße aus Österreich
AUSTRIA ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.10.2009, 17:52  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ein Plugin-System ist keine Sache von ein wenig hinzuprogrammieren, sondern eine generelle Designfrage. Es liegt also an der Architektur deiner Anwendung, wie das zu realisieren ist und daran, was du genau unter einem Plugin verstehst. Grundlage ist jedenfalls zunächst eine modulare Struktur.
Dazu brauchen wir aber weitaus mehr Informationen von dir.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 18.10.2009, 19:12  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Das würde ich gerne so machen wie die Mods von phpbb.
Das würde ich tunlichst nicht so realisieren.

Ansonsten stimme ich Manko zu, dazu brauchen wir mehr Info. Nebenbei: das Thema wurde hier im Forum auch schon mehrmals diskutiert. Nutze mal die Forensuche, vielleicht kannst du da ja was gebrauchen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 18.10.2009, 19:57  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Wie ist das bei phpBB überhaupt realisiert? Ich habe diesem schrecklichen Stück Software nie in den Code geschaut, weil es viel zu sperrig ist und in der neusten Version zu einem reinen Abfallhaufen für nicht benötigte Features verkommen ist.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 19.10.2009, 16:34  
Benutzer
 
Registriert seit: 18.10.2009
Beiträge: 30
PHP-Kenntnisse:
Fortgeschritten
AUSTRIA ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also bei den Mods muss man an die internen PHP-Dateien ran und dort etwas rumschnipseln, also ein paar Zeilen einfügen um das Plugin zu steuern.
So würd ich das auch gerne machen. Also dass ich einen Ordner hab, in dem ne PHP-Datei ist, die den Code für das Plugin enthält (Als Klasse).
Dieses Plugin muss man dann in der "Registry" des Board-Systems registrieren. Erst dann kann das System etwas mit den eingefügten Zeilen anfangen.
Pseudo-Code:
Code:
$REGISTRY->GetPlugin('breadcrumb')->ShowBreadcrumbs();
Die Plugins sind in der Registry in nem Array (alias -> Zeiger auf Plugin) abgelegt.

Würde das so funktionieren.

Hab mit der programmierung des Systems noch nicht begonnen. Wollte das aber in den nächsten Wochen tun. Während der Planung (seit Ende Juli) ist mir die Idee gekommen, den Funktionsumfang des Systems mit Plugins zu erweitern.

mfg AUSTRIA
AUSTRIA ist offline   Mit Zitat antworten
Alt 19.10.2009, 16:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Dann solltest Du Dich auf jeden Fall mal mit dem MVC Konzept und auch mit dessen Problematiken auseinandersetzen (Siehe Parallelthread im SW-Design-Forum). Generell halte ich das MVC-Prinzip für eine gute Basis für selbständige, modulare Konzepte (= Plugins).
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 19.10.2009, 16:42  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Also bei den Mods muss man an die internen PHP-Dateien ran und dort etwas rumschnipseln, also ein paar Zeilen einfügen um das Plugin zu steuern.
Genau das ist ein Fehler! Ein Plugin muss ohne Code-Änderung einer Core-Schicht in diese einsetzbar sein. Die API selbst muss dabei den Vorgang unterstützen und die notwendigen Informationen für das Modul bereitstellen.

Siehe Diskussion unter http://www.php.de/software-design/52...erwaltung.html (Realisierung der Modulverwaltung)
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 19.10.2009, 16:44  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AUSTRIA Beitrag anzeigen
Also bei den Mods muss man an die internen PHP-Dateien ran und dort etwas rumschnipseln, also ein paar Zeilen einfügen um das Plugin zu steuern.
das ist kein plugin, das ist eine modifikation. ein plugin (reinstecken) soll eben ohne eine modifikation am quellcode funktionieren. paradebeispiel ist das Java Plugin Framework.

edit: too late
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Scriptangebot IV Content Management System Master IV Scriptbörse 0 06.10.2009 15:09
Plugin system Marti95. PHP Tipps 2009 15 01.10.2009 18:38
Plugin Controller Cout PHP-Fortgeschrittene 5 24.06.2009 23:02
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
Kurze Einführung in Firefox Search Plugin Programmierung PTC Tutorials 5 10.02.2009 01:31
system() flush und Safari webbi PHP-Fortgeschrittene 6 07.07.2008 21:30
ComputerVerwaltung / System / Ereignisanzeige dh1sbg PHP-Fortgeschrittene 3 17.11.2006 01:42
stty schnittstelle einstellen... hekto Server, Hosting und Workstations 2 24.04.2006 19:58
Serielle Schnittstelle PHP-Fortgeschrittene 1 03.10.2005 22:02
[Erledigt] Probleme mit Miranda Plugin und MySQL Datenbanken 0 24.08.2005 15:39
29.07.05: System Administrator Appreciation Day!! Off-Topic Diskussionen 2 25.07.2005 09:15
SMARTY Thumbnail Plugin duderino Beitragsarchiv 1 21.04.2005 16:19
Template System tutorial PHP Tipps 2005 3 09.02.2005 19:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
plugin schnittstelle php, php plugin schnittstelle, php plugin system, php schnittstelle programmieren, php plugin system programmieren, softwaredesign plugin, schnittstellen board, php gegen schnittstelle programmieren, java plugin system programmieren, plugin system php, php 5.3 plugin system interface, php plugin design, how to write a plugin php, pluginschnittstelle programmieren, pluginschnittstelle cms, php modular programmieren, php system plugin, wie programmiert man plugins in php, plugin system programmieren php -joomla -typo3, java plugin schnittstelle fortgeschritten

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum