system system.base system.caching system.caching.dependencies system.collections system.console system.db system.db.ar system.db.schema system.db.schema.mssql system.db.schema.mysql system.db.schema.oci system.db.schema.pgsql system.db.schema.sqlite system.i18n system.i18n.gettext system.logging system.utils system.validators system.web system.web.actions system.web.auth system.web.filters system.web.helpers system.web.renderers system.web.services system.web.widgets system.web.widgets.captcha system.web.widgets.pagers

CAssetManager

system.web
继承 class CAssetManager » CApplicationComponent » CComponent
实现 IApplicationComponent
可用自 1.0
版本 $Id$
CAssetManager is a Web application component that manages private files (called assets) and makes them accessible by Web clients.

It achieves this goal by copying assets to a Web-accessible directory and returns the corresponding URL for accessing them.

To publish an asset, simply call publish().

The Web-accessible directory holding the published files is specified by basePath, which defaults to the "assets" directory under the directory containing the application entry script file. The property baseUrl refers to the URL for accessing the basePath.

公共属性

隐藏继承的属性

属性类型描述被定义在
basePath string the root directory storing the published asset files CAssetManager
baseUrl string the base url that the published asset files can be accessed. CAssetManager
behaviors array the behaviors that should be attached to this component. CApplicationComponent
isInitialized boolean whether this application component has been initialized (i. CApplicationComponent

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. CComponent
__get() Returns a property value, an event handler list or a behavior based on its name. CComponent
__isset() Checks if a property value is null. CComponent
__set() Sets value of a component property. CComponent
__unset() Sets a component property to be null. CComponent
asa() Returns the named behavior object. CComponent
attachBehavior() Attaches a behavior to this component. CComponent
attachBehaviors() Attaches a list of behaviors to the component. CComponent
attachEventHandler() Attaches an event handler to an event. CComponent
canGetProperty() Determines whether a property can be read. CComponent
canSetProperty() Determines whether a property can be set. CComponent
detachBehavior() Detaches a behavior from the component. CComponent
detachBehaviors() Detaches all behaviors from the component. CComponent
detachEventHandler() Detaches an existing event handler. CComponent
disableBehavior() Disables an attached behavior. CComponent
disableBehaviors() Disables all behaviors attached to this component. CComponent
enableBehavior() Enables an attached behavior. CComponent
enableBehaviors() Enables all behaviors attached to this component. CComponent
getBasePath() CAssetManager
getBaseUrl() CAssetManager
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getIsInitialized() CApplicationComponent
getPublishedPath() Returns the published path of a file path. CAssetManager
getPublishedUrl() Returns the URL of a published file path. CAssetManager
hasEvent() Determines whether an event is defined. CComponent
hasEventHandler() Checks whether the named event has attached handlers. CComponent
hasProperty() Determines whether a property is defined. CComponent
init() Initializes the application component. CAssetManager
publish() Publishes a file or a directory. CAssetManager
raiseEvent() Raises an event. CComponent
setBasePath() Sets the root directory storing published asset files. CAssetManager
setBaseUrl() CAssetManager

受保护的方法

隐藏继承的方法

方法描述被定义在
hash() Generate a CRC32 hash for the directory path. Collisions are higher CAssetManager

属性详情

basePath 属性
public string getBasePath()
public void setBasePath(string $value)

the root directory storing the published asset files

baseUrl 属性
public string getBaseUrl()
public void setBaseUrl(string $value)

the base url that the published asset files can be accessed. Note, the ending slashes are stripped off.

方法详情

getBasePath() 方法
public string getBasePath()
{return} string the root directory storing the published asset files

getBaseUrl() 方法
public string getBaseUrl()
{return} string the base url that the published asset files can be accessed. Note, the ending slashes are stripped off.

getPublishedPath() 方法
public string getPublishedPath(string $path, boolean $hashByName=false)
$path string directory or file path being published
$hashByName boolean whether the published directory should be named as the hashed basename. If false, the name will be the hashed dirname of the path being published. Defaults to false. Set true if the path being published is shared among different extensions.
{return} string the published file path. False if the file or directory does not exist

Returns the published path of a file path. This method does not perform any publishing. It merely tells you if the file or directory is published, where it will go.

getPublishedUrl() 方法
public string getPublishedUrl(string $path, boolean $hashByName=false)
$path string directory or file path being published
$hashByName boolean whether the published directory should be named as the hashed basename. If false, the name will be the hashed dirname of the path being published. Defaults to false. Set true if the path being published is shared among different extensions.
{return} string the published URL for the file or directory. False if the file or directory does not exist.

Returns the URL of a published file path. This method does not perform any publishing. It merely tells you if the file path is published, what the URL will be to access it.

hash() 方法
protected string hash(string $path)
$path string string to be hashed.
{return} string hashed string.

Generate a CRC32 hash for the directory path. Collisions are higher than MD5 but generates a much smaller hash string.

init() 方法
public void init()

Initializes the application component. This method is required by IApplicationComponent and is invoked by application.

publish() 方法
public string publish(string $path, boolean $hashByName=false, integer $level=-1)
$path string the asset (file or directory) to be published
$hashByName boolean whether the published directory should be named as the hashed basename. If false, the name will be the hashed dirname of the path being published. Defaults to false. Set true if the path being published is shared among different extensions.
$level integer level of recursive copying when the asset is a directory. Level -1 means publishing all subdirectories and files; Level 0 means publishing only the files DIRECTLY under the directory; level N means copying those directories that are within N levels.
{return} string an absolute URL to the published asset

Publishes a file or a directory. This method will copy the specified asset to a web accessible directory and return the URL for accessing the published asset.

  • If the asset is a file, its file modification time will be checked to avoid unnecessary file copying;
  • If the asset is a directory, all files and subdirectories under it will be published recursively. Note, in this case the method only checks the existence of the target directory to avoid repetitive copying.

setBasePath() 方法
public void setBasePath(string $value)
$value string the root directory storing published asset files

Sets the root directory storing published asset files.

setBaseUrl() 方法
public void setBaseUrl(string $value)
$value string the base url that the published asset files can be accessed