路由和Silex Sensiolabs有问题

时间:2014-01-26 01:56:35

标签: php symfony twig silex

我现在有这个问题,所以我希望有人可以帮助我。

关闭-问题: 我正在编写一个基于Silex Sensiolabs Micro-Framework的简单CMS系统。 我已经使用Singleton Design-Pattern进行了改进,所有这些都正常工作,我可以登录,管理数据库e.tc.但我发现时间重写我的代码,因为它变得混乱,无法正常,hackfixy和崩溃。所以我开始写MVC模型的想法,但我把它改为Cloud(AJAX) - Floor - Basement - Design。在地下室我可以添加所有类型的功能(它基本上是我存储所有后台进程的地方),因此Basement包含一个Database,Toolbox和一个UserInterface。总体事物是使用将所有类连接在一起的工厂类构建的;所以我可以从地板到地下室e.t.c .. bla bla bla(看看我的要点)

问题:

  • 客户向henkvil7.seven.axc.nl/testbin /
  • 发出请求
  • 初始化Factory(Gist),构造类和连接 enter image description here - >在楼层调用

  • 地板\调用();完成一些前提条件(根据配置文件设置全局变量)并从存储在数组中的数据库中获取可用的路由及其存储的数据:

  

$这 - > basement-> getRoutes();

  • 使用foreach循环我遍历包含avail的返回数组。路线。 如果路由是动态的(具有变量slug,例如/ posts / 2144或/ user / 12898),则它执行一个处理那些的函数,在这种情况下是偏离主题的。 enter image description here

  • 我首先要谈谈静态请求(例如/,/ help,/ faq,/ music)。循环遇到的第一个路由是'/',并将其传递给handleStaticRoute($ route)函数。

enter image description here

  • Silex匹配使用HTTP / 1.1请求传递的路由,并使用twig返回呈现的模板,之后请求Application运行并使用“break”停止foreach循环。见图2.

  • 确实一切顺利,所有组件都从地下室收集并传递给模板,因此只有当使用'/'(空)路线时,树枝才能呈现它, (数组中的第一个和数据库表)。 我转到/ music或/ video时出现错误:

  
      
  • NotFoundHttpException:找不到“GET / music”的路线

  •   
  • ResourceNotFoundException:

  •   

我不知道为什么会这样,我用这种方式使用Singleton设计模式并且它工作得很好,现在却没有。样本如下所示:

正如你所看到的那样,模板music.twig实际上是渲染的,但是它给出了关于路径'/ video','/ video / {id}'的错误,可能是非常符合逻辑的,因为路由/视频在数组之前/音乐?

?!?!

以下是我要查看的项目的重要文件:

提前致谢!

0 个答案:

没有答案