Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Applied

Realisierung einer PHP-Anwendung mit der Template-Engine Smarty

Title: Realisierung einer PHP-Anwendung mit der Template-Engine Smarty

Bachelor Thesis , 2007 , 55 Pages , Grade: 1,3

Autor:in: Thomas Frietsch (Author)

Computer Science - Applied
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Anhand einer konkreten Anwendung wird der Entwurfsprozess einer Webapplikation unter einer PHP/MySQL-Umgebung dargestellt. Hauptaugenmerk liegt dabei auf die PHP Bibliothek "Smarty", einer OpenSource Templateengine.

Excerpt


Inhaltsverzeichnis

A. Die PHP-Anwendung ""FloriOffice""

1. Grundlagen

1.1 Überblick: Ist-Stand

1.2 Probleme

1.3 Soll-Stand

2. Funktionen

2.1 Personalverwaltung

2.2 Einsatzverwaltung

2.3 Fahrzeuge und Geräte

2.4 Aufwandsentschädigung

2.5 Allgemeine Einstellungen

2.6 Administrationsverwaltung

3. Wunschfunktionen

B. Grundlagen der Webprogrammierung

3. Hypertext Markup Language

3.1 Definition

3.2 Aufbau eines HTML-Dokuments

3.3 Cascading Stylesheets

4. PHP

4.1 Definition

4.2 Der Apache HTTP Webserver

4.3 Aufbau von PHP-Quellcodes

4.4 Leistungsumfang von PHP

4.4.1 Objektorientierung unter PHP

4.5 Funktionsweise von PHP

5. MySQL

5.1 Definition

5.2 Beispiel: Datenbankentwurf und Datenabfrage

5.3 MySQL und PHP

C. Design Templates

6. Allgemeines

6.1 Forderungen an eine Template-Engine

7. Smarty als Template-Engine

7.1 Definition

7.2 Grundlegende Funktionen

7.3 Funktionsweise

D. Entwicklung der PHP-Anwendung

8. Entwicklungsumgebung

8.1 Hardware

8.2 Software

10. Realisierung am Beispiel der Personalverwaltung

10.1 Pflichtenheft

10.2 Modelle

10.2.1 UML-Klassenmodell

10.2.2 ER-Datenbankmodell

10.3 PHP-Programmierung

10.3.1 Headerdateien

10.3.2 Klassendefinition

10.3.3 Programmablauf

10.4 Template Design

10.4.1 Personaldetails

10.4.2 Person löschen

10.4.3 Personalübersicht

10.4.4 Personal hinzufügen

11. Tests

11.1 Funktionstests der Module

11.2 Multi-User Test

E. Abschließende Anmerkungen

12. Entwicklungstand zum jetzigen Zeitpunkt

13. Ausblick

14. Bewertung des Einsatzes von Smarty als Template-Engine

14.1 Smarty und HTML-Editoren

15. Schlusswort

Zielsetzung & Themen

Ziel der Arbeit ist die Konzeption und Realisierung einer Webanwendung namens "FloriOffice", die speziell auf die administrativen Bedürfnisse von Freiwilligen Feuerwehren zugeschnitten ist. Die Forschungsfrage fokussiert sich darauf, wie durch den Einsatz von PHP in Kombination mit der Template-Engine Smarty eine zentral verwaltete, datenbankgestützte Plattform geschaffen werden kann, die Verwaltungsaufwand minimiert und abteilungsübergreifende Datenkonsistenz sicherstellt.

  • Zentrale Verwaltung feuerwehrspezifischer Daten (Personal, Einsätze, Fahrzeuge).
  • Architektur einer Webanwendung basierend auf einem Client-Server-Modell via Internet.
  • Trennung von Programmlogik (PHP) und Design (HTML) durch die Template-Engine Smarty.
  • Implementierung von Sicherheitsmechanismen durch Benutzergruppen und Session-Management.

Auszug aus dem Buch

10.4.1 Personaldetails

Da es sich bei den Personaldetails um ein Popupfenster handelt, sind natürlich die Rumpfdateien an die andere Fenstergröße und weitere Besonderheiten angepasst. Daher wird auch die Datei popup_start.tpl eingefügt. In dieser Datei ist wiederum eine CSS-Datei eingefügt, welche Formatierungsklassen bereitstellt. Eine davon ist current_menue. Alle Abschnitte der Detailansicht beginnen, wie man in dem Screenshot sehen kann, mit der Überschrift des jeweiligen Abschnittes im blauen Balken - in diesem Fall mit der Überschrift "Allgemein".

In die bereits schon existierende Tabelle wird unter der Abschnittsüberschrift eine weitere Tabelle eingefügt. Dies erlaubt eine bessere, übersichtlichere Strukturierung. Jetzt folgen die ersten Smarty Befehle. Wie gesagt, ist das Personenobjekt ein Array. Wie bereits in 10.3.3.1 beschrieben, wird auch bei den Personaldetails, der Einfachheit wegen, ein Array erstellt. Da dieses Array nur ein Element besitzt und wir dieses auch genau anzeigen wollen, müssen wir es explizit ansprechen $Person[0].

Der gewünschte Wert der Personalnummer befindet sich in der Unterklasse Allgemein, welche ebenfalls angegeben werden muss. Es sieht zwar nach viel Schreibarbeit aus, aber da jeder Abschnitt auf die gleiche Unterklasse zugreift, kann man dies durch ein einfaches Copy&Paste-Verfahren vereinfachen.

Zusammenfassung der Kapitel

Grundlagen: Einführung in die Problematik dezentraler Datenhaltung in Freiwilligen Feuerwehren und Definition des Soll-Zustands einer zentralen Webanwendung.

Funktionen: Auflistung der essenziellen Features der Anwendung, darunter Personal- und Einsatzverwaltung sowie Anforderungen an die Administration.

Hypertext Markup Language: Vermittlung technischer Grundlagen zu HTML und Cascading Stylesheets als Basis für den Webauftritt.

PHP: Erläuterung der serverseitigen Skriptsprache PHP, ihrer Funktionsweise und der Integration in Webserver-Umgebungen.

MySQL: Beschreibung des relationalen Datenbankmanagementsystems MySQL und dessen Anbindung mittels PHP.

Allgemeines: Theoretische Begründung für den Einsatz von Template-Engines zur Trennung von Programmier- und Designlogik.

Smarty als Template-Engine: Technische Details zur Implementierung und Funktionsweise der spezifischen Bibliothek Smarty.

Entwicklungsumgebung: Darstellung der für das Projekt verwendeten Hard- und Softwarekomponenten.

Realisierung am Beispiel der Personalverwaltung: Detaillierte Dokumentation des Implementierungsprozesses, der Klassenmodellierung, des Pflichtenhefts und der Programmabläufe.

Tests: Validierung der entwickelten Module durch Funktionstests und einen Multi-User-Test in einer LAN-Umgebung.

Entwicklungstand zum jetzigen Zeitpunkt: Übersicht über den erreichten Funktionsumfang der Anwendung.

Ausblick: Zukunftspläne bezüglich der Servereinrichtung für Internetzugriff und geplante Erweiterungen der Anwendung.

Bewertung des Einsatzes von Smarty als Template-Engine: Kritische Reflexion der Vor- und Nachteile von Smarty bei der Arbeit mit Objekten und in professionellen Hosting-Umgebungen.

Schlusswort: Danksagung an Kooperationspartner und Betreuer.

Schlüsselwörter

PHP, Smarty, Webanwendung, Feuerwehr, Personalverwaltung, MySQL, Datenbank, HTML, Template-Engine, Objektorientierung, Session-Management, Software-Entwicklung, Webprogrammierung, Client-Server, IT-Infrastruktur

Häufig gestellte Fragen

Worum geht es in dieser Bachelor-Thesis grundsätzlich?

Die Arbeit befasst sich mit der Entwicklung einer Webanwendung namens "FloriOffice", die speziell auf die Verwaltungsaufgaben von Freiwilligen Feuerwehren ausgelegt ist.

Welche zentralen Themenfelder behandelt die Arbeit?

Die Hauptfelder sind Webentwicklung mit PHP und MySQL, die Modellierung von Datenstrukturen für eine Personalverwaltung sowie der Einsatz von Template-Engines zur effizienten Trennung von Logik und Design.

Was ist das primäre Ziel des Softwareprojekts?

Ziel ist es, eine zentral erreichbare Software zu schaffen, die den hohen Verwaltungsaufwand bei dezentral strukturierten Feuerwehren durch eine einheitliche Datenbasis und Browser-basierte Bedienung reduziert.

Welche wissenschaftlichen Methoden kommen bei der Realisierung zum Einsatz?

Es werden klassische Methoden des Software-Engineerings verwendet, darunter die Erstellung eines Pflichtenhefts, die Modellierung mittels UML (Klassenmodelle) und ER-Diagrammen sowie die Durchführung von Funktionstests.

Was wird im umfangreichen Hauptteil der Arbeit detailliert behandelt?

Der Hauptteil dokumentiert den gesamten Entwicklungspfad: Von der Modellierung der Datenbank und Klassen, über den PHP-Programmablauf und das Template-Design, bis hin zur konkreten Implementierung der Personalverwaltung.

Welche Schlagworte charakterisieren das Projekt am besten?

Die wichtigsten Schlagworte sind "FloriOffice", "Template-Engine Smarty", "PHP-Webanwendung", "Feuerwehr-Administration" und "Datenbankbasierte Personalverwaltung".

Welche Rolle spielt die Template-Engine Smarty in der Anwendung?

Smarty dient dazu, den PHP-Code strikt vom HTML-Design zu trennen, was die Wartbarkeit des Codes erhöht und es ermöglicht, dass Designer ohne tiefgehende Programmierkenntnisse am Layout arbeiten können.

Warum ist eine sessionbasierte Benutzerverwaltung für diese Anwendung wichtig?

Sie dient als Sicherheitsmechanismus, um den Zugriff auf Personaldaten zu beschränken und sicherzustellen, dass Benutzer nur innerhalb der für ihre Rolle vorgesehenen Berechtigungen agieren können.

Wie wurde die Datensicherheit bei der Personallöschung gelöst?

Es wurde ein zweistufiges Verfahren via HTML-Formular implementiert, das eine explizite Bestätigung des Löschvorgangs erfordert, um Datenverluste durch versehentliche Klicks zu verhindern.

Was sind die wichtigsten Erkenntnisse aus dem Fazit zur Template-Engine?

Smarty wird zwar als Arbeitserleichterung für große Projekte empfohlen, jedoch wird kritisch angemerkt, dass die Installation bei vielen kommerziellen Hosting-Providern aufgrund fehlender Zugriffsrechte problematisch sein kann.

Excerpt out of 55 pages  - scroll top

Details

Title
Realisierung einer PHP-Anwendung mit der Template-Engine Smarty
College
University of Applied Sciences Offenburg
Grade
1,3
Author
Thomas Frietsch (Author)
Publication Year
2007
Pages
55
Catalog Number
V145564
ISBN (eBook)
9783640569397
ISBN (Book)
9783640570355
Language
German
Tags
PHP Smarty MySQL Softwareentwicklung Webanwendung Webapplikation Template HTML CSS
Product Safety
GRIN Publishing GmbH
Quote paper
Thomas Frietsch (Author), 2007, Realisierung einer PHP-Anwendung mit der Template-Engine Smarty, Munich, GRIN Verlag, https://www.grin.com/document/145564
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  55  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint