1

(4 odpovědí, posláno do [Databáze])

No, jak je psáno v dokumentaci, první parametr je stránka, kterou chceš zobrazit. Asi sem nepřesně uvedl - jedná se o číslo stránky. Nevím, proč tam předáváš pole.

Ohledně převedení čehokoliv na číslo (tedy na tu nulu, pokud to není číslo) pak se není čemu divit, vyplývá to ze samotné podstaty modifikátorů.

Řešení by mělo vypadat asi tahle:

$page = $this->application->router->get('page');
if ((int) $page) == 0)
     $this->error(404);

$query = db::prepare('...');
$query->paginate($page, 20);

if (empty($query))
    $this->error(404);

2

(2 odpovědí, posláno do [Databáze])

jo, přesně tak, je nutné uvést modifikátor. háefková vrstva je oproti dibi mnohem striktnější.
nevím, jestli je to naškodu, ale mě to spíš přijde jasnější.

ohledně db::test(): nikdy jsem ono funkci nepoužil... a nevím, jestli má nějaký praktický opodstatněný význam...

3

(4 odpovědí, posláno do [Databáze])

fixed & uploaded

4

(4 odpovědí, posláno do [Databáze])

ahoj, aha, jedna asi nejvic o mou chybu. jde o to, ze paginator zkouší přeložit ty odkazy pro stránku vpřed a zpět. fixnu to!
jinak ano, patří to do view.

5

(1 odpovědí, posláno do Diskuze)

fixed, ale ze to dalo zabrat.
vcera sem si psal vlastni parser atom kanala, na kterym to googlecode poskytuje.
no, a dnes sem ho musil snad z poloviny upravit. problem je v tom,ze googlecode nikde nema spesl rss kanal pro revize, a kdyz uz, tak tam zase jsou informace navic, ktery nechcu, a tezko by se z toho parsovalo to, co potrebuju.

6

(1 odpovědí, posláno do Diskuze)

Jé, ahoj, to je dobrá náhoda. 0.8 se totiž vyvíjela skoro půl roku, a až teď o Vánocích sem to začal tahat do konce.
Dneska ještě dopisuji dokumentaci, vylepšuji web atp... Právě teď je vidět na homepage nový seznam revizí, které dělám.
A to všechno automaticky, strašně mi to ulehčí práci do budoucna... smile

Takže, stay tuned smile

7

(1 odpovědí, posláno do [Databáze])

bohužel, ještě jsem ji nestihl zdokumentovat, na to přijde čas dneska.
toto uděláš jinak:

$pocet = db::fetchField('...');

8

(0 odpovědí, posláno do Informace)

Jak jste si mohli všimnout, byla vypuštěna nová větev 0.8
Dále je taky aktualizované fórum a samotný web.
Novou verzi si užijte smile

9

(0 odpovědí, posláno do Diskuze)

Pokud jste našli chybu, či si myslíte, že jste našli chybu,
nahlašte ji prosím na patřičném místě

Tam také můžete sledovat vývoj kolem vašeho problému!
Díky.

10

(5 odpovědí, posláno do Diskuze)

btw v 0.8 to je a bude... wink
mám přidělat do 0.7?

11

(5 odpovědí, posláno do Diskuze)

vím, sám se jednou divil, že to tam není...:)

12

(1 odpovědí, posláno do Diskuze)

pokud aktualni controller neni oddeden od controleru anketa, pak jedine
$anketa = new AnketaController();
$anketa->foo();

jinak autoload na controllery funguje automaticky, akorat je nutno jiz dodrzovat jmennou konvenci.

13

(9 odpovědí, posláno do Požadavky na vylepšení)

mnovy napsal:

Neplanujes pridat validacni pravidlo pro datum? roll

No, ono je to s datem trochu slozitejsi.. kazdy chce/pouziva jiny format. Jinak lze rule pridat celkem jednoduse provizorne takhle:

$form['control']->addRule('#0?[1-9]|[12][0-9]|3[01]\. ?0?[1-9]|1[0-2]\. ?20[0-9]{2}#', 'Datu není ve správném formátu');

14

(1 odpovědí, posláno do Informace)

hned mě to povzbudilo abych začal pokračovat ve vývoji větve 0.8 která bude evolučně revoluční smile jen tak dál smile

15

(3 odpovědí, posláno do Diskuze)

No tak, v jakym jazyce to budes psat, to je jedno. Nejlepe anglicky. Pak nemusis vytvaret anglickou mutaci. Samozrejme muzes i cesky. ale potom budes muset vytvorit minimalne cesky preklady pro ty mnozny cisla - protoze funkci __n() muzes predavat jen dve verze.

Zadny jiny priklad neni. Proste ve view potreju vypsat h1 Nový článek, tak fám
<h1><?= _('New post') ?></h1>

16

(3 odpovědí, posláno do Diskuze)

Použití je velmi jednoduché:

__('Translate me!')

respektive

__n('have %i comment', 'have %i comments', $comments)

k překladu se používá gettext. jak ho zprovoznit a jednoduše používat jsem psal zde: http://hrach.netuje.cz/clanek/poedit-gettext-a-haefko

Dále je možné konfigorovat, jak se jazyk detekuje.

L10n.autodetect: url/browser/config
# pokud je config, pak nutno nastavit
L10n.lang: cs
# pokud je browser, pak se to nastavi samo
# pokud je url, tak to bere promennou lang z Routeru.
#          pokud se promenna jmenuje jinak, tak nastavit pomoci:
L10n.url.var: jazyk

# a vtom routingu treba takhle:
Router::connect(':jazyk/:controller/:action/*');

# nebo pokud chcu lokalizovat i jednotlive url, tak treba takto:
Router::connect('koupit/produkt/:name', array(
     'controller' => 'buy',
     'action' => 'product',
     'jazyk' => 'cs'
));

Router::connect('buy/product/:name', array(
     'controller' => 'buy',
     'action' => 'product',
     'jazyk' => 'en'
));

17

(5 odpovědí, posláno do Diskuze)

Rius napsal:

Chybí mi Session::write(array(..... ))

bude v 0.8 smile

18

(6 odpovědí, posláno do Informace)

Přesunuto http://haefko.programujte.com/changelog

19

(6 odpovědí, posláno do Informace)

revize 27:
* Form, CustomController, phpdoc cleanup
* Router, Debug: fixed bug

20

(1 odpovědí, posláno do Diskuze)

Změny:

echo __('Hi!');
echo __n('%d comment', '%d comments', $i);

21

(6 odpovědí, posláno do Informace)

V těchto posledních revizí je již jmenná koncepce povinná, a funkce autoloadu je aplikována na jen složku extends v app.

Autoload zapnete po vytvoření aplikace:

$app = new Application();
$app->autoload();

22

(6 odpovědí, posláno do Informace)

revize 20:
* refactoring
* zrušena třída Strings a nahrazena functions.php

revize 21:
* refactoring

revize 22:
* Application: soubor přesunut o úroveň výše!!!
* Application: restrukurizace, předěláno spuštění aplikace!!!
* DebugException: vylepšení

revize 23:
* přejmenován debugRibbon na debugToolbat
* bugfixing: LayoutView, závislosti na functions


revize 24:
* bugfixing & refactoring: debugException, View
* přejmenovány chybové šablony


revize 25:
* bugfixing & refactoring: debugException, FormItems, FormCondition, Form, Router, Exception
* View & LayoutView: přesunuty a přidány callbacky
* Config: kompletní refactoring & přepracování

revize 26:
* Cookie a Session: konfigurační hodnota *.expires přejmenována na *.lifeTime
* Http: zrušena metoda getDomain(), používejte Http::$domain
* bugfixinig & refactoring: Autoload, jsHelper, htmlHelper, Router
* LayoutView: metoda renderSnippet (dříve renderElement()) přesunuta do View
* View: $base již přístupná pouze přes $this->base
* Config: přidána interní pole

23

(6 odpovědí, posláno do Informace)

revize 19:
+ application - debug-toolbar i při výjimce
* core - strings odstraneno!!! metody třídy nyní jako funkce ve functions.php
* l10n - opraveno nastavení jazyka. nyní se snaží převést jazyk na unix. tvar cs => cs_CZ
* l10n - rename method na __(), __n()
* metoda $link přesunuta do z LayoutView do View (nyní dostupná vždy)
* přepracován jsHelper
* nová verze Dibi knihovny
* nová verze debug-toolbaru

24

(6 odpovědí, posláno do Informace)

revize 17:
+ controller, view - pridana podpora pro Ajax
+ config - moznost definovat neasociativni pole
+ jsHelper - pridana podpora pro MarkItUp a Rater
+ L10n - nova trida pro lokalizaci
+ custommodel - rafactoring, rename promennech -> nyni stejne jako u DibiTable
* vychozi jmeno konfiguracniho souboru prejmenovano na config.yml
* html - upravena metoda setAttributes() pro addClass()
* form - moznost definice vlastniho jmena(id) formulare (new Form($url, $absolute, $name))
* debug - fix sablony exception (nezustavaji zbytky drivejsiho renderu), refactoring
* customcontroller - predelana metoda pro sestaveni url - vice v manualu

revize 18:
* čištění kódu

25

(6 odpovědí, posláno do Informace)

Changelog 0.7

- s 0.7 prisla velma zmena, neni jit povinny autoload, tyto zmeny budo oznacovat jako $autoload, protoze jejich optimalizace probihala skrz vsechny revize...
Pokud nepouzivate autoload, potrebne knihovny helpery nactene nasledovne:

class Controller extends ... {
    public $helpers = array('js');
    public $load = array('Form', 'Application/Db');
}

revize 16:
* oprava nazvu adresare ve skeletonu

revize 15:
+ pridan appSkeleton
* cisteni kodu
* restrukturilazace adresaru


revize 14:
+ strings - pridana metoda toJsArray()
+ form - pridano validacni pravidlo 'notfilled'
+ form - prida js validace - moznost zapnuti a vypnuti pres $form->js = false;
+ config - vlastni parser yaml souboru
* odstranen spyc
* session - pokud neni nastavena cesta k ukladani session, tak haefko neprenastavuje temp na vlastni!
* http - fix getRequestUrl() - bug v nekterych pripadech virtualhost na win
* html - pridany metody pro praci s class, refactoring
* form - masivni refactoring
* jsHelper - refactoring
* router - pridana moznost pro prazdny fragment /:action{} - vyhozi i /
* rssView - fix hlavicky
* controller - metoda url - refactoring, nyni neni parsovano po fragmentechm uz lze napr: {url}#test


revize 13:
* knihovna form presunuta v adresarove strukture o uroven vis
* slozky s chybovymi sablonami prejmenovana z '_errors' na 'errors'

revize 12:
+ autoload - pridana metoda addApplication - je to kratsi misto addDir($app->getPath())
* jsHelper - zmeny v jadre
* htmlHelper - fix button() - odesilalo se s formularem, pokud v nem bylo umisteno, nyni zcela nezavisle
* $autoload
* CustomView rename na View