ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 147
Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 47
Abonament PDF

CodeIgniter PHP framework - o unealtă simplă și utilă

Cristian Tantar
Ads Server, PHP Developer @Gameloft



PROGRAMARE

Mergând pe principiul KISS (Keep It Simple Stupid), când avem nevoie de un start rapid pentru un proiect suntem nevoiți să căutăm de fiecare dată varianta cea mai simplă de implementat. La momentul actual, framework-urile principale sunt Symfony și Laravel. Ambele sunt dezvoltate pe cele mai recente concepte PHP și programarea pe obiecte (OOP). Totuși, cerințele de sistem și software, instalarea un pic mai complexă, codul necesar doar să afișezi o pagină cu "În construcție", ar putea descuraja un eventual startup, un proiect de testare sau chiar site-uri de dimensiuni mici și medii.

CodeIgniter, pe de altă parte, se axează pe simplitate, atât în instalare cât și în dezvoltare și mentenanță. Dezvoltat deja de 10 ani, ajuns la versiunea 3.0.6, CodeIgniter poate fi folosit pentru orice tip de proiect, de la blog sau site de prezentare la portal, REST Server sau magazin e-commerce.

Comparativ cu celelalte framework-uri folosite la ora actuală, CodeIgniter stă extraordinar de bine raportat la ușurința de utilizare. Astfel, este în top 5, atât la popularitate cât și la memorie consumată sau viteză.

http://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-results/

Benchmark (http://blog.a-way-out.net/blog/2015/03/27/php-framework-benchmark/)

Vă enumerăm mai jos câteva dintre motivele pentru care merită să încercați CodeIgniter:

Flow-ul aplicației este foarte clar/simplu. (https://codeigniter.com/user\_guide/overview/appflow.html):

Routing - Configurarea routing-ului, foarte simplă, din application/config/routing.php. Este permisă scrierea întregului URL sau se pot folosi expresii RegExp.

Metoda de lucru este clasică, /controller/method/. Primul segment din URL este controller-ul ce va fi apelat, al doilea segment, metoda apelată. Bineînțeles că se poate folosi orice altă variantă.

Security - CodeIgniter are incluse default caracteristici clasice de securitate: securizarea adresei url (URI), securizarea register_globals ($_GET, $_POST, $_REQUEST, $_COOKIES), XSS filtering, CSRF protection, Form Validation.

Application Controller - Controler-ul se extinde prin CI_Controller. (locație: application/controllers/)

Views- View-ul este o pagină sau un fragment html (exemplu: header, footer). View-ul nu este apelat direct de URI, ci prin intermediul controller-ului, cu sintaxa: $this->load->view('name'); Locație: application/views. Nu este necesar să fie folosit vreun "Template Engine", care ar îngreuna atât programarea cât și mentenanța. Codul PHP standard este suficient.

Caching - Un element important în dezvoltarea de proiecte este și sistemul de caching. CodeIgniter permite caching atât pe pagini (view) cât și pe rezultate din baze de date.

Models - Modelele sunt clase folosite pentru manipularea datelor (și a bazelor de date). Locație: application/models (bineînțeles). Modelul extinde un model de bază (CI_Model) și poate fi apelat din Controller după ce este inițializat, fie din fișierul de configurare config/autoload.php, fie cu sintaxa: $this->load->model('model_name');

Baze de date - CodeIgniter suportă cele mai folosite baze de date: cubrid, ibase, mssql, mysql (mysqli), oci8, odbc, pdo, postrgre, sqlite, sqlite3. Configurarea este foarte simplă în application/config/database.php . Se pot folosi mai multe baze de date simultan.

Libraries - Pentru orice proiect avem nevoie și de cod propriu. Application/libraries este locul librăriilor proprii. Aceste sunt clase încărcate în Controller cu sintaxa: $this->load->library('someclass').

Languages - Traducerea conținutului este un alt aspect important al oricărui proiect. Încărcarea fișierelor de traducere: $this->lang->load('filename', 'language') , afișarea unei linii de traduceri: $this->lang->line('language_key').

Helpers - Pentru funcții proprii, se pot folosi fișierele "helper", unde se pot declara toate funcțiile necesare.

CodeIgniter vine la pachet cu librării proprii necesare în aproape orice proiect, în număr de 30. Printre ele: Benchmark, Email, Caching, Encrypt, File Upload, Form Validation, Image Manipulation, etc.

Așa cum se vede, este posibil să încărcăm strict ce avem nevoie pentru un anumit Route, fără clase și obiecte suplimentare. Acesta este motivul pentru care CodeIgniter are un consum de memorie foarte mic și este foarte rapid.

Se poate folosi inclusiv Composer împreună cu orice librărie, dacă se dorește o dezvoltare și mai rapidă a proiectului.

Așa cum am specificat mai sus, unul dintre punctele forte ale framework-ului este documentația. Aici se găsesc toate informațiile necesare pentru dezvoltarea proiectului, de la A la Z: https://codeigniter.com/user_guide/index.html

Referințe:

  1. https://codeigniter.com
  2. https://github.com/bcit-ci/CodeIgniter
  3. https://sitepoint.com/best-php-framework-2015-sitepoint-survey-results/
  4. https://revillweb.com/tutorials/codeigniter-tutorial-learn-codeigniter-in-40-minutes/
  5. https://facebook.com/codeigniter/

Conferință TSM

NUMĂRUL 147 - Automotive

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects