php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.11.2010, 21:24  
Erfahrener Benutzer
 
Benutzerbild von ph|L
 
Registriert seit: 14.08.2008
Beiträge: 159
PHP-Kenntnisse:
Fortgeschritten
ph|L befindet sich auf einem aufstrebenden Ast
Standard Codeigniter - ein paar Fragen

Hallo Community,

ich nutze in meinem neusten Projekt das MVC-Framework Codeigniter.

Prinzipiell habe ich verstanden wie es funktioniert und es ist relativ einfach mit den Libarys und Helpern umzugehen.

Ich habe nur ein Problem bei der genauen Umsetzung meines Projektes.

Ich habe ein Controller (class Start extends Controller), der mein Default Controller ist und bei Aufruf der Seite zuerst geladen wird.

In diesem Controller mache ich, zurzeit, nichts anderes als das Template über

PHP-Code:
$this->load->view('main/index_view'); 
zu laden.

Es geht mir speziell darum, wie ich z.b (ich nenne Sie mal "Module") in ein MVC-Framework einbaue.

Beispiel:

Code:
<html>
<head>
<title>Titel der Seite</title>
</head>
<body>
Lorem Ipsum Dolore Sit Amet.Lorem Ipsum Dolore Sit Amet.Lorem Ipsum Dolore Sit Amet.Lorem Ipsum Dolore Sit Amet.Lorem Ipsum Dolore Sit Amet.

(MODUL_LETZEN_10_EINTRÄGE)
</body>
</html>
Das Modul liesst im Prinzip die letzten 10 Einträge aus der Datenbank(inhalt irrelevant).

Die Querys befinden sich im Model Start_model, verarbeitet werden diese Inhalte im Controller Start und wird im Anschluss an das view main/index_view.php übergeben.

Soweit so gut.

Das Problem ist, dass sich das Modul, ja nur in dem Controller Start befindet.

Wie kann ich Elemente programmieren, und diese in meine Views einbauen damit diese auf jeder Seite des Projekte sichtbar sind.

Sobald ich nämlich die Seite http://www.example.com/pages/eine_seite/ aufrufe, wird dieses Modul nicht mehr ausgegeben. Ausser ich kopiere den Quelltext des Moduls auch in den Controller pages.(Dass aber totaler Schwachsinn ist.)

Meine Frage: Wie löst das Problem, wenn Elemente Controller/Seitenübergreifend agieren bzw vorhanden sein sollen?

Über Plugins?

Würde mich über eine Antwort euerseits freuen.

Grüße,
ph|L
ph|L ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.11.2010, 12:17  
Neuer Benutzer
 
Registriert seit: 03.11.2010
Beiträge: 17
PHP-Kenntnisse:
Anfänger
Altrea befindet sich auf einem aufstrebenden Ast
Standard

Okay, fangen wir bei dem leichtesten an, der Anzeige. Deiner View kannst du ein Array aus Datensätzen mitgeben, die du dann einfach in der view in einer übersichtlichen Schleife ausgibst.

Die Abfrage der letzten 10 Datensätze geschieht in einer Funktion des zugehörigen Models. Wenn du Datensätze zu irgendwas hast, wirst du saubererweise auch ein passendes Model dazu schreiben wollen, das die Datenbankkommunikation übernimmt. Beispiel: Hälst du Produkte in deiner Datenbank vor, bau ein product Model wo eine der Funktionen die von dir benötigten Datensätze aus der Datenbank holt.

Im Controler würde ich dafür sorgen, dass die nötigen Daten aus dem Model angefordert werden, unter Umständen passend aufbereitet werden und ans View übergeben werden. Aber wie immer im Leben gibt es auch im Softwaredesign viele Wege die zum Ziel führen.
Altrea ist offline   Mit Zitat antworten
Alt 10.11.2010, 12:27  
Erfahrener Benutzer
 
Benutzerbild von ph|L
 
Registriert seit: 14.08.2008
Beiträge: 159
PHP-Kenntnisse:
Fortgeschritten
ph|L befindet sich auf einem aufstrebenden Ast
Standard

Hallo Altrea,

du hast soeben das MVC Prinzip dargestellt - das habe ich auch verstanden.

Es geht mir darum, wie ich bestimmte Elemente (wie kleine Module, Login-Boxen) auf jeder Seite ausgebe, ohne diese in jedem Controller als Methode hinzufüge.
ph|L ist offline   Mit Zitat antworten
Alt 10.11.2010, 13:38  
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

Du kannst hier mit Plugins oder mit View-Helpern lösen. Sofern du die Möglichkeit haben möchtest, solche Elemente in einem "Layout" auslagern möchtest, bist du bei CI falsch. Hier empfehle ich dir ein MVC-Framework das Layouts kann (Zend, CakePHP) oder ein HMVC-Framework (APF), das echtes hirarchisches Templating haben in dem du in einem Basis-Templates immerzu angezeigte Elemente eingebunden werden.
__________________
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 15.11.2010, 16:09  
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

Hallo ph|L,

hast du einen Weg gefunden, deine Aufgabenstellung zu lösen?
__________________
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 15.11.2010, 16:23  
Erfahrener Benutzer
 
Benutzerbild von ph|L
 
Registriert seit: 14.08.2008
Beiträge: 159
PHP-Kenntnisse:
Fortgeschritten
ph|L befindet sich auf einem aufstrebenden Ast
Standard

Hallo Dr.e,

tut mir Leid - normalerweise stelle ich meinen Lösungswegs immer bereit

Der Lösungsweg ist wie folgt:

Um bestimmte Funktionen auf jeder Seite ausführen zu lassen habe ich mir einen neuen Controller erstellt der vom Standard Controller alle Funktionen vererbt.

In diesem neuen Controller stelle ich meine Funktionen bereit die ich auf jeder Seite ausführen lassen möchte und rufe diese im Konstruktor auf.

Meine Controller erben von meinem neuen angelegten Controller (z.B. MY_Controller).

Ein Link zum nachlesen und selbst nach bauen:
http://blog.favrik.com/2009/06/25/a-...r-codeigniter/

Danke euch allen und schönen Abend.
ph|L 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
paar fragen kerstel PHP Tipps 2010 22 08.05.2010 21:50
Paar Fragen zum GB Tutorial Q-Meax PHP Tipps 2009 1 08.12.2009 17:34
Jemand erfahrung mit CodeIgniter? brian johnson Off-Topic Diskussionen 21 24.09.2009 14:52
ein paar Fragen (wegen eines Loginhistory) Ninos PHP Tipps 2009 5 04.04.2009 14:59
AJAX-Anfänger hat ein paar Fragen... BartTheDevil89 JavaScript, Ajax und mehr 13 08.02.2009 10:07
Anfänger und Mysql... Paar Fragen! Finaldragon PHP Tipps 2008 40 03.05.2008 10:28
Ein paar Fragen robydog PHP Tipps 2008 7 23.04.2008 11:45
[Lizenz] Codeigniter Matthiasnet Off-Topic Diskussionen 2 02.01.2008 19:43
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
ein paar fragen! PHP Tipps 2004-2 18 16.11.2004 12:59
Ein Paar Fragen PHP Tipps 2004-2 6 10.11.2004 19:21
[Erledigt] Lamp unter Suse 9.1 / Paar Fragen! Server, Hosting und Workstations 2 21.08.2004 22:53
[Erledigt] Fragen über Fragen... wer kann helfen? PHP Tipps 2004 2 08.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
codeigniter tutorial deutsch, funktion aufrufen codeigniter, codeigniter controller daten, funktion aufrufen in codeigniter, codeignitter in jeder funktion model laden, function im view aufrufen und ausgeben code ignitor, codeigniter funktion in view aufrufen, codeigniter funktionsaufruf, codeigniter boxen, function aufrufen codeigniter, codeigniter arbeiten mit codeigniter, codeigniter findet controller nicht, codeigniter einen datensatz abrufen, codeigniter modul verzeichnis auslagern, codeigniter funktion auf jeder seite, codeigniter nur ein datensatz, codeigniter daten in jeder view anzeigen, codeigniter tutorial login, codeigniter nur einen datensatz abrufen, codelgniter deutsch anleitung

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:14 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