php - PHP require vs grails包括

标签 php grails groovy require

我想知道与我的GSP(Grails服务器页面)或Groovy中的php要求完全相同的命令。

我知道我可以使用<g:include/>,但想知道在groovy / grails中是否有任何命令可以满足php的要求?

最佳答案

确切的等效项实际上取决于PHP脚本中使用的require()的上下文。

PHP和Servlet环境的运行方式不同。在PHP中使用require()只是找到另一个PHP脚本并执行它。该命令式操作不适用于更面向对象的Java / Grails / Servlet。

根据您要完成的工作,有两种可能的等效方法:

  • <g:include/>

    Includes the response of another controller/action or view in the current response



    例如
    <g:include controller="foo" action="bar"/>
    

    这将执行一个不同的 Controller / Action 并将响应插入当前页面。如果您的require()呈现了一些标记,则这将类似于PHP。
  • View templates :

    如果您只是想在几页中包含通用标记,那么这些可能就是您想要的。您可以创建模板 View ,并使用 <g:render/> 将其包含在GSP中。我怀疑这是您要执行的操作,但是请参阅下面的“更新”以获取有关此问题的一些建议。
  • @page import

    例如
    <% @page import="com.example.mypackage.MyClass" %>
    

    这将使MyClass可用于GSP,如果需求指定了一些要在其他PHP脚本中使用的库类或函数,则它将类似于require()。但是,使用这种尖叫声代码会闻到,因为您将要使用的几乎所有内容都将更适合于 Controller 操作或服务。

  • 更新:

    看到other question,我敢冒险您只是尝试在几种不同的 View 中包含通用的GSP / HTML,这与Grails通过其布局和模板为您提供的内容有所抵触。

    如果您要在所有GSP中“要求”,例如说“blog-header.php”,则您更可能只想将标题的内容包含在布局中,例如grails-app/views/layouts/main.gsp,然后在需要标题的 View 中使用该布局。

    关于php - PHP require vs grails包括,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647243/

    相关文章:

    php - 从 Joomla 中的回调 URL 更新 MySQL 表

    linux - Grape 和 Yum 安装依赖有什么区别?

    php - 验证字段仅包含以逗号分隔的数字

    php - 图片点击创建一个特定的 php 查询但不返回正确的结果

    grails - "GrailsDomainException: Identity property not found, but required in domain class"仅在 WebSphere 7 上

    grails - Grails War在版本3.1中产生JAR文件

    gradle - 如何从 gradle.build 脚本执行 'gradle build' 命令

    java - 如何将模拟对象注入(inject)到构造函数中?

    php - MySql插入错误

    grails - 具有单个grails域类属性的动态内联验证