组件中Mason块的执行顺序是什么

Sun*_*nil 4 perl mason

如果这些块存在于Mason组件中,那么执行顺序是什么?

  • %args
  • %init
  • %once
  • %shared
  • %attr
  • %flags

Avi*_*Avi 8

该列表中有两种不同的块."可执行"块,包含可执行的perl代码,以及包含键值对的非可执行块(与perl哈希不同).

可执行块

<%一旦>

只要将组件加载到内存中,就会执行此块.它在任何其他块之前执行.

<%共享>

每个请求执行一次该块.它在<%init>块之前执行.

<%初始化>

每次调用组件时都会执行此块.除了<%once>或<%shared>块中的代码之外,它在任何其他代码之前执行.

不可执行块

<%ARGS>

此块用于声明组件所需的参数.此外,如果在调用组件时没有给出,它也可以用于指定默认值.

<%标志>

该块用于声明特殊的Mason标志,用于影响组件的行为.目前,只定义了一个标志inherit.

<%ATTR>

该块用于声明任意键值对.与<%flags>块不同,Mason不使用内容,但可以在代码中使用.

有关更多信息,请参阅Mason书籍,其中复制(和修改)了上述部分内容.