CodeIgniter i Ajax
Jestem wielbicielem prostoty i porządku dlatego uwielbiam framework CodeIgniter. Lubię także jak wszystko jest ze sobą spasowane, wszystkie komponenty idealnie stosują się do konwencji danego rozwiązania no i oczywiście uwielbiam wręcz jak wszystko działa tak jak powinno. Dlatego dość często integrując CI z Ajax'em stosuję bibliotekę prototype. Samo używanie prototype nie byłoby w CI przyjemnością, gdyby nie specjalnie zaprojektowana dla CI bilbioteka Projax, która jest łącznikiem międy PHP i JavaScript. Przedstawię tutaj najkrótszą wersję instalacji biblioteki (library) Projax.
Pierwszym krokiem będzie ściągnięcie i rozpakowanie Projax'a.
wget http://www.ngcoders.com/projax/projax_0.2.zip
unzip -d /tmp projax_0.2.zip
Następnie musimy umieścić odpowiednie pliki w odpowiednich miejscach naszego projektu budowanego na frameworku CI. Jak już wcześniej wspomniałem jestem zwolennikiem porządku w kodzie i strukturze folderów, dlatego lubię mieć wszystko poukładane w projekcie. Dla plików JavaScript w głównym katalogu naszego projektu stwórzmy folder o nazwie "js".
mkdir js
Teraz umieszczamy w nim wszystkie pliki JS z folderu gdzie rozpakowaliśmy projax'a.
cp /tmp/projax/js/* js
Następnie tworzymy folder dla klas projax'a w folderze "application/libraries" i kopiujemy do niego pliki klas.
mkdir application/library/projax
cp /tmp/projax/classes/* application/libraries/projax
Do folderu "application/libraries" kopiujemy jeszcze jeden plik zmieniając nieco jego nazwę, żeby dostosować się do konwencji nazewnictwa CI.
cp /tmp/projax/projax.php application/libraries/Projax.php
Ostatnim krokiem procesu instalacji jest modyfikacja ścieżek w pliku "application/libraries/Projax.php":
- /**
- * Projax
- *
- * An open source set of php helper classes for prototype and script.aculo.us.
- *
- * @package Projax
- * @author Vikas Patial
- * @copyright Copyright (c) 2006, ngcoders.
- * @license http://www.gnu.org/copyleft/gpl.html
- * @link http://www.ngcoders.com
- * @since Version 0.2
- * @filesource
- */
- include("projax/JavaScript.php");
- include("projax/Prototype.php");
- include("projax/Scriptaculous.php");
- // For $projax = new Projax();
- class Projax extends Scriptaculous{
- }
I to koniec instalacji, teraz już możemy używać wszystkich dobrodziejstw JavaScript'owego frameworka Prototype za pomocą bilbiotek Projax.
