Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Promowane odpowiedzi

Cuan    182

Nazwa: PuzzlePage
Autor: Cuan
Tematyka: PHP framework

Opis: Napisałem sobie ten framework, gdyż dawno nic nie pisałem w PHP i się za nim stęskniłem. Może się on komuś przyda, a może nie. Jego celem jest układanie kodu HTML i CSS strony z poziomu PHP. A może ktoś przerobi go sobie na system szablonów.
Screen/Live Demo: KLIK

Licencja: MIT
Download: puzzlepage.rar

Dokumentacja: 

 

1. Zaczynamy!

Dołączamy framework do naszego skryptu

require_once('PuzzlePage.php');

i rozpoczynamy pracę na nim:

$PP = new PuzzlePage($title, $charset='utf-8', $lang=false, $doctype='html');

$title - tytuł strony.

$charset - kodowanie znaków, domyślanie utf-8.

$lang - język strony (dla znacznika html), np. "pl", domyślnie brak.

$doctype - typ dokumentu, domyślnie html.

obowiązkowe | nieobowiązkowe

np.

$PP = new PuzzlePage('Moja pierwsza strona WWW');

2. Zarządzanie elementem!

Tworzenie elementu:

$element= $PP->createElement($name, $content='', $attr=false, $id=false);

$name - nazwa elementu, np. div.

$content - treść, możesz do niej wkleić inny element, np. 'Treść... '.$other_element, domyślnie brak.

$attr - atrybuty elementu, np. array('data-content' => 'attr content'), domyślnie brak.

$id - id elementu, domyślnie brak.

obowiązkowe nieobowiązkowe

np.

$li = $PP->createElement('li', 'element listy');
$ul = $PP->createElement('ul', $li);

Ostylowanie elementu:

$element->style($core, $attr, $v=false);

$core - rdzeń frameworka, w powyższych przykładach $PP

$attr - css, np. array('color' => '#00f'), domyślnie brak.

$v- wartość dla podanego atrybutu, domyślnie brak.

obowiązkowe nieobowiązkowe

np.

$element->style($PP, 'color', '#f00');
//lub
$element->style($PP, array(
 'color'=>'#f00',
 'background' => '#0f0'
));

Dodanie klasy do elementu:

$element->addClass($class);

$class - dodawana klasa.

 

Dodanie treści/elementów do elementu:

$element->addContent($content);

$content - treść.

 

 

 

3. Tworzenie źródła!

źródło - input, link, script, img itp.

$PP->createSource($type, $name, $content='', $attr=false, $id=false);

$type -  true = zamykane (np. <script></script>), false = nie zamykane (np. <input />).

$name - nazwa źródła, np. img.

$content - treść, np. 'alert(1); '.

$attr - atrybuty źródła, np. array('rel' => 'stylesheet', 'href' => 'index.css'), domyślnie brak.

$id - id źródła, domyślnie brak.

obowiązkowe nieobowiązkowe

 

 

4. Ostylowanie dowolnego elementu!

$PP->style($element, $attr, $v=false);

$element - klasa/id/tag(nazwa) elementu

$attr - css, np. array('color' => '#00f'), domyślnie brak.

$v- wartość dla podanego atrybutu, domyślnie brak.

obowiązkowe nieobowiązkowe

 

 

5. Dodanie elementu do ciała strony!

$PP->add($element);

$element - dodawany element (zmienna przechowująca go).

np.

$PP->add($header);

6. Wyświetlenie strony!

echo $core;

$core - rdzeń frameworka, w powyższych przykładach $PP

 

 

7. Przykład budowy strony!

<?php
require_once('PuzzlePage.php');
$PP = new PuzzlePage('Moja pierwsza strona, stworzona przy użyciu PuzzlePage!', 'utf-8', 'pl');
$PP->style('body', array(
	'width' => '100%',
	'background' => '#f0f0f0',
	'font-family' => 'Open Sans, sans-serif'
));
$header = $PP->createElement('header');
$header->style($PP, array(
	'margin' => '0 auto',
	'width' => '100%',
	'max-width' => '1200px',
	'background' => '#fafafa',
	'padding' => '80px 10px',
	'box-sizing' => 'border-box',
	'box-shadow' => '0 0 4px #81cfe0'
));
$page_title = $PP->createElement('h1', 'Tytuł Strony');
$header->addContent($page_title);
$main = $PP->createElement('main', 'Przykładowa treść...', 0, 'page_content');
$main->style($PP, array(
	'margin' => '0 auto',
	'width' => '100%',
	'max-width' => '1200px',
	'min-height' => '400px', 
	'background' => '#fafafa',
	'padding' => '8px',
	'box-sizing' => 'border-box',
	'border-top' => '4px solid #81cfe0',
	'box-shadow' => '0 0 4px #81cfe0'
));
$main->addClass('przykladowo_dodana_klasa');
$google_font = $PP->createSource(0, 'link', '', array(
	'rel' => 'stylesheet',
	'href' => 'http://fonts.googleapis.com/css?family=Open+Sans:300,400,600&subset=latin,latin-ext'
));
$PP->add($header.$main);
$PP->add($google_font);
echo $PP;
>

8. Konfiguracja.

private $config = array(
	'cache' => true,
	'start_css' => '*{margin:0;padding:0;border:none;}*:focus{outline:none;}',
	'css_path' => ''
);

cache - zapamiętywanie szablonu CSS, podczas jego tworzenia, należy zmienić na false.

start_css - początkowy CSS

css_path - ścieżka do CSS, powinna kończyć się na / lub zostać pusta (w przypadku, gdy css znajduje się w tym samym katalogu).

  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×