CodeIgniter: Różnice pomiędzy wersjami
Wygląd
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
Dominik04u (dyskusja | edycje) poprawa linków |
|||
(Nie pokazano 13 wersji utworzonych przez 10 użytkowników) | |||
Linia 1: | Linia 1: | ||
{{Oprogramowanie infobox |
{{Oprogramowanie infobox |
||
|nazwa = CodeIgniter |
|nazwa = CodeIgniter |
||
|rodzaj = [[ |
|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ść| |
|system operacyjny = [[Wieloplatformowość|wieloplatformowy]] |
||
|język programowania = PHP |
|język programowania = PHP |
||
|pierwsze wydanie = [[28 lutego]] [[2006]] |
|pierwsze wydanie = [[28 lutego]] [[2006]] |
||
|wersja stabilna = 3.0 – {{Data wydania|2015|03|30}} |
|||
|wersja testowa = 3.0-RC |
|||
|licencja = [[Licencja MIT|MIT]] |
|licencja = [[Licencja MIT|MIT]] |
||
|wikibooks = |
|wikibooks = |
||
|commons = |
|commons = |
||
|www = http://www.codeigniter.com/ |
|www = http://www.codeigniter.com/ |
||
}} |
|||
|deweloper = [[British Columbia Institute of Technology]]}} |
|||
'''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, |
'''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]], |
||
* pełna kompatybilność PHP |
* 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, |
||
* wsparcie dla kilku rodzajów [[Baza danych|baz danych]]: [[MySQL]] ( |
* wsparcie dla kilku rodzajów [[Baza danych|baz danych]]: [[MySQL]] (5.1+), [[PostgreSQL]], [[Microsoft SQL Server|MS SQL]], [[Oracle Database|Oracle]], [[SQLite]] oraz [[ODBC]], |
||
* walidacja formularzy i treści, |
* walidacja formularzy i treści, |
||
* bezpieczeństwo (m.in. filtrowanie wejścia w celu zapobieżenia atakom [[Cross-site scripting|XSS]]), |
* bezpieczeństwo (m.in. filtrowanie wejścia w celu zapobieżenia atakom [[Cross-site scripting|XSS]]), |
||
Linia 35: | Linia 33: | ||
* '''Calendaring''' – generuje różnego rodzaju kalendarze, które możemy potem umieścić na stronie. |
* '''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ęć podręczna|pamięci podręcznej]] zapytania, co przy dużej ilości unikalnych odwiedzin znacznie odciąża bazę danych i przyśpiesza ładowanie danych. |
* '''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ęć podręczna|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ć [[Poczta elektroniczna|e-maile]] za pomocą takich protokołów jak Mail, [[Sendmail]], czy [[Simple Mail Transfer Protocol|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. |
* '''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. |
* '''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''' – 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 |
* '''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''' |
* '''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''' |
* '''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''' |
* '''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. |
||
* '''Trackback''' |
* '''Trackback''' – klasa wysyłająca i odbierająca komunikaty za pomocą protokołu [[TrackBack]]. |
||
* '''Template Parser''' |
* '''Template Parser''' – parsuje stronę w poszukiwaniu pseudo zmiennych np. {blog_title}. Działa na podobnej zasadzie co system szablonów Smarty. |
||
* '''Unit Testing''' |
* '''Unit Testing''' – umożliwia przeprowadzenie [[Test jednostkowy|testów jednostkowych]]. |
||
* '''URI''' – pozwala odczytać dane przesłane przez użytkownika poprzez adres ([[Uniform Resource Identifier|URI]]) |
* '''URI''' – pozwala odczytać dane przesłane przez użytkownika poprzez adres ([[Uniform Resource Identifier|URI]]) |
||
* '''User Agent''' – pozwala odczytać dane przeglądarki użytkownika serwisu (np. wersja). |
* '''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). |
* '''Validation''' – pomaga w ustaleniu reguł, które musi spełniać formularz HTML (np. określenie maksymalnej długości tekstu). |
||
* '''XML-RPC''' |
* '''XML-RPC''' – klasa umożliwia komunikacje za pomocą [[XML-RPC]]. |
||
* '''Zip Encoding''' – kompresowanie archiwów [[ZIP]]. |
* '''Zip Encoding''' – kompresowanie archiwów [[ZIP]]. |
||
== Zobacz też == |
== Zobacz też == |
||
* [[Kohana]] |
* [[Kohana]] – [[fork]] CodeIgnitera |
||
== |
== Przypisy == |
||
⚫ | |||
⚫ | |||
{{Przypisy}} |
{{Przypisy}} |
||
== Literatura == |
|||
⚫ | |||
⚫ | |||
⚫ | |||
== 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}} |
||
⚫ | |||
[[Kategoria:Aplikacje internetowe]] |
[[Kategoria:Aplikacje internetowe]] |
Aktualna wersja na dzień 10:24, 3 lut 2023
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 |
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[1].
Cechy CodeIgnitera
[edytuj | edytuj kod]- bazuje na wzorcu projektowym Model-View-Controller,
- pełna kompatybilność PHP 7.2 i nowsze (od wersji 2.0 zrezygnowano ze wsparcia dla PHP 4),
- bardzo mały rozmiar,
- wsparcie dla kilku rodzajów baz danych: MySQL (5.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.
- 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]- ↑ 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]- Oficjalna strona (ang.)