Budujemy obiektowo cz 2

Data: 2015-10-28, autor: Michał Misztal

W tym wpisie dokończymy sekcję head. Metody i cechy klasy są gotowe. Pora teraz na metodę która wyświetli nasz obiekt. Kod niech wygląda tak



  public function utworz(){
    echo<<<KONIEC
      <head>
        <meta charset="utf-8" />
        <meta name="Description" content="$this->sMDescription" />
        <meta name="Keywords" content="$this->sMKeywords" />
        <meta name="Author" content="$this->sAuthor" />
        <title>$this->sTitle</title>
        <link rel="shortcut icon" href="favicon.ico" />
KONIEC;
       foreach($this->aStylesheet as $style){
         echo '<link rel="stylesheet" type="text/css" href="'.$style.'" media="all" />';
       }
       foreach($this->aJScript as $jscript){
         echo '<script src="'.$jscript.'"></script>';
       }
       if(count($this->aGFonts)>0){
         foreach($this->aGFonts as $gfonts){
           echo '<link href="'.$gfonts.'" rel="stylesheet" type="text/css" />';
         }
       }
       echo<<<KONIEC
        </head>
KONIEC;
  }

Nic nie stoi na przeszkodzie żeby rozbudować tą klasę. Do moich potrzeb jest wystarczająca.
Ok. Klasa gotowa. Teraz najfajniejsze bo jej użyjemy. Przepis na głowę dokumentu jest, mamy wszystkie składniki. Teraz wystarczy to tylko wymieszać i gotowe. Przechodzimy do pliku index.php i tam zaraz pod require_once dla head.php piszemy



  $HEAD=new HEAD;

Zatrzymam się tutaj na chwilę, bo z tego co mi wiadomo to właśnie w tym momencie pojawiają się problemy. Co się teraz stało? No po prostu stworzyliśmy nowy obiekt klasy HEAD. HEAD to tylko klasa. Taki przepis na coś. Właściwym obiektem jest zmienna $HEAD (nazwa może być jakakolwiek) i to na niej wykonujemy metody (można dostać się do metody klasy bez tworzenia obiektu, ale o tym kiedy indziej). Czyli $HEAD to ten właściwy potwór którego stworzyliśmy (no jeszcze nie do końca) według przepisu z klasy HEAD.
Teraz ciąg dalszy. Mamy pusty obiekt, pora wypełnić go danymi. Do tego celu użyjemy metod. Mogliśmy też dostać się bezpośrednio do cech obiektu ale to nieprofesjonalne i niebezpieczne. Zatem



  $HEAD->set_Description('Sprzedaż i serwis komputerów i RTV. Nowe i używane - Wloszczowa.');
  $HEAD->set_Title('TV-MAX');
  $HEAD->set_Stylesheet(['style/','reset.min.css']);
  $HEAD->set_Stylesheet(['style/','styl.css','animacje.css','ciekawe_artykuly.css',
                       'fontello/css/fontello.css','cookies.css','kontakt.css',
                       'mail.css','serwis.css']);
  $HEAD->set_Stylesheet(['skrypty/','jquery-ui/jquery-ui.min.css']);
  $HEAD->set_JScript(['skrypty/','jquery.js']);
  $HEAD->set_Keywords('tv-max, wloszczowa, komputery, kasy fiskalne, laptopy, tablety, rtv, naprawa, sprzedaż');
  $HEAD->set_GFonts(['http://fonts.googleapis.com/css?family=Open+Sans:600&amp;subset=latin-ext']);

Jest to moment w którym wszystkie cechy są zapełnione. Pora na wisienkę na torcie



  $HEAD->utworz();

Sekcja head gotowa. Można z niej korzystać w innych projektach. Dygresja nr 2: IDE zazwyczaj podpowiada jakie cechy lub metody posiada obiekt ale jest jeden myk. Pliki muszą znajdować się w projekcie. Nie wystarczy edycja pojedynczego pliku. Należy utworzyć projekt i wskazać pliki. Skróci to znacznie całą robotę.

Skomentuj lub zgłoś błąd

© Michał Misztal 2018