Your IP : 3.15.29.105


Current Path : /usr/share/doc/perl-Template-Toolkit-2.24/old/modules/Template/
Upload File :
Current File : //usr/share/doc/perl-Template-Toolkit-2.24/old/modules/Template/Config.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
  <head>
    <title>Template::Config</title>
    <link rel="stylesheet" type="text/css" href="../../css/blue.css" title="Clear Blue">
    <link rel="alternate stylesheet" type="text/css" href="../../css/orange.css" title="Clear Orange">
    <link rel="alternate stylesheet" type="text/css" href="../../css/green.css" title="Clear Green">
    <link rel="alternate stylesheet" type="text/css" href="../../css/purple.css" title="Clear Purple">
    <link rel="alternate stylesheet" type="text/css" href="../../css/grey.css" title="Clear Grey">
    <!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="../../css/ie6.css" />
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="/css/print.css" media="print">
    <script type="text/javascript" src="../../js/tt2.js"></script>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <meta name="author" content="Andy Wardley">
  </head>
  <body id="body"> 
    <div id="layout">
        <div id="header">
          <a href="../../index.html" id="logo" alt="" title="Click for the Home Page"><span class="alt">TT2 Home Page</span></a>
          <ul id="trail">
            <li><a href="../../modules/index.html">Modules</a></li>
            <li><a href="../../modules/Template/index.html">Template::*</a></li>
            <li class="last"><a href="../../modules/Template/Config.html">Config.pm</a></li>
          </ul>
          <div class="controls">
            <a href="#" class="menu show" onclick="widescreen_off(); return false" title="Show Menu">
              <span class="about">Click to view the menu.  It's very nice.</span>
            </a>
            <a href="#" class="menu hide" onclick="widescreen_on();  return false" title="Hide Menu">
              <span class="about">Click to hide the menu and go all widescreen!</span>
            </a>
          
          <div class="pager">
            <a href="../../modules/Template/Base.html" title="Template::Base" class="go back">Back<span class="about"><h4>Template::Base</h4>Base class module implementing common functionality</span></a>
            <a href="../../modules/Template/index.html" title="Template::* Modules" class="go up">Up<span class="about"><h4>Template::* Modules</h4></span></a>
            <a href="../../modules/Template/Constants.html" title="Template::Constants" class="go next">Next<span class="about"><h4>Template::Constants</h4>Defines constants for the Template Toolkit</span></a>
          </div>
          </div>
          <h1 class="headline">Template::Config</h1>
          <h2 class="subhead">Factory module for instantiating other TT2 modules</h1>
        
        </div>
        <div id="page">
          <div id="sidebar">
            <a href="../../index.html" id="logo"></a>
            <div id="menu">
              <ul class="menu">
                <li class="l0 first"><a href="../../manual/index.html">Manual</a></li>
                <li class="l0"><a href="../../modules/index.html" class="warm">Modules</a></li>
                <li class="l1"><a href="../../modules/Template.html">Template.pm</a></li>
                <li class="l1"><a href="../../modules/Template/index.html" class="warm">Template::*</a></li>
                <li class="l2"><a href="../../modules/Template/Base.html">Base.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Config.html" class="warm">Config.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Constants.html">Constants.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Context.html">Context.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Directive.html">Directive.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Document.html">Document.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Exception.html">Exception.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Filters.html">Filters.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Grammar.html">Grammar.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Iterator.html">Iterator.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Namespace/index.html">Namespace::*</a></li>
                <li class="l2"><a href="../../modules/Template/Parser.html">Parser.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Plugin.html">Plugin.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Plugin/index.html">Plugin::*</a></li>
                <li class="l2"><a href="../../modules/Template/Plugins.html">Plugins.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Provider.html">Provider.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Service.html">Service.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Stash.html">Stash.pm</a></li>
                <li class="l2"><a href="../../modules/Template/Stash/index.html">Stash::*</a></li>
                <li class="l2"><a href="../../modules/Template/Test.html">Test.pm</a></li>
                <li class="l2"><a href="../../modules/Template/VMethods.html">VMethods.pm</a></li>
                <li class="l2"><a href="../../modules/Template/View.html">View.pm</a></li>
                <li class="l0"><a href="../../tools/index.html">Tools</a></li>
                <li class="l0 last"><a href="../../tutorial/index.html">Tutorial</a></li>
              </ul>
              <div class="foot"></div>
            </div>
          </div>
          <div id="content">
          <div class="section">
            <div class="head">
              <h1 id="contents" onclick="switch_section(this)" title="Click title to show/hide section content.">Contents</h1>
              <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
            </div>
            <div class="body">
              <ul class="toc">
                  <li class=""><a href="#SYNOPSIS">SYNOPSIS</a></li>
                  <li class=""><a href="#DESCRIPTION">DESCRIPTION</a></li>
                  <li class=""><a href="#PUBLIC_METHODS">PUBLIC METHODS</a></li>
                  <li class="sub"><a href="#method_load">load($module)</a></li>
                  <li class="sub"><a href="#method_preload">preload()</a></li>
                  <li class="sub"><a href="#method_parser">parser(\%config)</a></li>
                  <li class="sub"><a href="#method_provider">provider(\%config)</a></li>
                  <li class="sub"><a href="#method_plugins">plugins(\%config)</a></li>
                  <li class="sub"><a href="#method_filters">filters(\%config)</a></li>
                  <li class="sub"><a href="#method_stash">stash(\%vars)</a></li>
                  <li class="sub"><a href="#method_context">context(\%config)</a></li>
                  <li class="sub"><a href="#method_service">service(\%config)</a></li>
                  <li class="sub"><a href="#method_instdir">instdir($dir)</a></li>
                  <li class=""><a href="#AUTHOR">AUTHOR</a></li>
                  <li class=""><a href="#COPYRIGHT">COPYRIGHT</a></li>
                  <li class=""><a href="#SEE_ALSO">SEE ALSO</a></li>
              
              </ul>
            </div>
          </div>
          
                <div class="pod">
            <div class="section">
              <div class="head">
                <h1 id="SYNOPSIS" onclick="switch_section(this)" title="Click title to show/hide section content.">SYNOPSIS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <pre>use Template::Config;</pre>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="DESCRIPTION" onclick="switch_section(this)" title="Click title to show/hide section content.">DESCRIPTION</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      This module implements various methods for loading and instantiating
                      other modules that comprise the Template Toolkit. It provides a
                      consistent way to create toolkit components and allows custom modules to
                      be used in place of the regular ones.
                    </p>
                    <p>
                      Package variables such as <code>$STASH</code>, <code>$SERVICE</code>,
                      <code>$CONTEXT</code>, etc., contain the default module/package name for
                      each component (<a href="../../modules/Template/Stash.html">Template::Stash</a>, <a href="../../modules/Template/Service.html">Template::Service</a> and <a href="../../modules/Template/Context.html">Template::Context</a>, respectively)
                      and are used by the various factory methods (<a
                      href="#method_stash">stash()</a>, <a href="#method_service">service()</a>
                      and <a href="#method_context">context()</a>) to load the appropriate
                      module. Changing these package variables will cause subsequent calls to
                      the relevant factory method to load and instantiate an object from the
                      new class.
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="PUBLIC_METHODS" onclick="switch_section(this)" title="Click title to show/hide section content.">PUBLIC METHODS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <div class="subsection">
                  <div class="head">
                    <h2 id="method_load" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">load($module)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Load a module using Perl's <a href="#method_require">require()</a>. Any
                          occurences of '<code>::</code>' in the module name are be converted to
                          '<code>/</code>', and '<code>.pm</code>' is appended. Returns 1 on
                          success or undef on error. Use <code>$class-&gt;error()</code> to examine
                          the error string.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_preload" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">preload()</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          This method preloads all the other <code>Template::*</code> modules that
                          are likely to be used. It is called automatically by the <a href="../../modules/Template.html">Template</a> module when running under
                          mod_perl (<code>$ENV{MOD_PERL}</code> is set).
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_parser" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">parser(\%config)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new parser object of the class whose name is denoted by the
                          package variable <code>$PARSER</code> (default: <a href="../../modules/Template/Parser.html">Template::Parser</a>). Returns a
                          reference to a newly instantiated parser object or undef on error.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_provider" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">provider(\%config)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new template provider object (default: <a href="../../modules/Template/Provider.html">Template::Provider</a>). Returns an
                          object reference or undef on error, as above.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_plugins" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">plugins(\%config)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new plugins provider object (default: <a href="../../modules/Template/Plugins.html">Template::Plugins</a>). Returns an
                          object reference or undef on error, as above.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_filters" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">filters(\%config)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new filter provider object (default: <a href="../../modules/Template/Filters.html">Template::Filters</a>). Returns an
                          object reference or undef on error, as above.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_stash" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">stash(\%vars)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new stash object (<a href="../../modules/Template/Stash.html">Template::Stash</a> or <a href="../../modules/Template/Stash/XS.html">Template::Stash::XS</a> depending on the default set at installation
                          time) using the contents of the optional hash array passed by parameter
                          as initial variable definitions. Returns an object reference or undef on
                          error, as above.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_context" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">context(\%config)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new template context object (default: <a href="../../modules/Template/Context.html">Template::Context</a>). Returns an
                          object reference or undef on error, as above.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_service" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">service(\%config)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Instantiate a new template service object (default: <a href="../../modules/Template/Service.html">Template::Service</a>). Returns an
                          object reference or undef on error, as above.
                        </p>
                  </div>
                </div>    <div class="subsection">
                  <div class="head">
                    <h2 id="method_instdir" class="method" onclick="switch_subsection(this)" title="Click title to show/hide sub-section content.">instdir($dir)</h2>
                    <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
                  </div>
                  <div class="body">
                    <p>
                          Returns the root directory of the Template Toolkit installation under
                          which optional components are installed. Any relative directory specified
                          as an argument will be appended to the returned directory.
                        </p>
                        <pre># e.g. returns '/usr/local/tt2'
my $ttroot = Template::Config-&gt;instdir()
    || die "$Template::Config::ERROR\n";</pre>
                        <pre># e.g. returns '/usr/local/tt2/templates'
my $template = Template::Config-&gt;instdir('templates')
    || die "$Template::Config::ERROR\n";</pre>
                        <p>
                          Returns <code>undef</code> and sets <code>$Template::Config::ERROR</code>
                          appropriately if the optional components of the Template Toolkit have not
                          been installed.
                        </p>
                  </div>
                </div>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="AUTHOR" onclick="switch_section(this)" title="Click title to show/hide section content.">AUTHOR</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Andy Wardley &lt;abw@wardley.org&gt; <a
                      href="http://wardley.org/">http://wardley.org/</a>
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="COPYRIGHT" onclick="switch_section(this)" title="Click title to show/hide section content.">COPYRIGHT</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved.
                    </p>
                    <p>
                      This module is free software; you can redistribute it and/or modify it
                      under the same terms as Perl itself.
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="SEE_ALSO" onclick="switch_section(this)" title="Click title to show/hide section content.">SEE ALSO</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      <a href="../../modules/Template.html">Template</a>
                    </p>
              </div>
            </div>
            
            </div></div>
          <br class="clear" />
          <div class="pageinfo">
            /modules/Template/Config.html last modified 10:57:45 31-May-2007
          </div>
        </div>
        
        <div id="footer">
          <a href="http://opensource.org/" class="osi"></a>
          <div class="controls">
          <div class="pager">
            <a href="../../modules/Template/Base.html" title="Template::Base" class="go back">Back<span class="about"><h4>Template::Base</h4></span></a>
            <a href="../../modules/Template/index.html" title="Template::* Modules" class="go up">Up<span class="about"><h4>Template::* Modules</h4></span></a>
            <a href="../../modules/Template/Constants.html" title="Template::Constants" class="go next">Next<span class="about"><h4>Template::Constants</h4></span></a>
          </div>
          </div>
          <div class="copyright">
            Copyright &copy; 1996-2007 <a href="http://wardley.org/">Andy Wardley</a>.  All Rights Reserved.
          </div>
          <div class="licence">
            The <a href="http://template-toolkit.org/">Template Toolkit</a> is <a href="http://opensource.org/">Open Source</a> software.
            You can redistribute and/or modify it under the terms of the <a href="http://www.opensource.org/licenses/gpl-license.php">GNU Public Licence</a>
            or the <a href="http://www.opensource.org/licenses/artistic-license.php">Perl Artistic Licence</a>.
          </div>
        </div>
        <div id="palette">
          <ul>
            <li class="first"><a href="#" class="blue" onclick="set_style('Clear Blue')"></a></li>
            <li><a href="#" class="orange" onclick="set_style('Clear Orange')"></a></li>
            <li><a href="#" class="green" onclick="set_style('Clear Green')"></a></li>
            <li><a href="#" class="purple" onclick="set_style('Clear Purple')"></a></li>
            <li><a href="#" class="grey" onclick="set_style('Clear Grey')"></a></li>
          </ul>
        </div>
    </div>  </body>
</html>