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 by Kame (cz.1)


kame

Rekomendowane odpowiedzi

Opublikowano

Budowanie stron w oparciu o html i css to podstawa. Ale czy ta podstawa wystarcza żeby stworzyć portal który przyciągnie tysiące odwiedzających dziennie? Czy facebook wygląda oszałamiająco od strony użytkownika? Charakterystyczny niebieski pasek przyklejony do górnej części każdej przeglądanej strony. Trochę ikon, efekty wyskakujących okienek typu pop-up np. po kliknięciu na zdjęcie.

Czy można więc wysoko ocenić poziom graficzny tego portalu? Zauważ jednak, że duże, naprawdę bardzo duże portale, które zarabiają miliony, a nawet miliardy dolarów wyglądają przeciętnie.

Spójrz na czcionkę logo Google. Napisz ich czcionką dowolną inną nazwę firmy, pokoloruj litery różnymi kolorami i voila! Chciałbyś aby tak wyglądało logo Twojej firmy? Ja nie.

Spójrz na logo facebooka ? sam tekst. Czcionka nieco bardziej nowoczesna od tej Google ale to wciąż żaden majstersztyk wśród logotypów.

Do czego zmierzam? Logo to rzecz naprawdę dalekoplanowa jeśli chodzi o tworzenie serwisu internetowego. Proponuję Ci więc ? nie skupiaj się nad logiem zbyt długo. Poświęć ten czas na tworzenie serwisu.

Beznadziejny serwis z super logiem = klapa. Super serwis z beznadziejnym logiem = sukces.

Z grafiką strony jest podobnie. Choćbyś nie wiem jak starannie dopracował szatę graficzną i tak ważniejsze dla użytkownika będzie tzw. usability.

Możesz więc być świetnym grafikiem, mieć htmla i cssa w jednym palcu, ale czy dzięki temu stworzysz dochodowy serwis? Bez współpracy z programistą, samemu na 99% nie uda Ci się tego osiągnąć.

 

Dlatego postanowiłem, że przybliżę Ci język programowania jakim jest PHP.

 

 

Na początek rzecz najistotniejsza jeśli chodzi o pisanie w języku PHP. O ile strony html możesz bez problemu otwierać w swojej przeglądarce bez konieczności kopiowania ich na serwer o tyle z PHP jest już trochę inaczej.

Aby Twój kod został wykonany potrzebujesz tzw. interpretera. Dla PHP rozwiązaniem jest serwer APACHE, który zainstalowany jest na każdym hostingu.

Czy jednak musisz posiadać wykupiony hosting aby programować w PHP? Oczywiście, że nie. Potrzebujesz jednak zainstalować serwer APACHE na swoim lokalnym komputerze.

Aby ułatwić sobie to zadanie skorzystaj z gotowych pakietów instalacyjnych, dzięki którym zainstalujesz również MySQL ? system zarządzania bazami danych.

Sam PHP nie daje bowiem takich możliwości jak połączenie go z bazą danych. Dzięki temu w swojej bazie możesz zapisywać jak i pobierać z niej dowolne informacje.

Na bazach MySQL działają najpopularniejsze CMSy (czyli systemy zarządzania treścią) jak Joomla, Drupal, czy WordPress.

 

Jak więc uruchomić skrypty PHP na własnym komputerze?

 

Musisz zainstalować wcześniej wspomniane gotowe pakiety. Do dyspozycji są 2 najpopularniejsze: WAMP i XAMPP.

Po zainstalowaniu jednego z powyższych pakietów uruchamiasz tzw. panel kontrolny. W nim aktywujesz działanie poszczególnych serwisów obsługi PHP i MySQL.

Gdy już w panelu kontrolnym XAMPPa albo WAMPa masz włączone aktywną obsługę PHP/MySQL włączasz swoją przeglądarkę i w adresie wpisujesz localhost.

Tym samym uruchomiony zostaje plik index.php znajdujący się w głównym folderze Twojego lokalnego serwera APACHE.

Mówiąc ściślej w WAMPie znajdziesz ten folder w ścieżce c:\wamp\www (o ile nie zmieniłeś ścieżki instalacji). W XAMPPie będzie to c:\xampp\htdocs i właśnie w tym miejscu wrzucasz wszelkie swoje skrypty PHP.

 

XAMPP czy WAMP?

 

Korzystałem z obu pakietów i polecam Ci Wampa. Ważne ? zainstaluj wersję 32bitową, nawet jeśli Twój system jest 64bitowy. Na wersji 64bitowej nie działa starsza wersja PHP jeśli będziesz chciał ją doinstalować.

Wamp ma też bardziej przyjemny interface i jestem z niego bardziej zadowolony niż z wcześniej dość długo użytkowanego XAMPPa.

Przechodząc więc do sedna.

1. Ściągnij i zainstaluj WAMPSERVER (32 BITS & PHP 5.3) 2.2E (z wyskakującego okienka wybierz i zainstaluj jeszcze 32bit pakiet C++)

2. Zainstaluj go i przejdź do folderu c:\wamp\www

3. Utwórz nowy folder o dowolnej nazwie np. Kurs PHP a w nim kolejny Dzień 1 (najlepiej bez polskich znaków i spacji ? c:\wamp\KursPHP\dzien1)

4. Zainstaluj edytor tekstowy Notepad++

5. W edytorze Notepad++ otwórz nowy plik i wpisz w nim:

 

<?php

echo 'kurs PHP by Kame';

?>

 

6. Zapisz plik w folderze c:\wamp\www\KursPHP\dzien1 jako index.php (wszystkie pliki php, które chcesz wykonywać muszą znajdować się w folderze www katalogu instalacji wamp)

7. Przejdź do przeglądarki, wpisz localhost (musisz mieć włączonego WAMPa) i kliknij poniżej Your Projects w KursPHP i w dzien1

Powinieneś zobaczyć białą stronę z tekstem ?kurs PHP by Kame?.

Cała operacja może wyglądać na lekko skomplikowaną, ale jeśli chcesz programować musisz nauczyć się jednej bardzo ważnej rzeczy: SAMODZIELNOŚCI.

PHP ma naprawdę świetną dokumentację. Praktycznie każdy problem, jest w internecie opisany z gotowym rozwiązaniem. Wystarczy tylko poszukać.

Może brzmi to z początku trochę nie miło, ale uwierz mi. Programowanie to rzecz wymagająca wyobraźni. Wyobraźnia wymaga myślenia, a myślenie wymaga samodzielności.

Jeśli zależy Ci aby poznać PHP musisz być zdeterminowany. Jeśli nauka byłaby prosta każdy znałby ten język tak samo jak swój język ojczysty.

 

Napisałeś swój pierwszy skrypt w php. Dowiedziałeś się również, że aby wykonywać polecenia języka PHP potrzebujesz zainstalowanego i uruchomione interpretera.

Uruchom więc WAMPa i w folderze c:\wamp\www\KursPHP utwórz folder ?dzien2?. Następnie otwórz nowy plik w Notepad++ i zapisz go w folderze dzien2 jako plik index.php.

Ważna uwaga: aby wykonać skrypt php musi on znajdować się w pliku z rozszerzeniem .php, NIE .html.

Możesz więc stworzyć sobie domyślną konstrukcję strony html czyli <!DOCTYPE ? <html><head> etc. ale aby wykonywać skrypty php na stronie musi mieć ona rozszerzenie .php.

 

Składnia PHP

 

Jak wygląda składnia zobaczyłeś w poprzedniej lekcji ale dla przypomnienia aby wykonać jakiekolwiek polecenie w języku PHP musi ono znajdować się pomiędzy znakiem rozpoczęcia i zamknięcia:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<!-- tutaj nie możesz wykonać skryptu php -->
<?php
// tutaj zostanie wykonany skrypt php
?>
<!-- tutaj nie możesz wykonać skryptu php -->
<?php
// tutaj znów możesz pisać w języku php
?>
</body>
</html>

Komentarze w języku php możesz stosować na 3 sposoby:

 

<?php
// tutaj możesz wstawić dowolny komentarz jedno liniowy

# tutaj również wpiszesz komentarz jedno liniowy

/* tutaj możesz pisać wiele linii komentarza
kolejna linia
i kolejna
i kolejna
aż do zamknięcia komentarza */

?>

 

Integracja PHP z HTML

 

Skrypty php możesz wykonywać w dowolnym miejscu całego dokumentu .php np. przed deklaracją doctype, w sekcji head, body, lub nawet po znaczniku kończącym </html>.

Daje to naprawdę duże możliwości bo możesz na samym początku dokumentu wywołać skrypt który zdecyduje czy strona ma się dalej ładować czy nie.

Możesz wstawiać również bardzo małe fragmenty kodu php wewnątrz znaczników html, przykład:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="<?php #dowolny skrypt ?>">
</div>
<a href="<?php echo 'http://google.com'; ?>">google</a>
</body>
</html>

Co w efekcie jeśli sprawdzisz kod źródłowy uruchomionej strony będzie wyglądało następująco:

 

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="">
</div>
<a href="http://google.com">google</a>
</body>
</html>

 

 

Widzisz więc, że daje to naprawdę bardzo duże możliwości.

 

Zauważ również jedną bardzo ważną rzecz. PHP to kod wykonywany po stronie serwera. Czyli wszystko co wpiszesz pomiędzy znacznikami <?php ?> nie będzie widoczne w żaden sposób dla użytkowników. Widoczne są tylko elementy, które poprzedzisz funkcją odpowiadającą za wyświetlanie tekstu. Taką bardzo popularną funkcją jest użyta wcześniej funkcja echo.

 

Jeśli chcesz wyświetlić jakiś fragment tekstu przy pomocy php wywołujesz więc funkcję echo a następnie w cudzysłowie wpisujesz wybrany tekst. Działanie funkcji echo kończysz średnikiem ? ;

 

Budowa przypomina lekko css gdzie mamy cechę następnie wartość cechy i również kończymy ją średnikiem np.

 

font-size: 24px ;

 

W php funkcja echo wygląda więc następująco:

 

<?php

echo 'dowolny tekst';

?>

 

W php jednym z fundamentalnych elementów są zmienne. Żeby zobrazować Ci bardziej ten termin wyobraź sobie, że tworzysz na pulpicie nowy dokument tekstowy. Nazywasz go np. nr telefonu do mojej dziewczyny. W środku rzecz jasna w samym dokumencie piszesz nr. Następnie tworzysz nowy dokument o nazwie mój ulubiony program w telewizji i piszesz w nim ?zagadki wszechświata z Morganem Freemanem?.

Teraz w dowolnym momencie możesz otworzyć wybrany dokument i sprawdzić jego zawartość. Ale to nie wszystko, program telewizyjny może Ci się przecież znudzić, więc zmieniasz jego nazwę w dokumencie. Dziewczyny nie musisz zmieniać, wystarczy że ona zmieni swój nr telefonu ;)

 

Poprawne nazewnictwo

 

Przełóżmy to teraz na php. Zmienne w php możesz nazywać dowolnie, są jednak pewne standardy i niedozwolone znaki. Nie możesz używać spacji, zmienna nie może zaczynać się liczbą, czy jakimkolwiek znakiem specjalnym. Sprawdź jak wygląda to w praktyce. Uruchom WAMPa, utwórz nowy folder dzien3, a w nim plik index.php. W pliku umieść następujące dane:

 

<?php

$przykladowaZmienna = 'wartość zmiennej'; //poprawna nazwa zmiennej
$123zmienna = 'wartość zmiennej'; //błędna nazwa
$-zmienna = 'wartość zmiennej'; //błędna nazwa
$przykladowa-zmienna123 = 'wartość zmiennej'; //poprawna nazwa

?>

 

 

Jak pewnie zauważyłeś KAŻDA zmienna rozpoczyna się znakiem dolara. $ daje wyraźnie polecenie pt. utwórz zmienną o nazwie, po czym wpisujesz dowolną nazwę po znaku dolara. Następnie (podobnie jak w poznanej już funkcji echo) mamy znak równości oraz treść w cudzysłowu. Całe polecenie zakończone średnikiem.

Napiszmy teraz polecenie, które wyświetli wartość ze zmiennej.

 

<?php

$nrTelefonu = '123-456-789';

echo $nrTelefonu;

?>

 

W przeglądarce powinien wyświetlić się podany nr telefonu. Zauważ kilka bardzo istotnych elementów: przy

wywołaniu funkcji echo nie użyliśmy już cudzysłowu. Jeśli bowiem

użyjesz pojedynczego cudzysłowu przy zmiennej zostanie ona potraktowana

jako tekst, który chcesz wyświetlić. Sprawdź:

 

<?php

$nrTelefonu = '123-456-789';

echo '$nrTelefonu'; //wyświetli $nrTelefonu

?>

 

W tym miejscu musisz zrozumieć bardzo ważną rzecz. PHP

traktuje dane zawarte w środku pojedynczych cudzysłowów jako tekst.

Natomiast jeśli użyjesz podwójny cudzysłów PHP wyświetli poprawnie tekst

oraz przetworzy go w poszukiwaniu zmiennych. Jeśli takie znajdzie

zostanie wyświetlona ich zawartość.

 

<?php

$nrTelefonu = '123-456-789';

echo "Mój nr telefonu to $nrTelefonu"; //wyświetli Mój nr telefonu to 123-456-789

?>

 

Z reguły zaleca się używanie pojedynczych cudzysłowów, gdyż nie angażuje

to mocy obliczeniowej wymaganej do przetwarzania tekstu w poszukiwaniu

zmiennej. Zauważalne różnice w wydajności wykonywania skryptów są rzecz

jasna bardzo niewielkie, ale przy złożonych projektach optymalizacja

kodu jest bardzo istotna.

 

 

Łączenie elementów

 

Jeśli więc zaleca się stosowanie pojedynczych cudzysłowów jak umieścić zmienną w sąsiedztwie tekstu? Poniższe rozwiązanie wyświetli błąd:

 

<?php

$nrTelefonu = '123-456-789';

echo 'Mój nr telefonu to' $nrTelefonu; //Błąd: [b]Parse error[/b]: parse error...

?>

 

Aby połączyć tekst ze zmienną lub kilka zmiennych razem musisz użyć kropki.

 

<?php

$tekst = 'Mój nr telefonu to ';
$nrTelefonu = '123-456-789';

echo $tekst . $nrTelefonu . ' zadzwoń!';

?>

 

Jeśli nie widzisz polskich znaków musisz użyć kodowania, czyli wklej całą składnię html, doctype itp. i ustaw kodowanie w meta charset.

Odstępy pomiędzy zmiennymi i kropkami są bez znaczenia tj. możesz wpisać $zmienna.$zmienna2 lub $zmienna . $zmienna2 i w obu przypadkach tekst zostanie wyświetlony tak samo. Jeśli chcesz natomiast użyć spacji musisz albo umieścić ją jako dodatkowy tekst i zawrzeć spację w cudzysłów, przykład:

 

<?php

echo 'tekst teskt' . ' ' . 'tekst tekst';

?>

 

Albo uwzględnić odstęp dodając spację w wartości zmiennej, tak jak w poprzednim przykładzie w zmiennej $tekst = ?Mój nr telefonu to ?;

Nadpisywanie zmiennych

 

Nazwa zmiennej musi być unikalna. Jeśli powtórzysz nazwę tworząc kolejną zmienną, poprzednia zostanie nadpisana. Przykład:

 

<?php

$owoce = 'arbuzy';

echo 'Uwielbiam ' . $owoce; //wyświetli Uwielbiam arbuzy

$owoce = 'brzoskwinie';

echo 'Uwielbiam '. $owoce; //wyświetli Uwielbiam brzoskwinie

?>

 

Zmienne mają bardzo szerokie zastosowanie i niesamowicie ułatwiają pracę. Jeśli w twoim skrypcie jedna rzecz przewija się wiele razy łatwiej umieścić ją w zmiennej i później odwoływać się tylko do niej, niż za każdym razem kopiować ciąg tekstu czy kodu. Dodatkowo zmiana wartości zmiennej skutkuje zmianą w każdym miejscu, w którym się do niej odwołaliśmy. Nie trzeba więc ręcznie zmieniać w każdym miejscu tych samych danych.

Wstawianie HTML

 

Na koniec bardzo istotna kwestia. Jeśli wstawiasz kod html wewnątrz php (obojętnie czy jako tekst, czy jako zmienną) wstawiaj go w pojedynczym cudzysłowie.

 

<?php

$html = '<div style="background:red;color:#fff;">Div z czerwonym backgroundem</div>';

echo $html;

?>

 

Wstawiając bowiem html w podwójny cudzysłów musiałbyś htmlowe podwójne cudzysłowy zamieniać na pojedyncze. W innym wypadku php skończy przyjmowanie wartości zmiennej w momencie pojawienia się drugiego cudzysłowu.

 

<?php

echo "<div style="background:red;color:#fff;">Div z czerwonym backgroundem</div>";
//[b]Parse error...[/b]

?>

 

W powyższym przykładzie zostanie wyświetlony błąd, gdyż w miejscu style=? php ?myśli? że jest to już koniec danych które chcesz wyświetlić i nie jest w stanie zinterpretować dalszego ciągu znaków. Użycie pojedynczego cudzysłowu w funkcji echo załatwia tutaj sprawę.

 

Tutorial został zrobiony przeze mnie zakaz kopiowania na inne fora.

 

Część 2 już niebawem....

 

Pamiętaj! jeżeli doceniasz to co robię proszę o Like!

Opublikowano

Kilka zastrzeżeń.

Pisz:

echo("Tekst");

gdyż to ujednolica kod i jest bardziej czytelne. Nie używaj kropek przy wyświetlaniu zmiennych w echo. Nie napisałeś wszystkich możliwych sposób otwarcia skryptu php. Nie czytałem całego bo za długie i mi się nie chce.

Opublikowano

Kilka zastrzeżeń.

Pisz:

echo("Tekst");

gdyż to ujednolica kod i jest bardziej czytelne. Nie używaj kropek przy wyświetlaniu zmiennych w echo. Nie napisałeś wszystkich możliwych sposób otwarcia skryptu php. Nie czytałem całego bo za długie i mi się nie chce.

 

Dziękuje za te wskazówki. Postaram się to poprawić.

Opublikowano

Poradnik schludnie wygląda, ale brak mi tutaj dokładniejszych opisów funkcji, np. @echo, skąd nowicjusz w php może wiedzieć co oznacza to @echo itp.

Do reszty nie mam zastrzeżeń, choć pisanie kursu php w którym przedstawisz całą składnię (w tematach na forum) jest na dłuższą metę samobójcze, no chyba że przedstawisz w tym kursie tylko podstawy, jakiś wstęp do pisania w php, to już rozumiem.

 

Like ;)

screenshot_10.jpg


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...