Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tut]Kurs Php -2.Składnia języka


Mr01dada01/Yonk

Rekomendowane odpowiedzi

Opublikowano

Witam to ja Mr01dada01 a to jest kontynuacja kursu php

Etap.1-Podstawy-Klik

Etap.2-Skladania Języka-tutaj

Oddzielanie instrukcji

Jak już można zauważyć w przykładach z poprzedniego rozdziału, jedną z głównych zasad języka PHP (jak i wielu innych ? m. in. C i Perla) jest umieszczenie na końcu każdej instrukcji (niekoniecznie linii) znaku średnika (?;?). Można go pominąć tylko jeśli w danym miejscu następuje przejście do trybu HTML, a więc po danej linii następuje symbol przejścia do trybu HTML.

 

 

Przykład 2.1. Oddzielanie instrukcji

 

<?php

echo "To jest test";

?>

 

<?php echo "To jest test" ?>

 

 

 

 

Komentarze

Czasem zachodzi potrzeba oznaczenia czegoś w kodzie, dla kogoś innego czy nawet dla siebie samego (zwłaszcza jeśli pracuje się nad dużym projektem można się pogubić). Wtedy można skorzystać z jednej z kilku metod oznaczania, dzięki którym parser PHP będzie wiedział, że dany tekst nie jest częścią skryptu i można go zignorować. Komentarze przydają się także do tymczasowego ?wyłączania? niektórych linii kodu. PHP obsługuje 3 metody oznaczania komentarzy ? 2 z nich znane są z języków C/C++ a jedna z powłok (shell) systemów Uniksowych. Poniższe 2 metody służą do oznaczania, że tekst od danego miejsca do końca linii jest komentarzem:

 

 

Przykład 2.2. Stosowanie komentarzy

 

<?php

 

echo "To jest test komentarzy"; // Ta metoda znana jest z języków C/C++

 

echo "A to drugi test"; # A ta z powłok Uniksowych

 

?>

Ostatnia metoda, także znana z języków C/C++, służy do oznaczania wielu linii jako komentarz. Należy przy niej pamiętać, aby nie zagnieżdżać wewnątrz siebie takich komentarzy ponieważ może to doprowadzić do nieprawidłowego funkcjonowania skryptów.

 

 

Przykład 2.3. Komentarze wielolinijkowe

 

<?php

 

echo "Test komentarzy"; /* Tu jest początek komentarza

tu dalej trwa

a tu się kończy */

 

?>

 

 

 

 

Zmienne

Jeśli ktoś nie spotkał się jeszcze z pojęciem zmiennej, to postaram się to wyjaśnić. Otóż zmienna jest to identyfikator znakowy, któremu przypisano jakąś wartość. W języku PHP zmienne oznacza się za pomocą znaku dolara (?$?) przed wspomnianym identyfikatorem. Obsługa zmiennych w PHP jest uproszczona do minimum. W ?dużych? językach programowania zmienne trzeba najpierw inicjować (przy czym z góry trzeba określić typ zmiennej), zmienne tekstowe muszą mieć z góry ustalony rozmiar itp. W PHP nie jest to konieczne. Zmienna jest inicjalizowana (to znaczy rezerwowany jest dla niej pewien obszar w pamięci) przy pierwszym jej użyciu. Nazwy zmiennych muszą zaczynać się od litery (dużej lub małej) lub ?underscore? (dolna kreska ? ?_?) a dalej mogą się składać z dowolnej ilości liter, cyfr i znaków o kodzie ASCII powyżej 127. Przy nazwach zmiennych respektowana jest wielkość znaków ? zmienne $Test i $test to dwie różne zmienne. Oto przykład przypisywania wartości zmiennym i wykorzystanie ich w poleceniu echo:

 

 

Przykład 2.4. Koncepcja zmiennych

 

<?php

 

$nazwa = 1; // Zmiennej "nazwa" przypisywana jest wartość liczbowa 1

 

$druga_nazwa = "Tekst"; // Zmiennej "druga_nazwa" przypisany jest ciąg znaków "Tekst"

 

$trzecia_nazwa = $nazwa; // Zmiennej "trzecia_nazwa" przypisywana

//jest wartość zmiennej "nazwa"

 

echo "To jest $druga_nazwa"; // Powinien wyświetlić się napis "To jest Tekst"

 

echo '$druga_nazwa'; // Powinien wyświetlić się napis "$druga_nazwa"

 

echo $nazwa; // Powinna wyświetlić się cyfra 1

 

?>

W powyższym przykładzie można zauważyć, że parametr dla polecenia echo można podawać zarówno w cudzysłowach jak i apostrofach. Jednak te parametry nie są sobie równoznaczne. W przypadku cudzysłowów zmienne zawarte między nimi są zamieniane na ich wartość, a w przypadku apostrofów zmienna pozostaje swoją nazwą (jak można zauważyć w powyższym przykładzie).

 

 

 

 

 

Typy zmienych

 

 

liczby całkowite (integer)

liczby rzeczywiste (double)

ciągi (string)

tablice (array)

obiekty (object)

Dodatkowo PHP potrafi konwertować zmienne całkowite zapisane w różnych formatach liczbowych.

 

 

Przykład 2.5. Formaty liczbowe

 

<?php

$a = 1234; # liczba dziesiętna

$a = -123; # liczba ujemna

$a = 0123; # liczba ósemkowa (równoznaczne z dziesiętnym 83)

$a = 0x12; # liczba szesnastkowa (równoznaczne z dziesiętnym 18)

?>

 

 

 

 

Zmiana typu

Zazwyczaj nie jest konieczne określenie typu zmiennej ? PHP sam to ustala, zależnie od kontekstu.

 

 

Przykład 2.6. Zmiana typu zmiennej

 

<?php

$blah = "0"; // $blah jest ciągiem (ASCII 48)

$blah++; // $blah jest ciągiem "1" (ASCII 49)

$blah += 1; // $blah jest teraz wartością całkowitą (2)

$blah = $foo + 1.3; // $blah jest wartością rzeczywistą (1.3)

$blah = 5 + "10 Malutkich Świnek"; // $blah jest wartością całkowitą (15)

$blah = 5 + "10 Małych Świń"; // $blah jest wartością całkowitą (15)

?>

Podczas przypisywania zmiennej nowej wartości, poprzednia wartość jest oczywiście zamazywana. W takim przypadku typ zmiennej ustalany jest od nowa.

 

Jeśli jednak zachodzi potrzeba zmiany typu lub PHP błędnie rozpoznaje typ, to można tego dokonać za pomocą rzutowania (cast ? efekt jest jednorazowy) lub za pomocą funkcji settype (efekt trwały).

 

Rzutowanie typów odbywa się przez podanie nowego typu w nawiasie przed zmienną lub wartością, której typ chcemy zmienić.

 

 

Przykład 2.7. Rzutowanie typów

 

<?php

$liczba_calkowita = 10;

 

$liczba_rzeczywista = (real) $liczba_calkowita;

?>

 

 

Dozwolone typy rzutowań

 

(int), (integer) ? rzutuj do typu całkowitego

(real), (double), (float) ? rzutuj do typu rzeczywistego

(string) ? rzutuj do ciągu

(array) ? rzutuj do tablicy

(object) ? rzutuj do obiektu

Drugim sposobem, trwałym, jest użycie funkcji settype. Funkcja ta pobiera 2 argumenty. Pierwszym jest nazwa zmiennej do ustalenia typu, a drugim ciąg określający nowy typ zmiennej.

 

 

 

Dopuszczalne argumenty funkcji settype

 

?integer?

?double?

?string?

?array?

?object?

Funkcja zwraca wartość ?true? gdy wszystko poszło pomyślnie. W przeciwnym razie zwracana jest wartość ?false?.

 

 

Przykład 2.8. Przykład użycia funkcji settype

 

<?php

 

$zmienna = 10.3;

 

echo "$zmienna <br>"; // Wyświetlona wartość to "10.3"

 

settype($zmienna, "integer");

 

echo "$zmienna <br>"; // Wyświetlona wartość to "10"

 

?>

 

 

 

 

Predefiniowane zmienne

W każdym skrypcie PHP dostępne jest kilka zmiennych, których wartość jest ustalana na podstawie zmiennych środowiskowych serwera WWW. Dostępne są jak zwykłe zmienne ? ze znakiem dolara przed nazwą.

 

 

 

Zmienne ustawiane przez serwer WWW

 

GATEWAY_INTERFACE

Informacja o specyfikacji CGI używanej przez serwer, np. ?CGI/1.1?.

SERVER_NAME

Nazwa hosta serwera na którym skrypt jest uruchamiany. Jeśli skrypt pracuje na wirtualnym hoście, to zmienna przyjmie jako wartość nazwę wirtualnego hosta.

SERVER_SOFTWARE

Ciąg identyfikujący serwera podawany przy odpowiadaniu na zapytania.

SERVER_PROTOCOL

Nazwa i numer wersji protokołu za pomocą którego wysłano zapytanie o stronę, np. ?HTTP/1.0?;

REQUEST_METHOD

Metoda zapytania użyta do uzyskania dostępu do strony, np. ?GET?, ?HEAD?, ?POST?, ?PUT?.

QUERY_STRING

Ciąg zapytania (jeśli takowy istnieje) za pomocą którego połączono się ze stroną.

DOCUMENT_ROOT

Katalog główny drzewa dokumentów spod którego skrypt jest wykonywany ? jest to ustawienie z pliku konfiguracyjnego serwera.

HTTP_ACCEPT

Nagłówek z aktualnego zapytania, jeśli taki istnieje.

HTTP_ACCEPT_CHARSET

Zawartość nagłówka ?Accept-Charset? z aktualnego zapytania, jeśli taki istnieje, np. ?iso-8859-1,*,utf-8?.

HTTP_ENCODING

Zawartość nagłówka ?Accept-Encoding? z aktualnego zapytania, jeśli taki istnieje, np. ?gzip?.

HTTP_ACCEPT_LANGUAGE

Zawartość nagłówka ?Accept-Language? z aktualnego zapytania, jeśli taki istnieje, np. ?en?.

HTTP_CONNECTION

Zawartość nagłówka ?Connection? z aktualnego zapytania, jeśli taki istnieje, np. ?Keep-Alive?.

HTTP_HOST

Zawartość nagłówka ?Host? z aktualnego zapytania, jeśli taki istnieje.

HTTP_REFERER

Adres strony (jeśli taka była), która wskazała przeglądarkę do tej strony. Wartość ta jest ustawiana przez przeglądarkę ? nie wszystkie to robią.

HTTP_USER_AGENT

Zawartość nagłówka ?User-Agent? z zapytania, jeśli taki istnieje. Jest to ciąg informujący o przeglądarce która została użyta do obejrzenia bieżącej strony, np. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Można użyć funkcji get_browser() aby dopasować funkcjonalność strony do przeglądarki użytkownika.

REMOTE_ADDR

Adres IP z którego użytkownik połączył się z serwerem.

REMOTE_PORT

Port używany do komunikacji pomiędzy użytkownikiem a serwerem.

SCRIPT_FILENAME

Ścieżka do aktualnie wykonywanego skryptu.

SERVER_ADMIN

Wartość podana dla opcji SERVER_ADMIN w konfiguracji serwera WWW. Jeśli skrypt działa na wirtualnym serwerze, to będzie to wartość podana dla tego wirtualnego serwera.

SERVER_PORT

Port na serwerze którego użyto do połączenia. Dla normalnych połączeń będzie to ?80?.

SERVER_SIGNATURE

Ciąg zawierający wersję i nazwę wirtualnego hosta który jest dodawany do stron generowanych przez serwer.

SCRIPT_NAME

Zawiera ścieżkę do aktualnie wykonywanego pliku. Jest to przydatne do skyptów, które muszą wskazywać samego siebie.

REQUEST_URI

URI który został podany aby uzyskać dostęp do tej strony.

 

 

Zmienne ustawiane przez PHP

 

argv

Tablica argumentów przkazywanych do skryptu. Jeśli skrypt jest uruchamiany z linii poleceń, to zmienna ta daję dostęp do argumentów w stylu języka C. Jeśli jest wywołany przez metodę GET, to zmienna ta zawierać będzie ciąg parametrów (query string).

argc

Zawiera liczbę parametrów podanych podanych do skryptu w linii poleceń (jeśli skrypt został wywołany z linii poleceń).

PHP_SELF

Nazwa pliku aktualnie wykonywanego skryptu, względna do katalogu głównego dokumentów. Ta zmienna jest niedostępna jeśli PHP jest uruchamiany z linii poleceń.

HTTP_COOKIE_VARS

Tablica asocjacjna zmiennych przekazanych do skryptu przez HTTP cookies. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą <?php_track_vars?>.

HTTP_GET_VARS

Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę GET. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą <?php_track_vars?>.

HTTP_POST_VARS

Tablica asocjacjna zmiennych przekazanych do skryptu przez metodę POST. Dostępna tylko jeśli włączone zostało śledzenie zmiennych przez ustawienie w konfiguracji PHP opcji track_vars lub komendą <?php_track_vars?>.

 

 

 

 

Stałe

W PHP występują także tzw. stałe, czyli identyfikatory znakowe, których wartości nie można zmienić. Stałych, w odróżnieniu od zmiennych, używa się bez znaku dolara na początku. W PHP występuje kilka zmiennych ustawianych przez parser.

 

 

 

Stałe ustawiane przez PHP

 

__FILE__

Nazwa pliku ze skryptem który jest aktualnie przetwarzany. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany (o poleceniu include w dalszej części kursu), to podana zostanie nazwa pliku zainkludowanego, a nie pliku nadrzędnego.

__LINE__

Numer linii w skrypcie która aktualnie jest przetwarzana. Jeśli stała ta użyta jest wewnątrz pliku który został zainkludowany, to podany zostanie numer linii przetwarzanej w pliku zainkludowanym.

PHP_VERSION

Ciąg reprezentujący wersję parsera PHP aktualnie używaną.

PHP_OS

Nazwa systemu operacyjnego na którym uruchamiany jest parser PHP.

TRUE

Logiczna wartość prawdy.

FALSE

Logiczna wartość fałszu.

Stałe mogą być definiowane przez użytkownika za pomocą funkcji define(), która przyjmuje 2 parametry: nazwę stałej i wartość do niej przypisaną.

 

 

Przykład 2.9. Definiowanie stałych

 

<?php

define("STALA", "Hello world.");

echo STALA; // Wyświetla "Hello world."

?>

 

Licze na +

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...