Autor Zpráva
Tirus
Profil *
prosím, chtěl bych začít využívat nějakého jednoduchého frameworku. Nejsem nijak extra super dobrej v OOP (snažím se ho stále pochopit hlouběji). A také začít využívat .htacess. Další co bych rád chtěl začít využívat je jakési chytřejší šablony.
Prosím o rady či odkazy či cokoliv.

Děkuji
Tori
Profil
Tirus:
Mě tu poradili tenhle jednoduchý framework (článek díl 1, díl 2) a jsem spokojená, takže dávám dál.
Tirus
Profil *
Tori:
mohu tě požádat o nějaké lehké ukázky? jako je práce s MySQL a vůbec tvoření nějakého graf. rozhraní?
Tirus
Profil *
a teď jsem si všiml.. kde tento framework stáhnu?
Tori
Profil
Tirus:
a teď jsem si všiml.. kde tento framework stáhnu?
Jak [autor] postupně vysvětluje princip frameworku, tak dává do textu odkazy na stažení jednotlivých tříd. Jako komplet to myslím nedal.

Jako db vrstvu používám dibi, jednotlivé dotazy do db jsou jako metody modelu. Třeba mám kontroler "uživatel", který má na starosti zobrazování/úpravu profilu a registraci uživatelů. K němu je do páru model, kde jsou metody typu změnitProfil, registrovat apod. Šablonový systém používám poměrně jednoduchý, takže všechna logika (zpracování vstupních dat, cyklus na generování opakujících se dat do šablony,..) je v kontrolerech.
Omlouvám se, zatím neumím vysvětlit nějaké principy, sama se ještě učím.
Tirus
Profil *
Tori:
Tak myslím že z toho všeho u mne schází, jelikož nevím přesněji jak to celé provázat... to co autor popisuje, tak dám dohromady, ale jak dál to už nedám.
Tirus
Profil *
Tori:
tak jsem to zrovna zkusil nějak poskládat dohromady, ovšem hlásí mi to chybu
Warning: fopen(C:\xampp\htdocs\proj_framework\templates\main.tpl) [function.fopen]: failed to open stream: No such file or directory in C:\xampp\htdocs\proj_framework\lib\bTemplate.php on line 276


ale nikde v návodu jsem se nedočetl nic o main.tpl
Tirus
Profil *
Tirus:
dobré, už jsem se v tom trochu pohrabal a celkem už i chápu. Jen bych potřeboval pomoci s tím připojením k MySQL
TomasJ
Profil
Tirus:
Jen bych potřeboval pomoci s tím připojením k MySQL
Zkus hledat tady na diskusi, je toho tady plno v sekci Databáze na webu
Tirus
Profil *
TomasJ:
blbě to chápeš :)
Tori
mi poradila pro práci s MySQL třídy z DIBI, ovšem nepochopil jsem jak to nahrát do tohoto frameworku.
Také bych potřeboval poradit s nějakým výstupem.. např. jak tam udělat tabulku, divy, apod... jen ten základ, zbytek si už nějak domyslím a popř. ukážu a někdo mne opraví, či navede na správnou cestu :)
Tori
Profil
Tirus:
Tori mi poradila pro práci s MySQL třídy z DIBI, ovšem nepochopil jsem jak to nahrát do tohoto frameworku.
dibi mám uloženou pod /lib/dibi.php. Pak mám např.pro všechny záležitosti, týkající se uživatele, jeden model (třída Models_Uzivatel v souboru /lib/Models/Uzivatel.php). Takže třeba registrace uživatele u mne vypadá zjednodušeně takhle:
class UzivatelController extends Controllers_AbstractController {

  public function registrace()  {
    // .... načtení dat z formuláře
    // .... kontroly správného vyplnění, min.délky hesla, jestli uživ.jméno není už použité apod.
    $model = new Models_Uzivatel();
    if (! $model->registruj($login, $heslo))  {
      parent::$messages[] = array('error', 'Registrace nebyla úspěšná, nastala chyba databáze.');
      // načtení šablony pro vnitřek stránky a vložení do hlavní šablony (nepoužívám bTemplate)
      $this->view->register_tpl('innerTpl'=>'chybaRegistrace.tpl');
      $this->view->assign('content', $this->view->parse('innerTpl'));
      $this->render(); // = metoda AbstractControlleru - doplní chybové hlášky a ladící výpisy a zobrazí hlavní šablonu
    }
    else  {
      parent::$messages[] = array('ok', 'Váš uživatelský účet byl vytvořen, můžete se přihlásit.');
      $this->redir('/login'); // = opět AbstractController - uloží všechny hlášky z $messages do session a přesměruje. 
    }
  }
}
Všechnu logiku zpracování dat do/z databáze mám v kontroleru, takže metody modelu obsahují vlastně jen sql dotaz a vrácení výsledku (a výjimečně nějaké přesypání dat do tvaru použitelnějšího v kontroleru).
Tirus
Profil
Tori:
super toto chapu.. lehce se to vse da vydedukovat.. jenze nejak stale nepobiram to s tim dibi... stahl jsem si celej balicek toho frameworku, ale fakt nechapu co s tim dal :(

Moderátor Petr ZZZ: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Tori
Profil
Tirus:
Klidně můžete nejdřív použít obyčejné mysql(i) funkce PHP a později přepsat model pro dibi, PDO, cokoli. Z hlediska kontroleru je jedno, jestli bude jedna metoda modelu vypadat takhle:
public function getUser($userId)  {
  $result = mysql_query("SELECT * FROM `users` WHERE `id` = ".intval($userId));
  return mysql_fetch_array($result);
}
- anebo takhle:
public function getUser($userId)  {
  $result = dibi::query("SELECT * FROM `users` WHERE `id` = %i", $userId)->fetch();
  return $result;
}
, protože kontroler se zajímá jen o rozhraní modelu.

Nastavení db spojení by se dalo dát do rodičovské třídy modelů, jako statická metoda volaná z index.php.
Tirus
Profil
Tori:
asi si špatně rozumíme :) ... jde mi o to, co vše z toho dibi mám vzít a kam to nakopírovat. A jak to rozchodit.. :(
Tirus
Profil
Tori:
Tak jsem to nějak začal celé chápat. Jsem schopen si vytvořit nové "stránky" je to v podstatě neustále kopírování a upravování tablecontrolleru s table.php a tpl.

Teď řeším tu DB. Stáhl jsem si dibi. To to mám jako celé nakopírovat do lib? Tím myslím soubor dibi.php a složky drivers a libs. Dále jak to zakomponentuju do frameworku? Vím že v procedurálním jsem musel dávat require_once,apod.. ale zde nevím jak to doslova je tvořeno.

Dále bych prosil o radu, jak asi tak máš dělané menu na webu. zkoušel jsem si udělat tabulku ve for cyklu a nějak to nefungovalo, ale s tím bych se nějak popral. popř. zda bys byla ochotná mi to nějak vysvětlit celé, zda by to šlo se mi ozvat na mail. (v detailech by měl být). Děkuji mockrát

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: