CodeIgniter

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
CodeIgniter
Framework
Producent EllisLab, Inc.
System operacyjny Wieloplatformowy
Napisane w PHP
Pierwsze wydanie 28 lutego 2006
Aktualna wersja stabilna 2.1.4 – 8 lipca 2013
Aktualna wersja testowa 3.0-dev
Licencja Open Software License v 3.0
ellislab.com/codeigniter

CodeIgniter - framework napisany w języku PHP przez Ricka Ellisa, implementujący wzorzec Model-View-Controller. Celem projektu jest przygotowanie zestawu narzędzi dla osób, którzy budują aplikacje internetowe za pomocą PHP, aby umożliwić rozwój projektów znacznie szybciej niż pisanie kodu od podstaw, poprzez bogaty zestaw bibliotek dla najczęściej potrzebnych zadań, jak również prosty interfejs i logiczną strukturę dostępu do tych bibliotek. CodeIgniter pozwala twórczo skupić się na projekcie, minimalizując ilość kodu potrzebnego dla danego zadania[1].

Cechy CodeIgnitera[edytuj | edytuj kod]

  • Bazuje na wzorcu projektowym Model-View-Controller,
  • pełna kompatybilność PHP 5.1.6 i nowsze (od wersji 2.0 zrezygnowano ze wsparcia dla PHP 4),
  • bardzo mały rozmiar,
  • wsparcie dla kilku rodzajów baz danych: MySQL (4.1+), PostgreSQL, MS SQL, Oracle, SQLite oraz ODBC,
  • walidacja formularzy i treści,
  • bezpieczeństwo (m.in. filtrowanie wejścia w celu zapobieżenia atakom XSS),
  • zarządzanie sesjami,
  • wsparcie dla kilku protokołów pocztowych (m.in. sendmail, SMTP i Mail),
  • możliwość obróbki zdjęć, za pomocą bibliotek GD, GD2, ImageMagick lub NetPBM.

Lista bibliotek zaimplementowanych w CI[edytuj | edytuj kod]

CodeIgniter ma budowę modułową, a wśród zaimplementowanych klas znajdują się między innymi:

  • Benchmarking – pozwala między innymi sprawdzić takie parametry, jak czas ładowania strony, czy ilość zużytej pamięci RAM.
  • Calendaring – generuje różnego rodzaju kalendarze, które możemy potem umieścić na stronie.
  • Database – zarządzanie bazą (bazami) danych. Liczne ułatwienia, takie jak Active Records pozwalają szybko i w prosty sposób pobierać potrzebne nam dane z bazy. CodeIgniter ponadto potrafi zapisywać w pamięci podręcznej zapytania, co przy dużej ilości unikalnych odwiedzin znacznie odciąża bazę danych i przyśpiesza ładowanie danych.
  • Email – pozwala wysyłać emaile za pomocą takich protokołów jak Mail, Sendmail, czy SMTP. Treść wiadomości może być wysyłana jako zwykły tekst, lub HTML. Ponadto w łatwy sposób można dodawać załączniki, czy wysyłać wiadomości do kilku osób naraz.
  • Encryption – dzięki tej klasie możemy kodować, lub rozkodowywać słowa, zdania, czy nawet całe pliki.
  • File Uploading – obszerna biblioteka pozwalająca wgrywać pliki na serwer z poziomu przeglądarki internetowej. Bardzo obszerna konfiguracja klasy pozwala wręcz dowolnie manipulować ładowanym plikiem.
  • FTP – pozwala nam łączyć się z serwerem FTP i zarządzać plikami na nim umieszczonymi.
  • HTML Table – generowanie tabel HTML. Dzięki tej klasie możemy w prosty sposób np. ustawić kilka zdjęć w kolumnach, czy podzielić tekst na grupy.
  • Image Manipulation – dowolna manipulacja obrazkami – obracanie, skalowanie, zmiana rozmiaru, nakładanie znaków wodnych, dodawanie filtrów, itp. Możemy zmieniać grafikę za pomocą jednej z bibliotek graficznych: GD, GD2, oraz ImageMagick.
  • Input - automatycznie ładowana klasa umożliwiająca korzystanie z danych (POST, GET, cookie i server) a także ich filtrowanie pod kątem ataków XSS.
  • Security - pomaga chronić przed atakami typu XSS, CSRF oraz directory traversal.
  • Loader – służy do wczytywania różnych elementów, np. widoku, modelu, czy wtyczek.
  • Language – pozwala na tworzenie wielojęzycznych serwisów.
  • Output - automatycznie ładowana klasa pomagająca w cache'owaniu, profilowaniu a przede wszystkim służy do wysyłania strony do przeglądarki.
  • Pagination – pozwala na tworzenie automatycznego podziału wyników na strony.
  • Session – upraszcza zarządzanie sesjami.
  • Trackback - klasa wysyłająca i odbierająca komunikaty za pomocą protokołu TrackBack.
  • Template Parser - parsuje stronę w poszukiwaniu pseudo zmiennych np. {blog_title}. Działa na podobnej zasadzie co system szablonów Smarty.
  • Unit Testing - umożliwia przeprowadzenie testów jednostkowych.
  • URI – pozwala odczytać dane przesłane przez użytkownika poprzez adres (URI)
  • User Agent – pozwala odczytać dane przeglądarki użytkownika serwisu (np. wersja).
  • Validation – pomaga w ustaleniu reguł, które musi spełniać formularz HTML (np. określenie maksymalnej długości tekstu).
  • XML-RPC - klasa umożliwia komunikacje za pomocą XML-RPC.
  • Zip Encoding – kompresowanie archiwów ZIP.

Zobacz też[edytuj | edytuj kod]

Literatura[edytuj | edytuj kod]

  • Thomas Myer: Professional CodeIgniter (Wrox Professional Guides). Wrox, 2008, s. 336. ISBN 978-0470282458.
  • Łukasz Sosna: CodeIgniter. Zaawansowane tworzenie stron w PHP. Helion, 2013, s. 272. ISBN 9788324649648.

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]