Ruby on rails RubyonRails的工作原理

Ruby on rails RubyonRails的工作原理,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我用php编程。当您使用某个框架时,只要php是intepreter,所有框架都会加载每个请求。但不是rails,ruby也是interperter。。。那么,它是如何工作的呢?你的问题非常开放,太大了,无法真正有效地回答。这是个好地方:。如果在阅读后,您有更具体、更有针对性的问题,请将问题带回来,我们将尽力帮助您……不。Rails作为框架,在前几个请求上缓存所有加载的模块、类和库(不只是在第一个请求上,因为它还具有上述内容的延迟加载) 但默认情况下,在开发模式下,每个请求都会重新加载所有应用程

我用php编程。当您使用某个框架时,只要php是intepreter,所有框架都会加载每个请求。但不是rails,ruby也是interperter。。。那么,它是如何工作的呢?

你的问题非常开放,太大了,无法真正有效地回答。这是个好地方:。如果在阅读后,您有更具体、更有针对性的问题,请将问题带回来,我们将尽力帮助您……

不。Rails作为框架,在前几个请求上缓存所有加载的模块、类和库(不只是在第一个请求上,因为它还具有上述内容的延迟加载)


但默认情况下,在开发模式下,每个请求都会重新加载所有应用程序模块(mvc)。库(插件、gems等)不会重新加载。

我的意思是,它是如何管理的。。。它是否为每个请求加载了自己的环境(ActiveRecord、ActiveSupport等),比如php?-1经典的“写我一本书”问题它与解释器无关。这是关于框架与web服务器通信的方式。例如,应用程序不会对每个请求都重新加载,即使是PHP请求,我知道这一点。我只是想知道,它是怎么做到的。Ruby是解释器,因此它必须在程序执行后完成。它不是在每次请求后完成,而是等待新的请求。将其视为运行循环的守护进程。但我知道这不是你想要的。幸运的是,ruby和rails以及rails所依赖的大量gems都是开源的,因此如果您真的想并且愿意花时间的话,您可以查看一下实现。没有任何东西表明解释语言必须在任何时候停止。RubyonRails通常至少作为一个持久进程运行,并在其生命周期内为许多请求提供服务。PHP在请求之间被刻意清除,每次都从头开始。