Webseiten neu strukturieren

Anmerkungen, Fragen und Hinweise zur Konfiguration dürfen in diesem Forum gepostet werden. // Notes, questions, and hints on the configuration can be posted here.
Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Webseiten neu strukturieren

Beitrag von jwlighting » 16.07.2012, 15:36:39

Nun kommt noch der Kontext dahinter. Der Kontext hat den Sinn, dass du innerhalb einer Anwendung ein Modul mehrfach, mit verschiedenen Konfigurationen, betreiben kannst. Der Pfad lautet nun apps/config/main/{CONTEXT}, wenn du den Kontext nicht bspw. mit $this->setContext() angepasst hast also apps/config/main/DEFAULT
Wenn du als Dateiname nun 'config.ini' angibst, dann entsteht daraus der Dateiname {ENVIRONMENT}_config.ini. Das Environment hat einen ähnlichen Zweck wie der Kontext, damit kannst du z.B. mehrere Webseiten mit einer APF-Installation betreiben. Auch das Environment ist per Default DEFAULT.
-> apps/config/fanpage/DEFAULT/DEFAULT_config.ini

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Ralf2011

Re: Webseiten neu strukturieren

Beitrag von Ralf2011 » 16.07.2012, 15:43:38

Also mal ehrlich das mit DEFAULT schnall ich echt ne...ist mir grad echt zuhoch...

Wieso nicht einfach nur den Pfadangeben und fertig ohne irgendwas hin und her...

entweder bin ich echt zu dumm oder ADF ist einfach nichts für mich :cry:

Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

Re: Webseiten neu strukturieren

Beitrag von jwlighting » 16.07.2012, 15:52:57

Wieso nicht einfach nur den Pfadangeben und fertig ohne irgendwas hin und her...
Das hat halt den Hintergrund, dass es ne ganze Menge Konzepte rund um das APF gibt, eins davon ist beispielsweise der Kontext. Das kann man für den Anfang aber einfach so hinnehmen, getreu dem Motto "Ist halt so". Wenn du weisst, das du Kontext und Environment im Pfad/Dateinamen mit drin hast, reicht das schon.

LG :)

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Ralf2011

Re: Webseiten neu strukturieren

Beitrag von Ralf2011 » 16.07.2012, 16:20:37

Ja aber wenn ich doch den Pfad angebe und den Dateinamen auch wieso dann default?

Also wenn ich net mal das schnalle dann lasse ich es glaub am besten mit nem framework...

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Webseiten neu strukturieren

Beitrag von dave » 16.07.2012, 16:29:41

Mal ein paar Erläuterungen, Wieso gewisse Sachen sind, wie sie halt sind.

Das APF (nicht ADF) ist ein Framework, welches dem Entwickler bei der Erstellung einer oder mehrere Applikationen behilflich sein soll.

Um das Framework mehrfach einsetzen zu können, gibt es den Kontext sowie das Environment. Was hast du als Entwickler davon? Du benötigst nur einmal das APF mit seinen Quelldateien und kannst daraus verschiedene Ápplikationen (Webseiten) erstellen.

Hier mal ein Beispiel:
Du besitzt im Internet einen Webserver, auf welchem du das APF "installiert" hast. (Eine Installation ist glücklicherweise nicht nötig. Dateien rüber kopieren, fertig ;))
Über dein Administrator-Interface bestellst du zwei Domains qwertz.tld und leet.tld. Die Adresse qwertz beschäftigt sich nur mit dem Thema "qwertz" und die Adresse leet beschäftigt sich nur mit "leet".
Da du das APF einsetzt, kannst du beide Webseiten über eine "Installation" des APF betrieben.

Wie?
Folgende Ordnerstruktur sei gegeben:

Code: Alles auswählen

apps/sites/
           - qwertz
           - leet
in welchen nun jeweils die Dateien für Inhalte und Layout sowie Logik (Documentcontroller) enthaltren sind.

Deine Domain qwertz.tld verweist auf die qwertz.php und
deine Domain leet.tldverweist auf die leet.php
welche beide im Hauptverzeichnis liegen.

Über diese beiden Dateien kannst du nun deine Bootstrap-Dateien erstellen, welche so aussehen könnten:

qwertz.php

Code: Alles auswählen

// Page-Controller einbinden
require_once('./apps/core/pagecontroller/pagecontroller.php');
import('core::frontcontroller', 'Frontcontroller');

header('Content-Type: text/html; charset=utf-8');
Registry::register('apf::core', 'Charset', 'UTF-8');

// Seite erzeugen
$fC = &Singleton::getInstance('Frontcontroller');
$fC->setContext('qwertz');

// Seite transformieren und ausgeben
echo $fC->start('sites::qwertz::pres::templates', 'qwertz_startpage'); 
leet.php

Code: Alles auswählen

// Page-Controller einbinden
require_once('./apps/core/pagecontroller/pagecontroller.php');
import('core::frontcontroller', 'Frontcontroller');

header('Content-Type: text/html; charset=utf-8');
Registry::register('apf::core', 'Charset', 'UTF-8');

// Seite erzeugen
$fC = &Singleton::getInstance('Frontcontroller');
$fC->setContext('leet');

// Seite transformieren und ausgeben
echo $fC->start('sites::leet::pres::templates', 'leet_startpage'); 
Und nun?
Nun kannst du alle Konfigurationen für deine Einzelprojekte strukturiert an einer Stelle unter apps/config ablegen, durch den Kontext getrennt.

Ein Beispiel um an eine Config config.ini für den Kontext ("Projekt") qwertz zu gelangen, könnte so aussehen:

Code: Alles auswählen

$meineKonfiguration = $this->getConfiguration('qwertz', 'config.ini'); 
Nehmen wir an, deine Config sieht so aus:

Code: Alles auswählen

[urls]
tf.baseurl = "http://www.meineurl.de/"
und liegt unter apps/config/qwertz/DEFAULT_config.ini

könntest du so an die Sektion "urls" und die "tf.baseurl" gelangen:

Code: Alles auswählen

$baseURL = $meineKonfiguration->getSection('urls')->getValue('tf.baseurl')  
Stichpunkt ist hier ganz eindeutig die Wiederverwendbarkeit. Nur weil ich ein neues Projekt starte, möchte ich nicht mit dem Urschlaeim anfangen und das Framework neu aufsetzen. Das ist bereits vorhanden, läuft mit einem anderen Projekt und ich kann das neue Projekt sehr schenll parallel entwickeln.

Übrigens mache ich das Beschriebene bei mir so in ähnlicher Weise!

Hinweis: Alle Codes ungetestet!

Frohes Gelingen!
Und nicht wundern, wenn manche Antworten etwas verwirrend klingen und mehr Fragen aufwerfen als Antworten zu liefern. Da hilft nur: Lesen, lesen, lesen. Das Programmieren und Lesen kann dir keiner Abnehmen, wir können dir nur Wege aufzeigen, bzw. dich auf bestimmte Dinge hinweisen. Die Dokumentation ist an gewissen Stellen auch nicht die aller aktuellste aber wir sind stehts bemüht, die uns bekannten oder gemeldeten Punkte zu verbessern. Bleib am Ball und gib nicht auf. Vor zwei Jahren war das bei mir übrigens auch so. Da habe ich mich auch vielmals gewundert, warum das nun so ist, wie es ist. Anfangs lebt es sich einfacher, es einfach so hin zu nehmen. Später wirst du aber selbst den Code etwas erforschen und dann werden bestimmte Dinge klarer.
Jetzt aufgeben wäre übrgigens sehr Scade, denn das APF ist wirklich eines der besten Frameworks, die ich kenne. Ich bin äusserst froh darüber, dieses Framework "gefunden" zu haben. Ausserdem ist der Support hervorragend und du hast alle Freiheiten, deine Ideen und Verbesserungen direkt einfliessen zu lassen. Wo gibts sowas schon!?

WooHaa, ich bin seit zwei Jahren APF´ler :ugeek:

Ralf2011

Re: Webseiten neu strukturieren

Beitrag von Ralf2011 » 16.07.2012, 17:51:02

Ah Moment...mann müsste halt auch mal die fehler Seite ein wenig scrollen ^^

dieser Code

Code: Alles auswählen

  $config = $this->getConfiguration('fanpage', 'config.ini'); 
erzeugt folgendes

Code: Alles auswählen

Type:
    ConfigurationException 
Message:
    [IniConfigurationProvider::loadConfiguration()] Configuration with namespace "fanpage", context "fanpage", language "de", environment "DEFAULT", and name "config.ini" cannot be loaded (file name: /meinpfad/apps/config/fanpage/fanpage/DEFAULT_config.ini)! 
wenn ich nun jedoch

Code: Alles auswählen

  $config = $this->getConfiguration('', 'config.ini'); 
anwende zieht es mir alles richtig und es läuft.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Webseiten neu strukturieren

Beitrag von Megger » 16.07.2012, 18:07:39

Deswegen habe ich ja nach Fehlermeldungen gefragt und ich war mir auch sicher, dass eine entsprechende Fehlermeldung angezeigt wird!

In der Fehlermeldung siehst du halt schön, wie sich der Pfad zusammensetzt! Wenn du allerdings eine Datei unter /apps/config/config.ini liegen hast und diese mit deinem Code abrufst, dass kann nicht sein!
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Webseiten neu strukturieren

Beitrag von dave » 16.07.2012, 18:10:31

Hmm, ich habe das Gefühl, Ralf liest gar nicht alles bzw. nur oberflächlich und versteht es nicht. Schade. Denn es wurden nun schon mehrfach richtige Ansätze gezeigt und diese finden keine Anwendung.

Ralf2011

Re: Webseiten neu strukturieren

Beitrag von Ralf2011 » 16.07.2012, 18:17:30

dave hat geschrieben:Hmm, ich habe das Gefühl, Ralf liest gar nicht alles bzw. nur oberflächlich und versteht es nicht. Schade. Denn es wurden nun schon mehrfach richtige Ansätze gezeigt und diese finden keine Anwendung.
Ja ich versteh das auch mit der config datei nicht, da bin ich auch ehrlich. Deswegen hatte ich ja auch mal geschrieben das es mir ja lieb wäre einfach eine config.php zuhaben wo man sich die variablen rausholen kann bzw gewisse pfade einfahc definiert und gut ist und nicht mit ini oder xml...

ich hab halt für meien Seiten immer einen extra, ich sage mal server, wo ich dieses "mit apf kann man mehrere seiten verwalten" nicht brauche da es auf jeden "server" extra bräuchte...(ist halt vom hoster so)

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Webseiten neu strukturieren

Beitrag von dave » 16.07.2012, 22:17:46

Ok, in dem Fall kann ich empefhelen, Schritt für Schritt die Funktionen des APF zu entdekcen und zu verwenden. Fange ganz langsam an, baue deine Seite auf und optimiere anschliessend. Bald wirst du die Vorteile erkennen und sehen, wie leicht es geht :) Ich habe auch ganz langsam angefangen und war froh, überhaupt erstmal Inhalte darstellen zu können. Alles andere kommt Schritt für Schritt. Du bist auf einem guten Weg!

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Webseiten neu strukturieren

Beitrag von Megger » 16.07.2012, 22:50:54

Wir kennen das! Am Anfang ist es eigentlich immer das "Wofür? Das brauche ich nicht! Viel zu kompliziert! Aber das "reindenken" lohnt sich! Ich benutze zum Beispiel mehrere Server bei denen sich der apps Ordner synchronisiert, sodass ich mich um verschiedene APF Versionen keine Gedanken machen muss, auch wenn ich mehrere Server habe
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Benutzeravatar
dr.e.
Administrator
Beiträge: 4555
Registriert: 04.11.2007, 16:13:53

Re: Webseiten neu strukturieren

Beitrag von dr.e. » 16.07.2012, 23:42:06

Hallo Ralf,

auch von meiner Seite: lass dich bitte nicht abschrecken, die Jungs helfen dir super weiter. Auch wenn die ersten Schritte schwer fallen, verliere nicht den Mut in 2-3 Wochen - da bin ich mir sicher - hast du die Konzepte verstanden und bist glücklich, dass du sie so anwenden kannst.

Was deine aktuelle Anwendung angeht, so nutze einfach mal dave's index.php und prüfe auf der Stack-Seite welchen Pfad das APF - bzw. genauer der ConfigurationManager - erwartet hätte. Dann korrigiere den Pfad und schon wird's laufen. Sollte es dann immer noch nicht klappen, kann dir sicher einer der Jungs weiterhelfen. Ist dann der Knoten immer noch nicht geplatzt hilft sicher einen Teamviewser Session. OK? ;)
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast