CodeIgniter

CodeIgniter to framework, napisany w języku PHP, implementujący wzorzec MVC. Jego głównym celem jest przygotowanie narzędzia dla użytkowników, którzy budują swoje aplikacje właśnie za pomocą języka PHP. Framework ten umożliwia rozwój projektów w znacznie szybszym czasie niż pisane samego kodu od podstaw dzięki bogatej bazie bibliotek.

Możemy między innymi wymienić takie biblioteki jak:

  • Output (automatycznie ładowana klasa, która pomaga w cache'owaniu czy profilowaniu ale i wysyłaniu strony do przeglądarki)
  • Security (pomaga chronić przed atakami)
  • FTP (pozwala łączyć się z serwerami FTP oraz zarządzać umieszczonymi na nich plikami)
  • Benchmarking (pozwala sprawdzić różne parametry np. ilość zużytej pamięci RAM czy czas ładowania strony)
  • Session (upraszcza proces zarządzania sesjami)
  • Validation (pomaga w ustaleniu reguł, które musi spełniać formularz HTML)
  • Trackback (klasa wysyłająca i odbierająca komunikaty za pomocą protokołu TrackBack)
  • HTML Table (generowanie tabel HTML)
  • Pagination (pozwala na tworzenie automatycznego podziału wyników na stony)
  • URl (pozwala odczytać dane przesłane przez użytkownika poprzed adres [URl- Uniform Resource Identifier]).

Framework CodeIgniter jest skierowany do osób, które oczekują od narzędzia wyjątkowej wydajności przy jednoczesnym wyeliminowaniu złożoności frameworka. Są to przede wszystkim proste rozwiązania, nie wymagające restrykcyjnego stylu kodowania ani operacji z linii poleceń. Wynikiem tego jest możliwość twórczego skupienia się na samym projekcie, minimalizując ilość kodu potrzebnego dla danego zadania. Framework nie wymaga żadnej specjalnej konfiguracji i dodatkowo charakteryzuje się przejrzystą dokumentacją. Oprócz tego jest kompatybilny ze standardowymi kontami hostingowymi operującymi z różnymi wersjami PHP.

Cechy, które charateryzują ten framework to przede wszystkim:

  • wsparcie dla kilku rodzajów baz danych, między innymi dla: MS SQL (Microsoft SQL Server), MySQL, Oracle, SQLite, PostgreSQL czy ODBC (Open DataBase Connectivity)
  • walidacja formularzy oraz wszelkich treści
  • bezpieczeństwo (np. filtrowanie wejścia w celu zapobieżenia atakom XSS- Cross-site scripting czyli sposób ataki polegający na osadzeniu w treści atakowanej strony kodu, który może doprowadzić do wykonania niepożądanych akcji)
  • zarządzanie sesjami
  • bardzo mały rozmiar
  • pełna kompatybilność PHP 5.1.6 oraz nowsze
  • możliwość obróbki zdjęć za pośrednictwem bibliotek NetPBM, ImageMagick, GD czy GD2
  • bazuje na wzorcu projektowym MVC (Model-View-Control).

Przykładowy kod w CodeIgniter

CodeIgniter Przykład #1

  <?php
  public function get_news($id) {
    if($id != FALSE) {
      $query = $this->db->get_where('news', array('id' => $id));
      return $query->row_array();
    }
    else {
      return FALSE;
    }
  }
  ?>
  
CodeIgniter Przykład #2

  <?php
  $sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
  $this->db->query($sql);
  echo $this->db->affected_rows();
  ?>