PHP/Vlašský ořech
Z Varhoo
Zdrojové stránky projektu vlaský orech
- Mysql - knihovna php mysql
- Template engine Smarty template engine
Dokumentace k frameworku
Struktura složek
- view/ - složka pro templaty
- applications/ - složka pro kontrolery
- library/ - složka pro třídy objektů
- css/ - složka s css skripty
- js/ - složka s javaskriptovými soubory
- image/ - složka pro obrázky
- url.php - soubor s regulárními pravidly pro routování
- consts.php - konstanty pro projekt
- configure.php - konfigurační soubor pro celý projekt( obsahuje konfigurační data pro sql spojení)
- index.php - hlavní program s metodou run() (něco jako funkce main s loop)
class peanut
- constants() - inicializace konstant
- getPg() - inicializace POST a GET
- securiry(array rights) - nějaké pravidla pro přístup podle uživatele (wtf?)
- application() - inicializace a spuštění skriptů/kotrolerů
- renderSmarty() - inicializace a generování template enginu
- regUrl() - něco jako routování podle regulárních výrazů dané url
- Url() - inicializace proměných získaných z url
- goToUrl(string url) - funkce přesměrovává projekt na danou url
- makeProject() - vytvoření projektu (vytvoří adresářovou strukturu projektu)
- log(string text) - logování textu do výstupu (trochu fail)
- setTimer() - debuguje časovou náročnost
- run() - spuštění (něco jako hlavní smyčka z desktop programů "loop")
- module(sttring název) nebo library(string název) - v podstatě include programu
- setMainPage(string file) - nastavení hlavní stránky pro template
- isPost() - metoda určující zda byl poslán požadavek POST
class mysql
- konstruktor() - inicializuje mysql - připojení k serveru z configuračního souboru configure.php
- insert(string table, array) - vloží data do databáze vrací ID záznamu
- query(string query) - spustí sql dotaz
- queryArray(string query) - spustí sql dotaz a získané hodnoty vrátí jako array
- queryObject(string query) - spustí sql dotaz a získané hodnoty vrátí jako object
- fetchAll(string query) - vrátí pole hodnot ze selectu (pole nebo objekty)
- fetchOne(string query) - vrátí první hodnotu ze seznamu (pole nebo objekt)
- log() - vypíše chyby na výstup
- lastInsertId() - vrátí poslední ID provedeného dotazu
- update(string table, array, string condition) - aktualizace záznamu. napč. $Db->update("test",array("name","varhoo","id=1")
Ukázka proejktu
index.php
include "./configure.php"; include "./library/peanut.class.php"; require_once("./library/mysql.class.php"); $system = new peanut(); $system->run();
configure.php
$config["mysql_server"] = "localhost"; $config["mysql_db"] = "db"; $config["mysql_user"] = "user"; $config["mysql_pass" = "passwd";
url.php
$patern = array( array("^(.*)$","index",array("hello world")), );
application/ciindex.php (c<name of file> je prefix)
<? print_r($this->pg); //vypíše všechny dotazy na GET nebo POST $this->c["hello"] = "bafff!" //uloží data do "conent" pro template $this-c>["data"] = implode("
",merge_array($this->url,$this->info)); ?>
view/index.html
<h1>{ $view.hello } </h1> <p { $view.data } </p>