Wprowadzenie do PHP
14 July 2008
Comments
Cele
- Poznanie podstaw języka PHPCzego musisz się nauczyć:
- Podstawowej składni: zmienne, instrukcje if, for, foreach, proste funkcje (operacje na tekście-łańcuchach)- Warto wiedzieć: co to są tablice i jak dostać się do danych w nich zawartych
- Co to są funkcje i jak wyglądają
Przydatne Linki
W sieci są bardzo dobre wprowadzenia do języka. Warto z nich skorzystać:- Kurs PHP na wikibooks - dobre wprowadzenie w podstawy PHP !
- Dokumentacja PHP - tutaj szukamy funkcji, ich opisu itp.
- Proszę nie panikować. Pierwsze lekcje będą dokładniej omawiały kod :)
PHP, Klasy i Frameworki
PHP jest językiem skryptowym stosującym prostą składnię. Kod umieszcza się w plikach o domyślnym rozszerzeniu *.php i następnie umieszcza na serwerze posiadającym interpreter PHP. Przykładowe fragmenty kodu na jakie natrafiamy w czasie nauki języka składają się najwyżej z kilkudziesięciu linijek kodu. Prawdziwe aplikacje mają ich tysiące albo i więcej. Rozwój PHP jak i sposób tworzenia aplikacji zmierza w kierunku jak najlepszego poukładania tych linijek kodu w przejrzystą i czytelną postać. Obecnie stosowanym sposobem organizacji aplikacji jest m.in. projektowanie obiektowe - grupowanie kodu w elementy odpowiedzialne za określone zadania. Każdy komponent składa się z elementów potrafiących wykonywać określone czynności np.: "moduł" artykułów zawiera takie elementy jak "dodaj artykuł", "usuń artykuł" itd. To jest uproszczona koncepcja programowania obiektowego. "Modułem" jest klasa a "elementem" metoda klasy.FUNKCJE
Zanim zabierzemy się za klasy zajmiemy się funkcjami. Funkcja wykonuje określoną czynność. Może np. wyświetlić datę czy zamienić duże litery na małe. Może też połączyć się z bazą danych i wykonać wiele innych czynności. PHP posiada funkcje wbudowane czyli te, z których korzystamy, np: date(), trim(), file(). Można też tworzyć własne funkcje i tym się zajmiemy. Szkieletowa funkcja wygląda tak:<?php
function funkcja()
{
return 'zwracana wartość';
}
?>
<?php
function funkcja()
{
return 'zwracana wartość';
}
funkcja(); // nic nie wyświetli
echo funkcja(); // wyświetli tekst
<?php
function funkcja($tekst)
{
return strtoupper($tekst);
}
echo funkcja('to jest parametr');
function domyslna($tekst = 'wartość domyślna')
{
return strtoupper($tekst);
}
echo domyslna();
<?php
function funkcja($liczba1, $liczba2 = 2)
{
return $liczba1+$liczba2;
}
echo funkcja(4); // 4+2 = 6
echo '<BR>';
echo funkcja(1, 1); // 1+1 = 2
?>
KLASY
Klasy to w uproszczeniu zbiór funkcji. Oto przykładowa klasa:<?php
class Klasa
{
function funkcja()
{
return 'a';
}
function inna($a)
{
return trim($a);
}
}
$obiekt = new Klasa();
echo $obiekt->funkcja();
?>
Klasy natomiast wywoływane są inaczej niż funkcje. Pierwszym etapem jest stworzenie obiektu klasy:
<?php
$obiekt = new NAZWAKLASY();
Klasy mają dodatkowe możliwości. Konstruktor to metoda wykonywana automatycznie przy tworzeniu obiektu. Destruktor (PHP5) to metoda wykonywana przy zakończeniu korzystania z obiektu. W PHP4 konstruktor ma taką samą nazwę jak nazwa klasy. W PHP5 konstruktor ma nazwę __construct a destruktor __destruct. Jako że CI jest zgodny z PHP4 nie będziemy się wgłębiać w rozbudowany (i dobry) model obiektowy PHP5. Przykład konstruktora:
<?php
class Klasa
{
function Klasa($start)
{
echo $start;
}
function funkcja()
{
return 'a';
}
}
$obiekt = new Klasa('test');
echo $obiekt->funkcja();
?>
Zasięg zmiennych - w funkcjach zmienne wewnątrz nie są dostępne na zewnątrz i na odwrót, chyba że daną zmienną określi się jako globalną. Można tak robić w klasach ale nie jest to zalecane jako że "niszczy" to sens stosowania klas (niezależne klocki aplikacji o jasno określonym działaniu). Dodatkowo klasy mają zmienne dostępne we wszystkich metodach:
<?php
class Klasa
{
function Klasa($start)
{
$this->zmienna = $start;
}
function funkcja()
{
return 'test: '.$this->zmienna;
}
}
$obiekt = new Klasa('test');
echo $obiekt->funkcja();
?>
FRAMEWORKI
Frameworki to narzędzia/aplikacje ułatwiające i przyśpieszające tworzenie aplikacji. Ich zadaniem jest dostarczyć proste rozwiązania najczęstszych problemów tak by programista nie musiał zaczynać od zera zajmując się pierdołami. Tworząc system newsów interesuje nas system newsów a nie system sprawdzania poprawności danych z formularzy, system skór, system uprawnień, interfejs do bazy danych itd. Framework ma mieć gotowe rozwiązania na wszystkie pierdoły i nie przeszkadzać w tworzeniu zamierzonych aplikacji. Obecne frameworki stosują określony wzorzec projektowania. Każdy z nich w określony sposób porządkuje kod :)Code Igniter (CI)
Jest to prosty a zarazem dobry framework, na którym można się i uczyć i tworzyć dobre aplikacje. Strona: http://codeigniter.com/. Zbliżające się lekcje nauczą cię korzystania z CI, szybkiego tworzenia dobrych aplikacji. Nie jest idealny...
RkBlog
Comment article