Edytujesz „PHP”

Z Nonsensopedii, polskiej encyklopedii humoru

Uwaga: Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli zalogujesz się lub utworzysz konto, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.

Ta edycja może zostać anulowana. Porównaj ukazane poniżej różnice między wersjami, a następnie zapisz zmiany.

Aktualna wersja Twój tekst
Linia 1: Linia 1:
{{Programisto}}
<br/>
{{Programowanie}}
{{Programowanie}}


'''PHP''' – to wieloparadygmatowy, proceduralny i dynamiczny język programowania. Jest on rozszerzeniem [[C (język programowania)|C]] dodającym wiele nowych bezużytecznych funkcji<ref>[http://www.php.net/quickref.php Lista funkcji PHP]</ref>, pozwalającym na tworzenie stron internetowych i pozbywającego go preprocesora.
'''PHP''' – język wywołujący u [[Programista|programistów]] wychowanych na językach z typowaniem statycznym popłoch, [[Panika|panikę]], a w skrajnych przypadkach nawet zbiorową [[Histeria|histerię]].


Ze względu na dużą popularność, trudno znaleźć [[serwer]] nie obsługujący PHP. Praktycznie nie stosowany na normalnych komputerach. Ostatnio ze względy na [[protest]]y [[programista|programistów]] dodano możliwość programowania obiektowego.
[[Plik:7095238893_ce879b3779_o.jpg|thumb|350px|Młotek zrobiony, bazując na doświadczeniach z PHP]]
== Programowanie w PHP ==
== Programowanie w PHP ==
Programowanie w PHP jest bardzo proste ze względu na olbrzymią liczbę funkcji. Dla przykładu, jeśli chcesz napisać „[[Nonsensopedia]] jest wspaniała!” możesz to zrobić na wiele różnych sposobów. Funkcje są często bardzo podobne, na przykład <code>echo</code> jest tym samym co <code>print</code> tyle że w <code>echo</code> oddzielasz wyrazy przecinkami, a w <code>print</code> kropkami.
[[Plik:Młotek PHP.jpg|thumb|350px|Młotek zrobiony bazując na doświadczeniach z PHP]]
Programowanie w PHP jest bardzo proste ze względu na olbrzymią liczbę funkcji. Dla przykładu, jeśli chcesz napisać „[[Nonsensopedia]] jest wspaniała!” możesz to zrobić na wiele różnych sposobów. Funkcje są często bardzo podobne, na przykład <code>echo</code> jest tym samym co <code>print</code>, tyle że w <code>echo</code> oddzielasz wyrazy przecinkami, a w <code>print</code> kropkami.


<syntaxhighlight lang="php">
<source lang="php">
Nonsensopedia jest wspaniała!<br> <? // najprostsza wersja echo() – poza kodem ?>
Nonsensopedia jest wspaniała!<br> <? // najprostsza wersja echo() – poza kodem ?>


Linia 13: Linia 16:
error_reporting(-9223372036854743049);
error_reporting(-9223372036854743049);
echo 'Nonsensopedia ',jest,chr(32),'wspaniała!<br>' ;
echo 'Nonsensopedia ',jest,chr(32),'wspaniała!<br>' ;
print 'Nonsensopedia '.jest.chr(32).'wspaniała!<br>' ; /* używa się tu kropek, nie przecinków */
print 'Nonsensopedia '.jest.chr(32).'wspaniała!<br>' ; /* używa się tu kropek nie przecinków */
printf('Nonsensopedia '.jest.chr(32).'wspaniała!<br>'); // funkcja przeniesiona z C, wymaga nawiasów
printf('Nonsensopedia '.jest.chr(32).'wspaniała!<br>'); // funkcja przeniesiona z C, wymaga nawiasów
die ('Nonsensopedia '.jest.chr(32).'wspaniała!<br>'); # odpowiednik print, ale z nawiasami
die ('Nonsensopedia '.jest.chr(32).'wspaniała!<br>'); # odpowiednik print, ale z nawiasami
?>
?>
</source>
</syntaxhighlight>


== Zwracanie błędów ==
== Zwracanie błędów ==
Linia 25: Linia 28:


=== Przykład 1 ===
=== Przykład 1 ===

Przykład kodu poniżej zawiera błąd o którym PHP informuje.
Przykład kodu poniżej zawiera błąd o którym PHP informuje.


<syntaxhighlight lang="php">
<source lang="php">
<?
<?
function sł33t_::_fónkj1a (^^ )--
function sł33t_::_fónkj1a (^^ )--
Linia 34: Linia 38:
}
}
?>
?>
</source>
</syntaxhighlight>
'''Parse error:''' syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting '(' in '''[[:/dev/null]]''' on line '''2'''
'''Parse error:''' syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting '(' in '''/dev/null''' on line '''2'''


=== Przykład 2 ===
=== Przykład 2 ===

Innym, bardziej zrozumiałym błędem jest występujący w następującej funkcji.
Innym, bardziej zrozumiałym błędem jest występujący w następującej funkcji.


<syntaxhighlight lang="php">
<source lang="php">
<?
<?
function pomnóż_przez_dwa(integer $i) {
function pomnóż_przez_dwa(integer $i) {
Linia 47: Linia 52:
echo '2 * 2 = ', pomnóż_przez_dwa(2);
echo '2 * 2 = ', pomnóż_przez_dwa(2);
?>
?>
</source>
</syntaxhighlight>
2 * 2 = '''PHP Catchable fatal error:''' Argument 1 passed to pomnóż_przez_dwa() must be an instance of integer, integer given, called in /dev/null on line 5 and defined in '''/dev/null''' on line '''2'''
2 * 2 = '''PHP Catchable fatal error:''' Argument 1 passed to pomnóż_przez_dwa() must be an instance of integer, integer given, called in /dev/null on line 5 and defined in '''/dev/null''' on line '''2'''


Linia 53: Linia 58:
PHP jest znany ze swojej nieziemskiej intuicyjności, dzięki czemu programista przesiadający się z innego języka może wręcz natychmiast zacząć tworzyć niezwykle kreatywne i niespotykane nigdzie indziej bugi i problemy. Na szczególną uwagę zasługuje mechanizm ''żonglerki błędami'' (ang. type juggling), który pozwala programiście w prosty i wygodny sposób dodać do swojej aplikacji kilka luk bezpieczeństwa. Przykładowy kod wykorzystujący wspomnianą funkcję:
PHP jest znany ze swojej nieziemskiej intuicyjności, dzięki czemu programista przesiadający się z innego języka może wręcz natychmiast zacząć tworzyć niezwykle kreatywne i niespotykane nigdzie indziej bugi i problemy. Na szczególną uwagę zasługuje mechanizm ''żonglerki błędami'' (ang. type juggling), który pozwala programiście w prosty i wygodny sposób dodać do swojej aplikacji kilka luk bezpieczeństwa. Przykładowy kod wykorzystujący wspomnianą funkcję:


<syntaxhighlight lang="php">
<source lang="php">
<?php
<?php


Linia 64: Linia 69:
}
}
if („20000000000000001” == „20000000000000000”) {
if ("20000000000000001" == "20000000000000000") {
echo('OŁRAJT!');
echo('OŁRAJT!');
}
}


?>
?>
</source>
</syntaxhighlight>


'''Wynik:''' WSZYSTKO OŁRAJT!
'''Wynik:''' WSZYSTKO OŁRAJT!
Linia 76: Linia 81:


== Przenośność ==
== Przenośność ==
Niektóre języki programowania, na przykład [[C Sharp|C#]] są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami [[Windows Vista|Visty]] jest wiele warta). PHP idzie o krok dalej. Kod zachowuje się inaczej w zależności od konfiguracji PHP, więc nawet między systemami możesz się spodziewać trochę innego zachowania kodu. Na przykład, opcja <code>magic_quotes_gpc</code> dostawia slashe do danych użytkownika, ponieważ według autorów PHP im więcej slashy tym lepiej. Oczywiście można je usunąć funkcją <code>stripslashes()</code>, ale wtedy twój kod będzie usuwać slashe celowo wstawione w [[komputer osobisty|komputerach]] które nie mają tej opcji włączonej.
Niektóre języki programowania, na przykład [[C Sharp|C#]] są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami [[Windows Vista|Visty]] jest wiele warta). PHP idzie o krok dalej. Kod zachowuje się inaczej w zależności od konfiguracji PHP, więc nawet między systemami możesz się spodziewać trochę innego zachowania kodu. Na przykład, opcja <code>magic_quotes_gpc</code> dostawia slashe do danych użytkownika ponieważ według autorów PHP im więcej slashy tym lepiej. Oczywiście można je usunąć funkcją <code>stripslashes()</code>, ale wtedy twój kod będzie usuwać slashe celowo wstawione w [[komputer osobisty|komputerach]] które nie mają tej opcji włączonej.


Ale to nie wszystko – można wyłączyć każdą funkcję bez problemu w konfiguracji. Nie lubisz <code>printf</code> – nie ma sprawy, zmień jedną linijkę w konfiguracji. To co że zewnętrzny kod używający jej nie będzie działać. Oczywiście jeśli tego nie lubisz możesz użyć znaku <code>[[grawis|`]]</code> do uruchamiania zewnętrznych programów (czytaj: symulatora <code>printf</code>), ale jego też można zablokować.
Ale to nie wszystko – można wyłączyć każdą funkcję bez problemu w konfiguracji. Nie lubisz <code>printf</code> – nie ma sprawy, zmień jedną linijkę w konfiguracji. To co że zewnętrzny kod używający jej nie będzie działać. Oczywiście jeśli tego nie lubisz możesz użyć znaku <code>[[grawis|`]]</code> do uruchamiania zewnętrznych programów (czytaj: symulatora <code>printf</code>), ale jego też można zablokować.


== Znane programy napisane w PHP ==
== Zobacz też ==
* '''WordPress''' – ze względu na szybką konfigurację wykorzystywany do tworzenia blogów przez [[Pokemon (osoba)|nastolatki]].
* [[HTML]]
* '''Simple Machine Forums''' – skrypt do tworzenia [http://www.sweetbrokacik.pl/ słit forumz].
* [[JavaScript]]
* '''MediaWiki''' – skrypt Wiki wykorzystywany przez [[Wikipedia|Wikipedię]].
* [[Perl]]
* [[Python]]
* [[PL/SQL]]


{{przypisy}}
[[Kategoria:Języki programowania]]
[[en:PHP]]
[[en:PHP]]
[[ja:PHP]]
[[ja:PHP]]
[[ko:PHP]]
[[ko:PHP]]
[[pt:PHP]]
[[pt:PHP]]
[[ru:PHP]]
{{stopka}}
[[Kategoria:Języki programowania]]
Cc-white.svg Wszystko, co napiszesz na Nonsensopedii, zgadzasz się udostępnić na licencji cc-by-sa-3.0 i poddać moderacji.
NIE UŻYWAJ BEZ POZWOLENIA MATERIAŁÓW OBJĘTYCH PRAWEM AUTORSKIM!
Anuluj Pomoc w edycji (otwiera się w nowym oknie)
Źródło: „https://nonsa.pl/wiki/PHP