Smarty integration in das CodeIgniter-framework
Ein Wenig Hintergrund-Informationen:
Ich habe auf der Suche auf ein paar PHP-framework vor kurzem, und es kam nach zwei. Das Zend-Framework oder CodeIgniter.
Ich lieber CodeIgniter, wegen seiner einfachen Konstruktion. Es ist sehr blank Knochen-es ist nur einfach gehalten. Die Sache, die ich nicht mag, allerdings ist die schwache template-system. Das template-system ist wichtig für mich, weil ich die Zusammenarbeit mit einem anderen designer. Zu können, geben Sie ihm ein gutes template-system ist ein großes plus.
Zend war die zweite Wahl, wegen der besseren template-system, das eingebaut ist. Zend ist ein anderes Tier, obwohl im Vergleich zu CodeIgniter. Es Schwerpunkt "lose Kopplung zwischen Modulen", sondern in einem größeren Rahmen. Ich weiß nicht, wie ich das Gefühl haben, viele Dinge unter der Haube, die ich nie verwenden. Das ist unnötiger Aufwand meiner Meinung nach, so dass ich dachte darum, ein template-system in CodeIgniter: Smarty.
Frage(N): Wie einfach/schwer ist der Prozess zu integrieren Smarty in CodeIgniter? Von meinem ersten scan des CodeIgniter Dokumentation, ich kann sehen, dass das layout der Rahmen ist leicht genug, um zu verstehen, und ich erwarte keine Probleme. Ich möchte wissen, ob jemand verwendet hat, bevor es, und deshalb sind Sie sich bewusst von "Fallstricke", die Sie meinen, haben erfahren, was Los ist, dieses schwerer zu machen, als es sein sollte oder unmöglich zu ziehen. Ich will auch wissen, ob dies eine gute Sache zu tun. Ist das template-system in CodeIgniter genug für den normalen Gebrauch? Gibt es noch andere template-Module, die sind gut für CodeIgniter abgesehen von Smarty? Ich besser mit dem Zend Framework? Ist jedes Rad wird hier erfunden?
- Wie schon andere gesagt haben, z.B. die Zend_View Komponente selbst ist sehr mächtig und extentable [mit Helfern, etc.]. Sie nicht brauchen, Smarty in den mix. Auch Smarty ist sehr schwer PHP4-code, die in der Regel, die Sie vermeiden möchten. Abgesehen davon, mit welchem framework Sie sind komfortabel mit.
- Überprüfen Sie [meine Antwort][1] in einem ähnlichen Thema! [1]: stackoverflow.com/a/10297502/934599
- ich weiß smarty3 geht zu php5 kompatibel und vielleicht php4 ist das nicht genug. Sorry, ich hatte nicht gesehen, dass es ein altes Thema 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sorry wiederauferstehen zu lassen eine alte Frage - aber keine von den Antworten, die gekennzeichnet wurden als "akzeptiert" noch.
Gibt es eine Bibliothek namens "Vorlage", die einen tollen job, so dass Sie gerade ungefähr jedem template parser Sie wollen:
Vorlage CI Library - V1.4.1
Die syntax ist ziemlich einfach, für die Integration in Ihre CI-Anwendung und die smarty integration vor Ort auf.
Leicht OT, hoffe, Sie nichts dagegen haben...
Bin ich ein Zend-Framework-Benutzer, und ich denke, es lohnt sich sagen, dass die lose Kopplung bedeutet, dass Sie nicht brauchen, um alle Dateien, die Sie nicht aktiv verwenden. Hoffentlich wird dieser negiert Ihre Besorgnis über unnötigen Aufwand.
Mit den layouts Sachen Hinzugefügt in einer aktuellen Veröffentlichung von ZF, Ihre templating ist wirklich schwer, Fehler... und es ist komplett steckbar als Favio erwähnt. Je mehr ich von ZF, desto mehr mag ich es; Sie tun Dinge, die Art und Weise ich würde Ihnen!
Habe ich eine schnelle google-Suche und fand das folgende:
http://devcha.blogspot.com/2007/12/smarty-as-template-engine-in-code.html
http://codeigniter.com/forums/viewthread/67127/
Wenn der designer nicht vertraut mit Smarty, ich denke, es ist fast das gleiche, als wenn Sie die vorhandene CodeIgniter Template-system (welches lässt alles zu PHP eigentlich). Es hängt auch von der Komplexität des Projekts bei der hand.
Können Sie auch Haken Smarty Zend Framework. Es ist komplexer als bei CodeIgniter, aber es gibt bereits eine Grundierung auf, wie genau das zu tun, dass in der ZF-Dokumentation. http://framework.zend.com/manual/en/zend.view.scripts.html Plus viele tutorials im Netz.
Meiner Meinung nach, es ist fast die gleiche, die Sie verwenden können, Reine PHP-oder Smarty als Ihre template - "engine", also es hängt von dem Projekt ab. Auch, vergleichen Sie ein Entwickler sind, verfügt über langjährige Erfahrung und hat bereits eine Bibliothek von Helferlein, so Sie verwendet Reine PHP, gegen einen designer, der nicht weiß nichts über PHP, aber hat umfangreiche Erfahrung mit Smarty. Manchmal Entscheidungen werden auf der Grundlage, die tun was.
Schauen Sie sich dieses benutzerdefinierte CodeIgniter Template-Bibliothek. Ich habe bereits verwendet es auf mehrere Projekte und es ist einfach zu bedienen. Ich weiß, dieser post ist spät, aber es lohnt sich.
Wird er nicht angezeigt hat, dass es eine Antwort ausgewählt für diese Frage noch hat ein up-to-date-Lösung gegeben, um die Arbeit mit der neuesten version von Codeigniter (2.0) und die neueste version von Smarty (3.0.5).
Diese Bibliothek ermöglicht die Verwendung von Smarty 3 mit Codeigniter 2.0, so dass Sie verwenden können, Smarty 3 spezifische Leistungsmerkmale wie template-Vererbung.
http://ilikekillnerds.com/2010/11/using-smarty-3-in-codeigniter-2-a-really-tiny-ci-library/
Integration von Smarty in CodeIgniter? Es ist ein Kinderspiel!
Die template-system in CodeIgniter ist sehr basic.
Befolgen Sie diese Schritte für Smarty 3 in CI 3:
Download Von CodeIgniter 3
Download Smarty 3 und setzen Ihren Inhalt in 'application/third_party/smarty" - Ordner
Erstellen 'Custom_smarty.php' Datei in "application/libraries" und fügen diesen code ein:
Erstellen 'Vorlagen' & 'templates_c' Ordner in "application/views" - Ordner
Erstellen von einfachen " test.tpl "- Datei in "application/views/templates" Ordner
Öffnen 'autoload.php" in "application/config" Ordner und fügen Sie hinzu:
Innerhalb einer controller:
$this->custom_smarty->display('test.tpl');
Wenn Sie auf localhost festlegen der Berechtigungen:
sudo chmod -R 777 templates_c
. Otherwhise Kontaktieren Sie Ihren hosting-service, wenn Sie fangen den Fehler Unable to write file. Stellen Sie zunächst sicher templates_c-Ordner vorhanden ist.Andernfalls können Sie eine andere template-engine wie Twig.