<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>Bare minimum w/ CakePHP (4 files/scripts: model, controller, view, route) + provided you have a db with a table called "articles":</div><div><br></div><div>1) /models/article.php</div><div>public class Article extends AppModel {}</div><div><br class="webkit-block-placeholder"></div><div>2) /controllers/news_controller.php</div><div>public class NewsController extends AppController {</div><div>  function index($year, $month, $day) {</div><div>    $created = $year . "-" . $month . "-" . $day;</div><div>    $this-&gt;set('articles', $this-&gt;Article-&gt;findAllByCreated($date);</div><div>  }</div><div>}</div><div><br class="webkit-block-placeholder"></div><div>3) /config/routes.php</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: 12.0px Helvetica">$Route-&gt;connect ('/news', array('controller'=&gt;'News', 'action'=&gt;'index'));</font></div> </div><div><br class="webkit-block-placeholder"></div>4) /app/views/news/index.php<div>&lt;?php foreach($articles as $article): ?&gt;</div><div>&lt;?= $article['Article']['title'] ?&gt;</div><div>&lt;?php endforeach; ?&gt;</div><div><br class="webkit-block-placeholder"></div><div>mod_rewrite will push everything to index.php which will call a "Dispatcher" to handle the URL + follow what has been declared in the routes file.  I believe this would be almost the exact mechanism found in items like DispatchServlet in Spring, etc.  (although I think you can abstract more items).</div><div><br class="webkit-block-placeholder"></div><div>- Jon<br><div><br><div><div>On Aug 6, 2007, at 6:54 PM, Elliotte Harold wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Kenneth Downs wrote:</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> <blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Again, I'm not clear on what you are trying to serve.<span class="Apple-converted-space">  </span>We probably have to back up to the beginning and erase the assumption that PHP has a one-to-one correspondence between a URL (or page) and a PHP file.<span class="Apple-converted-space">  </span>Having erased that, we have to ask what kind of content you are trying to serve, then we have to look at PHP examples.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Here's a simple example: a news site backed by a database. URLs like</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.example.com/news/2007/07/05">http://www.example.com/news/2007/07/05</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.example.com/news/2007/07/06">http://www.example.com/news/2007/07/06</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.example.com/news/2007/07/07">http://www.example.com/news/2007/07/07</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.example.com/news/2007/07/08">http://www.example.com/news/2007/07/08</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">...</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">return pages which contain that day's headlines extracted from the database.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">One script, no more, must handle all dates. (I don't really care if there are 2 or 3 scripts, but I do not want to have to write a separate page for each URL. The number of PHP scripts must be finite and fixed. It should not increase with the number of URLs the script services.)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The only way I've ever seen this done in PHP is by using mod_rewrite, though they're a couple of other interesting suggestions in the thread I need to explore further. Do you have a suggestion?</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">--<span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Elliotte Rusty Harold<span class="Apple-converted-space">  </span><a href="mailto:elharo@metalab.unc.edu">elharo@metalab.unc.edu</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Java I/O 2nd Edition Just Published!</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.cafeaulait.org/books/javaio2/">http://www.cafeaulait.org/books/javaio2/</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.amazon.com/exec/obidos/ISBN=0596527500/ref=nosim/cafeaulaitA/">http://www.amazon.com/exec/obidos/ISBN=0596527500/ref=nosim/cafeaulaitA/</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">New York PHP Community Talk Mailing List</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://lists.nyphp.org/mailman/listinfo/talk">http://lists.nyphp.org/mailman/listinfo/talk</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">NYPHPCon 2006 Presentations Online</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.nyphpcon.com">http://www.nyphpcon.com</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Show Your Participation in New York PHP</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://www.nyphp.org/show_participation.php">http://www.nyphp.org/show_participation.php</a></div> </blockquote></div><br></div></div></body></html>