Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 布线和Silex Sensiolabs有问题_Php_Symfony_Twig_Silex - Fatal编程技术网

Php 布线和Silex Sensiolabs有问题

Php 布线和Silex Sensiolabs有问题,php,symfony,twig,silex,Php,Symfony,Twig,Silex,我有这个问题已经有一段时间了,所以我希望有人能进一步帮助我 关闭问题: 我正在写一个基于Silex Sensiolabs微框架的简单CMS系统。 我已经使用单例设计模式进行了改进,一切正常,我可以登录、管理数据库e.tc.,但我发现是时候重写我的代码了,因为它变得混乱、无功能、杂乱无章。所以我开始写MVC模型的想法,但我把它改成了云(AJAX)——底层设计。在底层,我可以添加各种功能(基本上就是我存储所有后台进程的地方),因此底层由数据库、工具箱和用户界面组成。使用一个将所有类连接在一起的工厂类

我有这个问题已经有一段时间了,所以我希望有人能进一步帮助我

关闭问题: 我正在写一个基于Silex Sensiolabs微框架的简单CMS系统。 我已经使用单例设计模式进行了改进,一切正常,我可以登录、管理数据库e.tc.,但我发现是时候重写我的代码了,因为它变得混乱、无功能、杂乱无章。所以我开始写MVC模型的想法,但我把它改成了云(AJAX)——底层设计。在底层,我可以添加各种功能(基本上就是我存储所有后台进程的地方),因此底层由数据库、工具箱和用户界面组成。使用一个将所有类连接在一起的工厂类来构造整个对象;这样我就可以从地板上到地下室e.t.c..等等等等(看看我的注册表)

问题:

  • 客户向/
  • 初始化(Gist),构造类和连接 ->在地板上呼叫

  • Floor\invoke();完成一些先决条件(根据配置文件设置全局路由),并从存储在阵列中的数据库中获取可用路由及其存储的数据:

$this->base->getRoutes()

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

  • 我在这里首先讨论静态请求(例如/、/help、/faq、/music)。循环遇到的第一条路由是“/”,并将其传递给handleStaticRoute($route)函数

  • Silex将传递的路由与HTTP/1.1请求相匹配,并使用twig返回呈现的模板,然后请求运行应用程序,并使用“break”停止foreach循环;参见图2

  • 事实上,所有的组件都是从底层收集并传递到模板的,这样twig就可以渲染它,但是只有在使用“/”(空)路由(数组和数据库表中的第一个路由)时才能渲染它当我转到/音乐或/视频时,我收到错误:

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

  • ResourceNotFoundException:

我不知道为什么会发生这种情况,我是用单例设计模式这样做的,它工作得很好,现在不行了。示例如下所示:

正如您可以看到的那样,模板music.twig实际上是渲染的,但是它给出了有关路由“/video”、“/video/{id}”的错误,这可能是非常合乎逻辑的,因为路由/视频在/music之前的数组中

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

  • 启动:
  • 工厂:
  • 楼层:
  • 地下室:
  • 数据库

提前谢谢

最好使用
复制/粘贴
您的代码,而不是屏幕截图。这并不难,我很想帮你,但感觉这里有很多代码要处理。你能把它归结为最简单但仍然完整的bug示例吗。如果您可以提供最简单的bug示例,那么理解起来就会容易得多(并且您可以自己在这个过程中解决问题)。