PHP

PHP

PHP: Hypertext Preprocesor - interpretowany język programowania przeznaczony do tworzenia aplikacji WWW. Został zaprojektowany z myślą o szybkim tworzeniu tzw. template'ów HTML, stąd wiele funkcjonalności PHP przystosowanych specjalnie do tego celu, jak np:

  • Dowolny tekst przed znacznikiem <?php (lub <?) jest interpretowany jako wyświetlenie tego tekstu
  • Dowolny tekst po znaczniku ?> również
  • Smaczek składniowy w postaci <?= równoważny z <?php echo
  • Drugi zapis instrukcji if - if (case): endif;, jak również do switch oraz for
  • Ogrom funkcji do obróbki tekstu z wielu różnych domen programowania (HTTP, JSON, XML, BBCode, PCRE, addslashes/stripslashes, etc.)

Ale oczywiście nie znaczy to, że nie można w PHP stworzyć aplikacji udostępniającej zasoby np. w JSON.

Cechy:

  • Słabo typowany
  • Wieloplatformowy - możliwość uruchomienia tej samej wersji aplikacji na różnych platformach: Windows, Linux, Mac, inne
  • Praca z serwerem Apache "out of the box"
  • Domyślnie, struktura interfejsu (route'y) odwzorowuje strukturę folderów folderów
  • Składnia:
    • Początkowe wersje (PHP 1-4) są mocno inspirowane językami: Bash, Perl, C oraz DOS (echo, switch, continue, include, @, $, global, ? :)
    • Późniejszy rozwój języka (PHP 5) czerpał z języków: Javy i C# (klasy, interfejsy, polimorfizm, przestrzenie nazw, static, implements, public, Reflection, klasy anonimowe) i JavaScript (...)
    • Funkcje inspirowane tymi z języków C oraz C++ (strtok, mysql_connect, strpos)

Zalety:

  • Bardzo szybki początkowy rozwój pierwszych wersji aplikacji
  • Łatwe (banalne) wdrożenie aplikacji (wystarczy przekopiować pliki na serwer)
  • Niezwykle popularny wśród amatorskich i średnio-zaawansowanych portali internetowych
  • Ogromne środowisko programistów i rozwiązań (WordPress, Laravel) oraz ogromna ilość płatnych i darmowych platform które wspierają PHP
  • Stosunkowo łatwo integracja z bazami danych

Wady:

  • PHP jest pełen łatwych i prostych rozwiązań, które na dłuższą metę stają się bardzo problematyczne
  • Trudna konfiguracja z serwerami innymi niż Apache
  • Pomimo wpływu "OOP", ogrom elementów języka domyślnie polega na proceduralnym podejściu:
    • brak controllerów, walidacji, konfiguracji ścieżek dostępu (struktura zasobów jest równoważna ze strukturą folderów aplikacji)
    • $_GET/$_POST, $_SESSION/$_COOKIE, mysql_real_escape_string, brak CSRF,
    • brak jakichkolwiek kolekcji (jest tylko tablica, array() która pełni funkcję listy, mapy i zbioru)
  • Brak wielowątkowości
  • Mimo zaadoptowania podejścia obiektowego, brak typów generycznych

Zobacz też:

  • php.net - oficjalna strona PHP; zawiera kompletną i dokładną dokumentację wszystkich funkcji
  • phpMyAdmin - popularny klient MySQL
  • phpPgAdmin - popularny klient PostgreSQL

Przenoszenie strony php na localhost

  • 2014-10-16 16:36
  • 0 komentarzy
  • 21 odsłon

PDO, PHP i bazy danych

  • 2014-04-22 23:34
  • 1 komentarz
  • 61 odsłon

Debugowanie kodu php

  • 2011-12-31 15:24
  • 0 komentarzy
  • 7241 odsłon

Instrukcja podłączenia płatności DOTPAY

  • 2010-01-18 19:03
  • 3 komentarzy
  • 7395 odsłon

Metoda GET

  • 2008-09-30 21:43
  • 10 komentarzy
  • 24560 odsłon

UnZIP

  • 2008-03-26 11:01
  • 0 komentarzy
  • 2931 odsłon

Prosty chat w PHP

  • 2008-03-23 19:55
  • 5 komentarzy
  • 6580 odsłon

Zniekształcenia Bilinearne-Bilinear Distort(Efekt perspektywy)

  • 2008-03-19 15:54
  • 0 komentarzy
  • 2959 odsłon

Aplikacje konsolowe w PHP

  • 2007-10-31 18:14
  • 0 komentarzy
  • 5241 odsłon

Ochrona przed SQL Injection - podstawy

  • 2007-10-28 12:12
  • 10 komentarzy
  • 16085 odsłon

Przechowywanie zdjęć w bazie danych

  • 2007-10-02 23:04
  • 8 komentarzy
  • 28992 odsłony

Serializacja danych w PHP

  • 2007-08-11 15:29
  • 0 komentarzy
  • 11149 odsłon

Wzorce Projektowe

  • 2007-07-30 14:33
  • 12 komentarzy
  • 35539 odsłon

Rozpakowywacz ZIP

  • 2006-12-06 20:51
  • 13 komentarzy
  • 1754 odsłony

Strona WAP bez znajomości WML

  • 2006-08-03 01:11
  • 0 komentarzy
  • 1475 odsłon