我现在有这个问题,所以我希望有人可以帮助我。
关闭-问题: 我正在编写一个基于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(看看我的要点)
问题:
初始化Factory(Gist),构造类和连接 - >在楼层调用
地板\调用();完成一些前提条件(根据配置文件设置全局变量)并从存储在数组中的数据库中获取可用的路由及其存储的数据:
$这 - > basement-> getRoutes();
使用foreach循环我遍历包含avail的返回数组。路线。 如果路由是动态的(具有变量slug,例如/ posts / 2144或/ user / 12898),则它执行一个处理那些的函数,在这种情况下是偏离主题的。
我首先要谈谈静态请求(例如/,/ help,/ faq,/ music)。循环遇到的第一个路由是'/',并将其传递给handleStaticRoute($ route)函数。
Silex匹配使用HTTP / 1.1请求传递的路由,并使用twig返回呈现的模板,之后请求Application运行并使用“break”停止foreach循环。见图2.
确实一切顺利,所有组件都从地下室收集并传递给模板,因此只有当使用'/'(空)路线时,树枝才能呈现它,但 (数组中的第一个和数据库表)。 当我转到/ music或/ video时出现错误:
NotFoundHttpException:找不到“GET / music”的路线
ResourceNotFoundException:
我不知道为什么会这样,我用这种方式使用Singleton设计模式并且它工作得很好,现在却没有。样本如下所示:
正如你所看到的那样,模板music.twig实际上是渲染的,但是它给出了关于路径'/ video','/ video / {id}'的错误,可能是非常符合逻辑的,因为路由/视频在数组之前/音乐?
?!?!
以下是我要查看的项目的重要文件:
提前致谢!