Ćwiczenie 9_1_0_1. Tworzenie klasy przycisków
Czas na konkretne działanie. Zdefiniujemy klasę Przyciski
. Definicję umieścimy w pliku klasa.php
. Dokument HTML w którym pokażemy obiekty przycisk1
oraz przycisk2
klasy Przyciski
nazwiemy przyciski.php
. Style zdefiniujemy w arkuszu zewnętrznym style.css
Plik style.css
.przycisk
{
display:block;
position:absolute;
height:30px;
background-color:green;
line-height:30px;
text-align:center;
font-family:Arial;
font-size:17px;
color:white;
font-weight:bold;
border:3px solid silver;
letter-spacing:4px;
cursor:default;
}
.przycisk:active
{
border:1px solid silver;
}
Plik klasa.php
<?php
class Przyciski
{
public $pozycja_x='20';
public $pozycja_y='20';
public $szerokosc='200';
public $napis='Przycisk';
public $kolor='green';
public $adres='http://www.teacher.webd.pl';
public function wyswietl()
{
echo '<a href="'.$this->adres.'" style="text-decoration:none;">'."\n";
echo '<div class="przycisk" style="left:'.$this->pozycja_x.'px;top:'
.$this->pozycja_y.'px;width:'.$this->szerokosc.'px;background-color:'
.$this->kolor.';">'."\n";
echo $this->napis."\n";
echo '</div>'."\n";
echo '</a>';
}
}
?>
Plik przyciski.php
<!doctype html>
<html>
<head>
<title>Przyciski</title>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
require_once('klasa.php');
$przycisk1=new Przyciski();
$przycisk1->napis='Odsyłacz do strony autora';
$przycisk1->szerokosc='400';
$przycisk1->wyswietl();
$przycisk2=new Przyciski();
$przycisk2->pozycja_y='60';
$przycisk2->napis='Odsyłacz do strony szkoły';
$przycisk2->adres='http://glowacki.p9.pl';
$przycisk2->szerokosc='400';
$przycisk2->kolor='red';
$przycisk2->wyswietl();
?>
</body>
</html>
Co od razu rzuca się w oczy? Otóż możemy tworzyć choćby tysiąc przycisków za pomocą new Przyciski()
, wykorzystując raz zdefiniowana klasę Przyciski
. Widzimy, że jest to "wyższy poziom" programowania. Do tej pory umieliśmy definiować funkcje, które można było wielokrotnie wykorzystywać w kodzie programu. W klasie funkcje definiują różne metody, oprócz metod mamy także właściwości.
Obiekty przycisk1
oraz przycisk2
są egzemplarzami klasy Przyciski
.
Słowo kluczowe public
oznacza, że dana właściwość lub metoda jest dostępna poza danym obiektem. Dzięki temu mogliśmy np. zmienić właściwość kolor
na 'red'
. Operator ->
to właśnie odwołanie do metody lub właściwości klasy. Wskaźnik $this
oznacza odwołanie do elementu wewnątrz klasy.
Tworzenie obiektów na poziomie podstawowym, wymaga zrozumienia jeszcze kilku zagadnień, które omówimy podczas następnych zajęć.