Newsgroup: it.comp.www.php
Titolo: problema con zend

Ciao,
allora il problema è questo,
Ho un indirizzo
http://localhost/newpro/leggi-news/
e con l'apposito controller posso visualizzare la index
devo però avere dei link anche
http://localhost/newpro/leggi-news/prima-news
http://localhost/newpro/leggi-news/seconda-news
ora so che potrei fare
http://localhost/newpro/leggi-news/tip/prima-news
http://localhost/newpro/leggi-news/tip/seconda-news
dove tip variabile get potrei utilizzarlo con il controller della
index
ma se volessi evitare il tip come potrei fare considerando che i
link prima-news e seconda-news sono dinamici quindi potrebbero
assumere
qualsiasi valore...
grazie della collaborazione
Andrea

 qualsiasi valore...
Creando una route nel front controller.
Bye.

 Bye.

 Hai un esempio da mostrarmi per favore?
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$router->addRoute("prodotto",
  new Zend_Controller_Router_Route("prodotto/:cat/:name/*",
    array(
      "controller"=>"prodotti",
      "action"=>"dettaglio",
      "cat"=>"",
      "name"=>""
    )
  )
);
Quelli nell'array() sono i valori di default. L'asterisco significa 
"tutto il resto trattalo come al solito"
Quando la devi usare nella view fai qualcosa tipo
echo $this->url(array('cat'=>'nomecat', 'name'=>'nomeprod', 
'altroparametro'=>'altrovalore'), 'prodotto', true);
e avrai come risultato
/prodotti/dettaglio/nomecat/nomeprod/altroparametro/altrovalore
in prodottiController/dettaglioAction() avrai
getParam('cat') = 'nomecat'
getParam('nome') = 'nomeprod'
getParam('altroparametro') = 'altrovalore'
Poi leggiti il capitolo sulle route perche` questa e` solo la base, puoi 
farci cose turche. ;)
Bye.

 farci cose turche.
Per capitolo intendi documentazione online o esiste un buon libro 
cartaceo che tratta zend framework?



La documentazione online e` buona come reference (anche se migliorabile 
in molti aspetti), ma pessima come manuale.
In questo caso mi riferivo alla doc online perche` "le basi" le ho 
scritte sopra, e si tratta solo di cambiare la classe per il routing e i 
parametri.
Bye.



Approfitto della tua saggezza per farti una domanda un po' più specifica, 
anche se credo (immagino) che già avrai risposto a domande simili 
centinaia di volte.
E' un po' che non uso php, ma l'ho usato in passato. 
Ho una buona base di programmazione, conosco la programmazione ad 
oggetti, ma non ho mai usato un framework 
visto che vorrei riprendere in mano php e vorrei iniziare a distrigarmi 
tra i vari framework, che approccio mi consiglieresti?
cioè, ad uno che "in teoria" non dovrebbe avere grosse difficoltà a 
capire i vari concetti, che risorse consiglieresti per iniziare ad 
utilizzare zend? 
Ovviamente so che il miglior modo è scrivere un sacco di codice, ma 
iniziare con il piede giusto potrebbe risparmiarmi un sacco di tempo ;)
grazie mille

 è ancora un buon modo per partire?

 è ancora un buon modo per partire?
Questo e` cresciuto molto dall'ultima volta che l'avevo visitato (era al 
capitolo 3...) e mi pare una buona introduzione, anche se, da una scorsa 
veloce, mi pare che abbia il difetto di voler introdurre tutto subito.
Per esempio il capitolo sui Model, dopo una introduzione lunghissima 
senza codice, parte subito con la TDD, poi si crea dei model e dei mock 
per conto suo, e non accenna mai ai model di ZF (Zend_Db_Table 
e ..._Table_Row).
Avrei riservato quasi tutto a un capitolo piu` avanti e parlato prima 
delle basi dell'accesso ai DB.
Anche il capitolo sulle View parte in quinta (alias: con HTML5), anche se 
li` ci sono meno occasioni di strafare, quindi mi pare discreto.
Se hai trovato i miei post avrai anche visto i libri che consiglio e 
sconsiglio. Il panorama editoriale non e` cambiato molto (anzi, per 
niente), quindi quei consigli rimangono validi.
In ogni caso assicurati sempre che quello che stai leggendo sia 
aggiornato almeno alla 1.8 e vai tranquillo con le versioni successive 
(che sono in gran parte bugfix e funzionalita` aggiunte, ma non 
modificate)
Bye.

 Bye.
Ecco, questo è quello che mi premeva sapere. Grazie ancora. :)

ciao scusa il disturbo
ma sto impazzendo
sono riuscito a fare il routing con
$router->addRoute('/',
                new
Zend_Controller_Router_Route('/:chisiamo/:dovesiamo/:contatti/*',
array(
                    'controller' => 'index',
                    'action' => 'menu-top',
                    'chisiamo'=> '',
                    'dovesiamo'=> '',
                    'contatti'=> ''
                ))
            );
funzionano le tre pagine che chiamo ma ora non mi funziona + la
indexAction()
che contiene il contenuto della home page
se la action interessata è
menu-top
come mai coinvolge pure indexAction?
Grazie mille

 indexAction()
E` anche strano che funzionino.
Gli stai dicendo che qualsiasi cosa ti richiami con i primi tre parametri 
arbitrari vada a controller index, action menuTop.
In pratica anche 
http://localhost/a/b/c
 ti porta li`.
Credo che tu non abbia capito molto bene a cosa servono e soprattutto 
come vanno definite le route.
Bye.