[go: nahoru, domu]

Przejdź do zawartości

CodeIgniter: Różnice pomiędzy wersjami

Z Wikipedii, wolnej encyklopedii
[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
→‎Literatura: Dodałem nową książkę na temat najnowszej wersji CodeIgnitera
WP:SK+ToS+mSI+Bn, nr wersji z WD
 
(Nie pokazano 6 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
{{Oprogramowanie infobox
{{Oprogramowanie infobox
| nazwa = CodeIgniter
|nazwa = CodeIgniter
| rodzaj = [[Framework]]
|rodzaj = [[framework]]
| logo =
|logo =
| grafika =
|grafika =
| opis grafiki = Logo frameworku CodeIgniter
|opis grafiki = Logo frameworku CodeIgniter
| autor = EllisLab, Inc.
|autor = EllisLab, Inc.
| platforma sprzętowa =
|platforma sprzętowa =
| system operacyjny = [[Wieloplatformowość|Wieloplatformowy]]
|system operacyjny = [[Wieloplatformowość|wieloplatformowy]]
| język programowania = PHP
|język programowania = PHP
| pierwsze wydanie = [[28 lutego]] [[2006]]
|pierwsze wydanie = [[28 lutego]] [[2006]]
| licencja = [[Licencja MIT|MIT]]
|licencja = [[Licencja MIT|MIT]]
| wikibooks =
|wikibooks =
| commons =
|commons =
| www = http://www.codeigniter.com/
|www = http://www.codeigniter.com/
| wersja stabilna = 4.0.4
}}
}}
'''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óre 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<ref>{{cytuj stronę| url = http://ellislab.com/codeigniter/user-guide/overview/at_a_glance.html | tytuł = CodeIgniter User Guide : CodeIgniter At A Glance | data dostępu = 24 lutego 2013 | język = en}}</ref>.
'''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óre 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<ref>{{cytuj stronę |url = http://ellislab.com/codeigniter/user-guide/overview/at_a_glance.html |tytuł = CodeIgniter User Guide: CodeIgniter At A Glance |język = en |archiwum = https://web.archive.org/web/20121219102731/http://ellislab.com/codeigniter/user-guide/overview/at_a_glance.html |zarchiwizowano = 19 grudnia 2012 |data dostępu = 2013-02-24}}</ref>.


== Cechy CodeIgnitera ==
== Cechy CodeIgnitera ==
* Bazuje na [[Wzorzec projektowy (informatyka)|wzorcu projektowym]] [[Model-View-Controller]],
* bazuje na [[Wzorzec projektowy (informatyka)|wzorcu projektowym]] [[Model-View-Controller]],
* pełna kompatybilność PHP 7.2 i nowsze (od wersji 2.0 zrezygnowano ze wsparcia dla PHP 4),
* pełna kompatybilność PHP 7.2 i nowsze (od wersji 2.0 zrezygnowano ze wsparcia dla PHP 4),
* bardzo mały rozmiar,
* bardzo mały rozmiar,
Linia 39: Linia 38:
* '''FTP''' – pozwala nam łączyć się z serwerem [[Protokół transferu plików|FTP]] i zarządzać plikami na nim umieszczonymi.
* '''FTP''' – pozwala nam łączyć się z serwerem [[Protokół transferu plików|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.
* '''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]].
* '''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 (metoda)|POST]], [[GET (metoda)|GET]], [[HTTP cookie|cookie]] i server) a także ich filtrowanie pod kątem ataków [[Cross-site scripting|XSS]].
* '''Input''' – automatycznie ładowana klasa umożliwiająca korzystanie z danych ([[POST (metoda)|POST]], [[GET (metoda)|GET]], [[HTTP cookie|cookie]] i server), a także ich filtrowanie pod kątem ataków [[Cross-site scripting|XSS]].
* '''Security''' – pomaga chronić przed atakami typu XSS, [[Cross-site request forgery|CSRF]] oraz directory traversal.
* '''Security''' – pomaga chronić przed atakami typu XSS, [[Cross-site request forgery|CSRF]] oraz directory traversal.
* '''Loader''' – służy do wczytywania różnych elementów, np. widoku, modelu, czy wtyczek.
* '''Loader''' – służy do wczytywania różnych elementów, np. widoku, modelu, czy wtyczek.
* '''Language''' – pozwala na tworzenie wielojęzycznych serwisów.
* '''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.
* '''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.
* '''Pagination''' – pozwala na tworzenie automatycznego podziału wyników na strony.
* '''Session''' – upraszcza zarządzanie sesjami.
* '''Session''' – upraszcza zarządzanie sesjami.
Linia 58: Linia 57:
== Zobacz też ==
== Zobacz też ==
* [[Kohana]] – [[fork]] CodeIgnitera
* [[Kohana]] – [[fork]] CodeIgnitera

== Literatura ==
* {{cytuj książkę |nazwisko = Myer| imię = Thomas | tytuł = Professional CodeIgniter (Wrox Professional Guides)| wydawca = Wrox | miejsce = | rok = 2008| strony = 336| isbn = 978-0470282458}}
* {{cytuj książkę |nazwisko = Sosna| imię = Łukasz | tytuł = CodeIgniter. Zaawansowane tworzenie stron w PHP| wydawca = Helion | miejsce = | rok = 2013| strony = 272| isbn = 9788324649648}}
*{{Cytuj książkę|nazwisko=Sosna|imię=Łukasz|tytuł=CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP|rok=2021|wydawca=Helion|isbn=9788328374874|strony=223}}


== Przypisy ==
== Przypisy ==
{{Przypisy}}
{{Przypisy}}


== Literatura ==
{{Frameworki do aplikacji webowych}}
* {{cytuj książkę |nazwisko = Myer |imię = Thomas |tytuł = Professional CodeIgniter (Wrox Professional Guides) |wydawca = Wrox |miejsce = |rok = 2008 |strony = 336 |isbn = 978-0470282458}}
* {{cytuj książkę |nazwisko = Sosna |imię = Łukasz |tytuł = CodeIgniter. Zaawansowane tworzenie stron w PHP |wydawca = Helion |miejsce = |rok = 2013 |strony = 272 |isbn = 9788324649648}}


== Linki zewnętrzne ==
== Linki zewnętrzne ==
<!-- ============================================================ -->
<!-- NIE DODAWAJ WIĘCEJ LINKÓW. WIKIPEDIA NIE JEST ZBIOREM LINKÓW -->
<!-- ANI MIEJSCEM NA TWOJĄ (LUB CZYJĄKOLWIEK) REKLAMĘ!!! -->
<!-- Jeżeli sądzisz, że Twój link może się przydać, zamiast tutaj -->
<!-- umieść go najpierw na stronie dyskusji tego artykułu. Linki -->
<!-- umieszczone bez przeprowadzonej weryfikacji ZOSTANĄ USUNIĘTE -->
<!-- WCZEŚNIEJ przeczytaj http://pl.wikipedia.org/wiki/WP:LZ -->
<!-- ============================================================ -->
* [http://www.codeigniter.com/ Oficjalna strona] {{lang|en}}
* [http://www.codeigniter.com/ Oficjalna strona] {{lang|en}}

{{Frameworki do aplikacji webowych}}


[[Kategoria:Aplikacje internetowe]]
[[Kategoria:Aplikacje internetowe]]

Aktualna wersja na dzień 10:24, 3 lut 2023

CodeIgniter
logo
Autor EllisLab, Inc.
Pierwsze wydanie 28 lutego 2006
Aktualna wersja stabilna 4.4.1
(5 września 2023) [±]
Język programowania PHP
System operacyjny wieloplatformowy
Rodzaj framework
Licencja MIT
Strona internetowa

CodeIgniterframework 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óre 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]

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.
  • E-mail – pozwala wysyłać e-maile 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]

Przypisy

[edytuj | edytuj kod]
  1. CodeIgniter User Guide: CodeIgniter At A Glance. [dostęp 2013-02-24]. [zarchiwizowane z tego adresu (19 grudnia 2012)]. (ang.).

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 978-83-246-4964-8.

Linki zewnętrzne

[edytuj | edytuj kod]