yana

Description
  Class trees
  Index of elements
  Todo List
core
  Classes
    FormCreator
    Index
    Language
    Object
    Plugin
    PluginManager
    Singleton
    SmartTemplate
    SmartView
    Utility
    Yana
database
  Classes
    DbBlob
    DbCreator
    DbDesigner4
    DbExtractor
    DbQuery
    DbQueryParser
    DbServer
    DbStream
    DbStructure
    FileDb
error_reporting
  Classes
    Alert
    Error
    ErrorUtility
    Log
    Message
    Report
    Warning
file_system
  Classes
    DatFile
    Dir
    Executeable
    File
    FileReadonly
    FileSystemResource
    SML
javascript
  Classes
    AjaxRequest
  Functions
    preview
    yanaAddEventListener
    yanaAddIcon
    yanaCheckEmbTags
    yanaCloseAll
    yanaGetCookie
    yanaGetElementsByClassName
    yanaMaxLength
    yanaMenu
    yanaMenuCookie
    yanaSetCookie
mail
  Classes
    FormMailer
    Mailer
plugins
  Classes
    plugin_blog
    plugin_check
    plugin_db_admin
    plugin_db_tools
    plugin_default_library
    plugin_diagnostics
    plugin_guestbook
    plugin_guestbook_admin
    plugin_ipblock
    plugin_ipblock_admin
    plugin_rss
    plugin_rss_admin
    plugin_sdk
    plugin_search
    plugin_search_admin
    plugin_user
    plugin_user_admin
utilities
  Classes
    Brush
    Counter
    Hashtable
    Image
    Microsummary
    RSS
    RSSitem
    String
  Functions
    checkArgumentList
    cloneArray
    dirlist
    qSearchArray
    untaintInput
    XMLencode
vdrive
  Classes
    Registry
    VDrive
zip
  Classes
    PclZip

phpDocumentor v 1.4.0

YANA Framework for PHPDocs For Class SmartTemplate

### Class SmartTemplate

#### Description

«decorator» SmartTemplate
This implements a decorator class for the smarty template engine. The use of the "decorator" pattern actually means it "implements an API" on top of the original.
Note that this does not touch or even change the engine itself.
This class provides two things: most obviously it provides some features, that smarty does not have and in addition it does some more type checking and automates the initialization process.

- access: public

    Object
       |
       --SmartTemplate

##### Method Summary

- SmartTemplate SmartTemplate ([string $filename = ""])
- string equals (object $anotherObject)
- mixed get ([string $key = null], [bool $overwrite = true])
- string getPath ()
- Smarty &getSmarty ()
- bool insert (string $varName, mixed $var)
- bool insertByReference (string $varName, mixed &$var)
- bool insertFile (string $varName, string $filename)
- bool setFunction (int $as, string $name, mixed $code)
- bool setPath (string $filename)
- bool unsetFunction (int $as, string $name)
- void write ()

#### Direct descendents

Class | Description
--- | ---
Mailer | create and send mails based on templates
SmartView | «Singleton» View

#### Methods

##### create an instance

SmartTemplate SmartTemplate (
[string $filename = ""]
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$filename | string | (optional)

###### Description:

You may enter a filename of a template you want to use.

##### compare with another object

string equals (
object $anotherObject
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$anotherObject | object |

###### Description:

Returns bool(true) if this object and $anotherObject are equal and bool(false) otherwise.
Two instances are considered equal if and only if they are both objects of the same class and they both refer to the same filesystem resource.

- access: public

Redefinition of: Object::equals()

##### fetch a template or template var

mixed get (
[string $key = null], [bool $overwrite = true]
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$key | string | variable-name
$overwrite | bool | true = on / false = off

###### Description:

There are three ways to call this function:
If you call $smartTemplate->get($varName) it will get the template var $varName and return it.
If you call $smartTemplate->get("*") with the wildcard '*' or an empty string '' it will return an associative array containing all template vars.
If you call $smartTemplate->get() without a parameter it will fetch the current template and return it as a string.
If the $key parameter is NULL, the second parameter can be used to change the way how variables are imported from the global registry to the template. If set to false, existing template vars will not be replaced by vars of the same name in the registry. Otherwise template vars will get overwritten if the global registry has another value.

- access: public

##### get path and name of current template

string getPath ()

###### Description:

Returns a string containing the path and filename of the current template relative to the framework's home directory.

- access: public

##### bypass template class

Smarty &getSmarty ()

###### Description:

This function is used to unbox the smarty instance inside the object. It may be used to bypass the template class in cases where direct access to the smarty template engine is necessary.

- since: 2.8.9
- access: public

##### assign a variable by value

bool insert (
string $varName, mixed $var
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$varName | string | address
$var | mixed | some new value

###### Description:

This assigns the $var to the name $varName.
Unlike Smarty's "assign()" this function takes an additional value for $varName:
You may use the wildcard '*' to merge an associative array with the template vars. Example of usage:

1. $smartTemplate->insert('*', array $var)

Returns bool(true) on success and bool(false) on error.

- access: public

##### assign a variable by reference

bool insertByReference (
string $varName, mixed &$var
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$varName | string | address
&$var | mixed | some new value

###### Description:

This assigns the $var to the name $varName.
Unlike Smarty's "assign()" this function takes an additional value for $varName:
You may use the wildcard '*' to merge an associative array with the template vars.
Example of usage:

1. $smartTemplate->insertByReference('*', array $var)

- access: public

##### insert a file

bool insertFile (
string $varName, string $filename
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$varName | string |
$filename | string |

###### Description:

Load a file and assign it's content as a string to the provided template var.
Returns bool(true) on success and bool(false) on error.

- access: public

##### Register function

bool setFunction (
int $as, string $name, mixed $code
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$as | int | one of: YANA_TPL_FUNCTION, YANA_TPL_MODIFIER, YANA_TPL_BLOCK
$name | string | name of the function
$code | mixed | a callable resource

###### Description:

This function registers the function at $code as a template function under the name $name in the template engine.
Argument $as can be one of the followin constants:

- YANA_TPL_FUNCTION - registers the resource as a template function, called as [%foo %]
- YANA_TPL_MODIFIER - registers the resource as a template modifier, called as [%$bar|foo%]
- YANA_TPL_BLOCK - registers the resource as a template block function, called as [%foo %]...[%/foo%]

Argument $name:

- Say, you register some function as YANA_TPL_FUNCTION under the name "foo", then you can call this function from within a template using: [%foo %]

Argument $code:

- Say, you got a PHP function like foo(). To refer to this function use the code-argument with the string "foo".
- Say, you got a PHP class "Foo" and a static function "bar", which you would call from PHP as Foo::bar(). To refer to this function use the code-argument with the array array("Foo", "bar").
- Say, you got a PHP object $foo and a non-static function "bar", which you would call from PHP as $foo->bar(). To refer to this function use the code-argument with the array array($foo, "bar").

Note: For details on how the called function should look like, see the smarty documentation at http://smarty.php.net/docs.php, chapter 16) "Extending smarty", sections: "template functions", "modifiers" and "block functions".

- access: public

##### set filename of current template

bool setPath (
string $filename
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$filename | string | name of the template file

###### Description:

You may set another filename of a template to fetch.
Please note:

1. Template files may not have a reserved extension like "htaccess", "php", "config" or the like.
2. Files should be adressed from the root. This is where "index.php" is stored.
3. If you can't access a file, the file does not exist or is not readable, a template error is thrown.
4. Filenames are case-sensitive!

- access: public

##### Unregister function

bool unsetFunction (
int $as, string $name
)

###### List of parameters:

Name | Type | Description
--- | --- | ---
$as | int | one of: YANA_TPL_FUNCTION, YANA_TPL_MODIFIER, YANA_TPL_BLOCK
$name | string | name of the function

###### Description:

By using this, the function named $name will no longer be available in template. Be cautious: If the unregistered funciton is still used inside the template, this will issue a template error and possibly cause your application to exit.

- access: public

##### output the template to screen

void write ()

###### Description:

This function will fetch and print the current template to the screen.

- access: public

##### inherited from base classes

Inherited From Object

- Object::cloneObject()
- Object::equals()
- Object::getClass()
- Object::serialize()
- Object::toString()

Documentation generated on Sun, 04 Jan 2009 03:49:09 +0100 by phpDocumentor 1.4.0

yana author: Thomas Meyerwww.yanaframework.net