| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer | Die Idee hatten schon viele und eigentlich sind alle kläglich daran gescheitert (mal ausgenommen Facebook). Ein Pluginsystem schreiben ist eine Sache für sich. Natürlich müsstest du die Möglichkeit haben in den bestehenden Programmcode einzugreifen und Dinge einzeln zu manipulieren. Die Abfolge der einzelnen Packages kannst du meiner Meinung nach nur richtig über die Datenbank verwalten. Welche Datenbank du dafür verwendest ist deine Sache. Hier mal ein kleiner Ideenansatz auf Grund dieser Datenbank: Code: DROP TABLE IF EXISTS `plugins`;
CREATE TABLE IF NOT EXISTS `plugins` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`series` int(11) NOT NULL,
`flow` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`folder` varchar(25) NOT NULL,
`status` enum('activated','inactive') NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `series_flow` (`series`,`flow`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Tweets_Facebook - Twitter schreibt einträge auf Twitter. - Tweets_Facebook kümmert sich daraum, dass Einträge die auf Twitter geschrieben werden auch auf Facebook erscheinen. Jetzt soll praktischer Weise das ganze mit Abhängigkeiten laufen. Tweets_Facebook darf nicht initialisiert sein bevor es Twitter gibt. Das bedeutet man Teilt beiden Komponenten die Series 1 zu (für Package 1). Und als Ablauf würde man 1 sowie 2 deklarieren. So: Code: INSERT INTO `plugins` (`id`, `series`, `flow`, `name`, `folder`, `status`, `created`) VALUES
('1', '1', '1', 'Twitter', 'twitter', 'activated', '2010-03-08 15:34:01'),
('2', '1', '2', 'Tweets Facebook', 'tweets_facebook', 'activated', '2010-03-08 15:34:19');
__________________ true||false - www.trueorfalse.de - Rund um Software Entwicklung |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 21.12.2009
Beiträge: 379
PHP-Kenntnisse: Fortgeschritten ![]() | Zitat:
-> WBBLite / WBB -> PunBB Um nur mal ein paar Beispiele für Plugin-Systeme zu nennen. Oft behilft man sich mit fest definierten Hooks, an denen sich die Plugins registrieren. Abhängigkeitern kann dann eben ein Plugin-Manager auflösen, der auch darüber wacht, dass keine Loops entstehen können (was man ja bei der Programmierung schon beachten muss).
__________________ actra.development - Schwabstr. 2 - 70825 Münchingen www.actra.de/velopment/ - eMail: php.de@actra.de Zend Certified Engineer for PHP5 | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 21.12.2009
Beiträge: 379
PHP-Kenntnisse: Fortgeschritten ![]() | Extrem vereinfacht: PHP-Code: Sorry, ist mir einfach grad zu lang um das alles zu erklären, such dich hier durch's Forum und schau dir diverse Plugin-Systeme an, Beispiele habe ich ja bereits genannt.
__________________ actra.development - Schwabstr. 2 - 70825 Münchingen www.actra.de/velopment/ - eMail: php.de@actra.de Zend Certified Engineer for PHP5 |
| | |
| | |
| Moderator und Wett-König | Wie oft hatten wir das im Software-Design-Forum schon diskutiert? 5x, 10x? Bitte mal die Foren-Suche nutzen!
__________________ 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! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| | |
| | ||
| Erfahrener Benutzer | Zitat:
Hier ein paar Resultate: http://www.php.de/software-design/62...-struktur.html (Integration eines Pluginsystems in einer HMVC Struktur) http://www.php.de/software-design/60...rd-system.html (Plugin-Schnittstelle für Board-System)
__________________ true||false - www.trueorfalse.de - Rund um Software Entwicklung | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 21.12.2009
Beiträge: 379
PHP-Kenntnisse: Fortgeschritten ![]() | Hab ich das irgendwo sauber genannt? Ich finde nur derartige Pauschalaussagen (alle dran gescheitert außer Facebook) mehr als daneben. Im Übrigen - wie schließt du aus spontanen Gedankengängen auf die von mir produzierte Code-Qualität? Es gibt neben true und false manchmal auch noch ein vielleicht
__________________ actra.development - Schwabstr. 2 - 70825 Münchingen www.actra.de/velopment/ - eMail: php.de@actra.de Zend Certified Engineer for PHP5 |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ä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 |