CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP - ebook
CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP - ebook
Twórz aplikacje PHP z CodeIgniterem
- Poznaj użyteczne klasy frameworka
- Naucz się wykorzystywać je w praktyce
- Rozwiń swoje umiejętności programistyczne
CodeIgniter to niewielki, lecz potężny framework, który ułatwia tworzenie aplikacji zarówno początkującym, jak i zaawansowanym programistom PHP. Dzięki implementacji wzorca model-view-controller wspiera podział kodu na warstwy odpowiedzialne za operacje związane z zarządzaniem danymi, wyświetlanie strony oraz obsługę logiki biznesowej, co upraszcza nie tylko pisanie, lecz również utrzymywanie i rozwój wykorzystujących go aplikacji.
Szerokie możliwości, doskonała wydajność, znakomite wsparcie programisty, zgodność z najnowszymi wersjami PHP, łatwość użycia i logiczna struktura bibliotek - wszystko to sprawia, że CodeIgniter jest wybierany przez kolejne generacje deweloperów, którym pozwala twórczo skupić się na projekcie oraz uniknąć wysiłku związanego z implementacją powtarzalnego kodu odpowiedzialnego za typowe operacje.
Jeśli chcesz szybko zacząć przygodę z frameworkiem, sięgnij po tę książkę! Bezboleśnie wprowadzi Cię ona w świat programowania z wykorzystaniem popularnego frameworka, przedstawi zasady zastosowania wzorca MVC, zapozna ze sposobami obsługi baz danych oraz zaprezentuje klasy systemowe i pomocnicze. Nabytą wiedzę będziesz mógł ugruntować i sprawdzić w praktyce dzięki ćwiczeniom, w ramach których krok po kroku nauczysz się walidować dane wprowadzane przez użytkownika oraz dzielić je na strony z wykorzystaniem własnego sortowania.
- Instalacja, konfiguracja i struktura frameworka CodeIgniter
- Implementacja wzorca model-view-controller
- Podstawy tworzenia aplikacji WWW z wykorzystaniem CodeIgnitera
- Metody umożliwiające obsługę baz danych i tworzenie zapytań
- Zastosowanie przydatnych klas systemowych i pomocniczych
- Praktyczne ćwiczenia z programowania wraz z rozwiązaniami
CodeIgniter - szybko, wydajnie, prosto do celu!
Spis treści
Wstęp 15
- Wymagania serwera 16
Rozdział 1. Instalacja 19
- Pobieranie aplikacji z serwera 19
- Pobieranie polskiego języka interfejsu 19
- Instalacja systemu na serwerze WWW 21
- Polska wersja językowa systemu 23
- Różnica pomiędzy wersjami frameworka CodeIgniter: 1, 2, 3 a wersją 4 24
- Struktura systemu CodeIgniter 24
- Nazywanie plików, klas, metod i funkcji 25
Rozdział 2. Model, Widok, Kontroler 27
- Wywoływanie kontrolera oraz metody 28
- Wywoływanie kontrolera oraz metody - adresy dla wyszukiwarek 28
- Kontroler (controller) 29
- Automatyczne ładowanie w kontrolerze (__construct) 31
- Przekazywanie parametrów do metody kontrolera 32
- Definicja domyślnego kontrolera (setDefaultController) 33
- Widok 33
- Ładowanie kilku widoków 35
- Dodawanie danych do widoków 36
- Umieszczanie widoków w folderach 37
- Model 38
- Ładowanie funkcji pomocniczych (helper) 40
Rozdział 3. Rutowanie URL, odbieranie danych, zapisywanie logów oraz pasek debugera 41
- Parametry w adresie URL 42
- Filtrowanie parametrów 43
- Definiowanie własnych wieloznaczników 44
- Wyrażenia regularne 45
- Grupowe przepisywanie adresów 46
- Własna strona dla błędu 404 47
- Pobieranie danych wysłanych do programu 47
- Włączanie klasy 47
- Metoda isCLI() 48
- Metoda isAJAX() 48
- Metoda isSecure() 48
- Metoda getVar() 49
- Metoda getGet() 49
- Metoda getPost() 49
- Metoda getPostGet() 50
- Metoda getGetPost() 50
- Metoda getCookie() 50
- Metoda getServer() 51
- Metoda getUserAgent() 51
- Zapisywanie błędów występujących podczas obsługi witryny 51
- Włączanie paska debugera 53
Rozdział 4. Bazy danych 55
- Praca z bazą danych 55
- Wczytanie sterownika (Database::connect()) 56
- Konfiguracja połączenia 58
- Wykonywanie zapytania (query) 62
- Generowanie wyników zapytania 64
- Prefiks tabel 64
- Rezultat zapytania zwracającego dane jako obiekt 65
- Rezultat zapytania zwracającego dane w postaci tablicy 66
- Pobieranie jednego rekordu z bazy danych jako obiektu 67
- Pobieranie z bazy danych jednego rekordu jako tablicy 68
- Przechodzenie pomiędzy rekordami 69
- Pobieranie ilości kolumn tabeli 72
- Pobieranie nazw kolumn tabeli 73
- Zwalnianie pamięci RAM po zapytaniu 74
- Pobieranie identyfikatora rekordu dodanego do tabeli 75
- Pobieranie informacji o liczbie zmienionych rekordów 75
- Metoda getPlatform() 76
- Metoda getVersion() 77
- Połączenie z drugą bazą danych 78
- Zabezpieczanie danych (escape, escapeString i escapeLikeString) 80
- Zabezpieczanie zapytania z wartościami 81
- Zabezpieczanie zapytania z wartościami posiadającymi nazwy 82
- Przetwarzanie błędów 83
- Wyświetlenie ostatniego zapytania 85
- Metoda reconnect() 86
- Metoda close() 86
Rozdział 5. Pomoc w tworzeniu zapytań do bazy danych 89
-
- Metoda resetQuery() 89
- Metoda countAllResults() 89
- Metoda countAll() 89
- Metoda get() 90
- Metoda getWhere() 90
- Metoda select() 90
- Metoda selectAvg() 91
- Metoda selectMax() 91
- Metoda selectMin() 91
- Metoda selectSum() 91
- Metoda selectCount() 92
- Metoda distinct() 92
- Metoda from() 92
- Metoda join() 92
- Metoda where() 93
- Metoda orWhere() 93
- Metoda orWhereIn() 93
- Metoda orWhereNotIn() 94
- Metoda whereIn() 94
- Metoda whereNotIn() 94
- Metoda groupStart() 95
- Metoda orGroupStart() 95
- Metoda notGroupStart() 95
- Metoda orNotGroupStart() 95
- Metoda groupEnd() 95
- Metoda like() 96
- Metoda orLike() 96
- Metoda notLike() 96
- Metoda orNotLike() 97
- Metoda having() 97
- Metoda orHaving() 98
- Metoda orHavingIn() 98
- Metoda havingIn() 99
- Metoda havingNotIn() 99
- Metoda havingLike() 99
- Metoda orHavingLike() 100
- Metoda notHavingLike() 100
- Metoda orNotHavingLike() 101
- Metoda havingGroupStart() 101
- Metoda orHavingGroupStart() 101
- Metoda notHavingGroupStart() 101
- Metoda orNotHavingGroupStart() 102
- Metoda havingGroupEnd() 102
- Metoda groupBy() 102
- Metoda orderBy() 102
- Metoda limit() 102
- Metoda offset() 103
- Metoda set() 103
- Metoda insert() 103
- Metoda insertBatch() 103
- Metoda setInsertBatch() 104
- Metoda update() 104
- Metoda setUpdateBatch() 105
- Metoda replace() 105
- Metoda delete() 105
- Metoda increment() 105
- Metoda decrement() 106
- Metoda truncate() 106
- Metoda emptyTable() 106
- Metoda getCompiledSelect() 106
- Metoda getCompiledInsert() 107
- Metoda getCompiledUpdate() 107
- Metoda getCompiledDelete() 107
- Od teorii do praktyki 107
- Polecenie SELECT 110
- Polecenie SELECT z zastosowaniem ORDER BY 111
- Polecenie SELECT z użyciem ograniczenia LIMIT 112
- Polecenie SELECT z klauzulami LIMIT oraz ORDER 113
- Polecenie SELECT z wyborem rekordu dzięki klauzuli WHERE 113
- Polecenie SELECT z wyborem za pomocą klauzuli LIKE 114
- Polecenie INSERT 115
- Polecenie UPDATE ze wskazaniem rekordu za pomocą klauzuli WHERE 117
- Polecenie DELETE 118
Rozdział 6. Klasy systemowe 119
- Klasa listów e-mail 119
- Używanie klasy przeznaczonej do wysyłania listów e-mail 119
- Ustawienia klasy do wysyłania listów e-mail 120
- Metoda setFrom() 121
- Metoda setReplyTo() 121
- Metoda setTo() 122
- Metoda setCC() 122
- Metoda setBCC() 122
- Metoda setSubject() 123
- Metoda setMessage() 123
- Metoda setAltMessage() 123
- Metoda setHeader() 124
- Metoda clear() 124
- Metoda send() 125
- Metoda attach() 125
- Metoda setAttachmentCID() 126
- Metoda printDebugger() 126
- Klasa szyfrowania i deszyfrowania danych 126
- Konfigurowanie klasy oraz domyślne zachowania 127
- Ustawianie własnego klucza szyfrowania 127
- Metoda static createKey() 127
- Metoda initialize() 128
- Metoda encrypt() 128
- Metoda decrypt() 128
- Klasa przeznaczona do pracy z plikami 129
- Metoda getBasename() 129
- Metoda getMTime() 129
- Metoda getRealPath() 129
- Metoda getPerms() 129
- Metoda isWritable() 129
- Metoda getRandomName() 130
- Metoda getSize() 130
- Metoda getMimeType() 130
- Metoda guessExtension() 131
- Metoda move() 131
- Klasa ograniczająca dostęp do strony 131
- Dostosowanie obrony strony WWW przed botami 132
- Klasa manipulacji obrazami 132
- Inicjalizacja obiektu klasy 132
- Metoda crop() 133
- Metoda convert() 134
- Metoda fit() 134
- Metoda flatten() 135
- Metoda flip() 135
- Metoda resize() 136
- Metoda rotate() 136
- Metoda text() 136
- Klasa służąca do dzielenia rekordów z bazy danych na części 137
- Dzielenie rekordów na porcje prezentowane na kolejnych stronach 138
- Dzielenie na strony rezultatów z różnych tabel 139
- Ręczne ustawianie podziału 139
- Określenie parametru, który ma zostać uznany za numer strony 140
- Metoda setSurroundCount() 140
- Metody hasPrevious() i hasNext() 140
- Metody getPrevious() i getNext() 140
- Metody getFirst() i getLast() 140
- Metoda links() 141
- Metoda hasPreviousPage() i hasNextPage() 141
- Metoda getPreviousPage() i getNextPage() 141
- Klasa bezpieczeństwa danych 141
- Załadowanie klasy 141
- Ataki typu CSRF 142
- Dodawanie adresów wyłączonych ze sprawdzania 142
- Automatyczne tworzenie pól w formularzu 143
- Wysyłanie żądań za pomocą formatu JSON 143
- Wysyłanie za pomocą nagłówka HTTP 143
- Wysyłanie za pomocą znacznika META 143
- Klasa do obsługi sesji 143
- Inicjalizacja sesji 143
- Pobieranie danych z sesji 145
- Dodawanie danych do sesji 145
- Sprawdzanie, czy w sesji istnieje dany klucz 146
- Dodawanie danych do sesji 146
- Usuwane danych z sesji 146
- Dane tymczasowe (Flashdata) 146
- Niszczenie sesji i jej danych 147
- Klasa limitu aktywności 147
- Metoda check() 149
- Metoda getTokentime() 149
- Klasa ułatwiająca pracę z plikami wgrywanymi na serwer 150
- Pobieranie wgranych plików 150
- Wgrywanie pojedynczego pliku 150
- Wgrywanie kilku plików zapisanych w tablicy 151
- Wgrywanie kilku plików załadowanych do jednego pola 151
- Praca z wgranymi plikami 152
- Metoda getName() 152
- Metoda getClientName() 153
- Metoda getTempName() 153
- Metoda getClientExtension() 153
- Metoda getClientMimeType() 153
- Przenoszenie plików 154
- Klasa służąca do pracy z adresami URL 154
- Dodawanie klasy do obsługi 155
- Obecny adres URL 155
- Ciągi znaków w URI 155
- Operacje na schemacie połączenia 156
- Operacje na autorytatywnej części adresu 156
- Operacje na użytkowniku 157
- Operacje na hoście domeny 157
- Operacje na porcie 158
- Operacje na ścieżce dostępu 158
- Operacje na zapytaniach 158
- Filtrowanie wartości z zapytania w adresie 159
- Operacja na fragmencie, który należy wybrać ze strony WWW 160
- Segmenty URI 160
- Wyłączanie pokazywania błędów 161
- Klasa przetwarzająca informacje o użytkowniku strony WWW 161
- Uzyskanie dostępu do obiektu klasy 161
- Przeglądarka użytkownika 161
- Metoda isBrowser() 162
- Metoda isMobile() 162
- Metoda isRobot() 163
- Metoda isReferral() 163
- Metoda getBrowser() 163
- Medota getVersion() 163
- Metoda getMobile() 163
- Metoda getRobot() 163
- Metoda getPlatform() 163
- Metoda getReferrer() 164
- Metoda getAgentString() 164
- Metoda parse() 164
- Klasa walidacji danych wprowadzonych do formularza 164
- Metoda listErrors() 165
- Metoda getErrors() 165
- Metoda getError() 165
- Metoda validate() 165
- Metoda setRule() 165
- Metoda setRules() 166
- Walidacja pól oraz tablic 166
- Zapisywanie reguł walidacji w osobnym pliku konfiguracyjnym 167
- Metoda reset() 167
- Metoda run() 167
- Tworzenie własnych metod porównania wartości pola 167
- Dostępne metody walidacji 169
Rozdział 7. Biblioteki pomocnicze 173
- Pliki ciasteczek (cookie) 173
- Funkcja set_cookie() 173
- Funkcja get_cookie() 174
- Funkcja delete_cookie() 174
- Data (date) 174
- Funkcja now() 175
- Funkcja timezone_select() 175
- Katalog (filesystem) 175
- Funkcja directory_map() 176
- Funkcja write_file() 176
- Funkcja delete_files() 176
- Funkcja get_filenames() 177
- Funkcja get_dir_file_info() 177
- Funkcja get_file_info() 177
- Funkcja symbolic_permissions() 178
- Funkcja octal_permissions() 178
- Funkcja set_realpath() 178
- Formularz (form) 179
- Umieszczanie wartości w polach 179
- Funkcja form_open() 179
- Funkcja form_open_multipart() 180
- Funkcja form_hidden() 180
- Funkcja form_input() 180
- Funkcja form_password() 181
- Funkcja form_upload() 181
- Funkcja form_textarea() 181
- Funkcja form_dropdown() 182
- Funkcja form_multiselect() 182
- Funkcje form_fieldset() i form_fieldset_close() 182
- Funkcja form_checkbox() 183
- Funkcja form_radio() 183
- Funkcja form_submit() 183
- Funkcja form_reset() 184
- Funkcja form_button() 184
- Funkcja form_close() 184
- HTML (html) 184
- Funkcja img() 185
- Funkcja link_tag() 185
- Funkcja script_tag() 186
- Funkcje ol() i ul() 186
- Funkcja video() 186
- Funkcja source() 187
- Funkcja embed() 187
- Funkcja object() 187
- Funkcja doctype() 188
- Liczba (number) 189
- Funkcja number_to_size() 190
- Funkcja number_to_amount() 190
- Funkcja number_to_currency() 190
- Funkcja number_to_roman() 191
- Bezpieczeństwo (security) 191
- Funkcja sanitize_filename() 191
- Funkcja strip_image_tags() 192
- Funkcja encode_php_tags() 192
- Ciąg (string) 192
- Funkcja random_string() 192
- Funkcja increment_string() 193
- Funkcja alternator() 193
- Funkcja reduce_double_slashes() 194
- Funkcja strip_slashes() 194
- Funkcja reduce_multiples() 194
- Funkcja quotes_to_entities() 195
- Funkcja strip_quotes() 195
- Funkcja word_limiter() 195
- Funkcja character_limiter() 195
- Funkcja ascii_to_entities() 196
- Funkcja entities_to_ascii() 196
- Funkcja convert_accented_characters() 196
- Funkcja word_censor() 197
- Funkcja highlight_code() 197
- Funkcja highlight_phrase() 197
- Funkcja word_wrap() 198
- Funkcja ellipsize() 198
- Funkcja excerpt() 199
- URL (url) 199
- Funkcja site_url() 199
- Funkcja base_url() 199
- Funkcja current_url() 200
- Funkcja uri_string() 200
- Funkcja index_page() 200
- Funkcja anchor() 200
- Funkcja mailto() 201
- XML (xml) 201
- Funkcja xml_convert() 201
Rozdział 8. Ćwiczenia 203
- Ćwiczenie 1. Walidacja danych z formularza 203
- Ćwiczenie 2. Walidacja danych z zastosowaniem własnej formuły 208
- Ćwiczenie 3. Dzielenie danych na strony 214
- Ćwiczenie 4. Dzielenie danych według własnych wytycznych - sortowanie 217
Podsumowanie 223
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8316-6 |
Rozmiar pliku: | 3,7 MB |