Class TPageService
TPageService class.
TPageService implements the service for serving user page requests.
Pages that are available to client users are stored under a directory specified by setBasePath BasePath. The directory may contain subdirectories. Pages serving for a similar goal are usually placed under the same directory. A directory may contain a configuration file config.xml whose content is similar to that of application configuration file.
A page is requested via page path, which is a dot-connected directory names appended by the page name. Assume '<BasePath>/Users/Admin' is the directory containing the page 'Update'. Then the page can be requested via 'Users.Admin.Update'. By default, the setBasePath BasePath of the page service is the "pages" directory under the application base path. You may change this default by setting setBasePath BasePath with a different path you prefer.
Page name refers to the file name (without extension) of the page template.
In order to differentiate from the common control template files, the extension
name of the page template files must be '.page'. If there is a PHP file with the
same page name under the same directory as the template file, that file will be
considered as the page class file and the file name is the page class name. If
such a file is not found, the page class is assumed as TPage
.
Modules can be configured and loaded in page directory configurations. Configuration of a module in a subdirectory will overwrite its parent directory's configuration, if both configurations refer to the same module.
By default, TPageService will automatically load two modules:
TTemplateManager
: manages page and control templatesTThemeManager
: manages themes used in a Prado application
In page directory configurations, static authorization rules can also be
specified, which governs who and which roles can access particular pages. Refer
to TAuthorizationRule
for more details about authorization rules. Page
authorization rules can be configured within an <authorization> tag in
each page directory configuration as follows, <authorization> <deny
pages="Update" users="?" /> <allow pages="Admin" roles="administrator"
/> <deny pages="Admin" users="*" /> </authorization> where the
'pages' attribute may be filled with a sequence of comma-separated page IDs. If
'pages' attribute does not appear in a rule, the rule will be applied to all
pages in this directory and all subdirectories (recursively). Application of
authorization rules are in a bottom-up fashion, starting from the directory
containing the requested page up to all parent directories. The first matching
rule will be used. The last rule always allows all users accessing to any
resources.
- TComponent
-
TApplicationComponent
-
TService implements IService
-
TPageService
Direct known subclasses
TWsatServiceCopyright: Copyright © 2005-2014 PradoSoft
License: http://www.pradosoft.com/license/
Author: Qiang Xue <qiang.xue@gmail.com>
Author: Carl G. Mathisen <carlgmathisen@gmail.com>
Since: 3.0
Located at Web/Services/TPageService.php
public
|
#
init(
Initializes the service. This method is required by IService interface and is invoked by application. |
protected
|
#
initPageContext(
Initializes page context. Page context includes path alias settings, namespace usages, parameter initialization, module loadings, page initial properties and authorization rules. |
protected
|
|
protected
string
|
|
protected
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
|
|
public
string
|
|
public
string
|
|
public
|
|
public
|
#
setBasePageClass( string $value )
Sets the base page class name (in namespace format). If a page only has a template file without page class file, this base page class will be instantiated. |
public
string
|
|
public
|
#
setClientScriptManagerClass( string $value )
Sets the clientscript manager class (in namespace format). |
public
string
|
|
public
|
#
run( )
Runs the service. This will create the requested page, initializes it with the property values specified in the configuration, and executes the page. |
protected
|
|
protected
|
|
public
string
|
#
constructUrl( string $pagePath, array $getParams = null, boolean $encodeAmpersand = true, boolean $encodeGetItems = true )
Constructs a URL with specified page path and GET parameters. |
getEnabled(),
getID(),
setEnabled(),
setID()
|
getApplication(),
getRequest(),
getResponse(),
getService(),
getSession(),
getUser(),
publishAsset(),
publishFilePath()
|
string |
CONFIG_FILE_XML |
'config.xml' |
#
Configuration file name |
string |
CONFIG_FILE_PHP |
'config.php' |
#
Configuration file name |
string |
DEFAULT_BASEPATH |
'Pages' |
#
Default base path |
string |
FALLBACK_BASEPATH |
'pages' |
#
Fallback base path - used to be the default up to Prado < 3.2 |
string |
CONFIG_CACHE_PREFIX |
'prado:pageservice:' |
#
Prefix of ID used for storing parsed configuration in cache |
string |
PAGE_FILE_EXT |
'.page' |
#
Page template file extension |
GLOBAL_RAISE_EVENT_LISTENER
|