Routy podle Přednášky Honzy Smitka o routování

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
KillPrd
Začátečník | 110
+
0
-

Ahojte udělal jsem si na localhostu krásnyrouty podle honzy smitka a vše krásně funguje upravil sjem si vše co potřebuji ale jeho příklad je dělaný na php 5.3 je možné nějak routu v bootstrampu upravit na php 5.2?
stávající routu mám takto

<?php
$katRouter = new KateogrieRoute('<id>', array(
			'id' =>array(
				NRoute::FILTER_OUT => function($id) use ($container){

				if(!is_numeric($id)){
						return $id;
					}else {
						$kategorie = $container->CreateKategorie();
						return $kategorie->where('url',$id)->fetch()->id;
					}

				}

			),
			'presenter' => 'Kategorie',
			'action' => 'default'
		));
?>
jtousek
Člen | 951
+
0
-

Psáno z hlavy, může obsahovat chyby.

class Filters {

protected $container;

public function __construct($container) {
	$this->container = $container;
}

public function out($id){

                                if(!is_numeric($id)){
                                                return $id;
                                        }else {
                                                $kategorie = $this->container->CreateKategorie();
                                                return $kategorie->where('url',$id)->fetch()->id;
                                        }

                                }
}

$filters = new Filters($container);

$katRouter = new KateogrieRoute('<id>', array(
                        'id' =>array(
                                NRoute::FILTER_OUT => callback($filters, 'out'),
                        ),
                        'presenter' => 'Kategorie',
                        'action' => 'default'
                ));
KillPrd
Začátečník | 110
+
0
-

Tak problém po změně ma tvuj typ:

<?php
Non-static method NConnection::table() cannot be called statically
?>

config.neon

<?php
services:
		database: @\NConnection

		authenticator: Authenticator( @database::table(admin) )


	factories:
		kategorie: @database::table(kategorie)
?>

Tak ted jsem z toho jelen :(

Pokud zruším factorie a použiji dibi
pak mi to hází hlášku se špatným callback:

<?php
call_user_func(Filters::out): First argument is expected to be a valid callback
?>

Tak vyřešeno.....
místo KategorieRoute(‚<id>‘, array.....
stačilo dát KategorieRoute(‚<url>‘, array…

Děkuji za pomoc…

Editoval KillPrd (11. 6. 2012 11:52)