ASP4
view release on metacpan or search on metacpan
README.markdown view on Meta::CPAN
# Expires: (If you don't specify the "expires" argument, the cookie will
# be deleted when the browser is closed.
expires => "3D", # 3 days
expires => "3H", # or 3 hours
expires => "3M", # or 3 minutes
# Domain: (defaults to $ENV{HTTP_HOST})
domain => ".example.com", # works for *.example.com
domain => "www.example.com", # will ONLY work for www.example.com
# Path:
path => "/some/folder/" # will ONLY work within /some/folder/ on your website
);
### $Response->Include( $path, %args )
ASP4's `$Response` object offers 3 different include methods.
<!-- Normal SSI-style Include -->
<!-- #include virtual="/includes/page.asp" -->
If you want to supply arguments to the included ASP script you can use `$Response->Include($path, \%args)`
# Add the output of C</includes/page.asp> to the current output buffer:
my %args = ( foo => "bar" );
$Response->Include( $Server->MapPath("/includes/page.asp"), \%args );
`\%args` is optional.
Within the included ASP script, `\%args` is accessible like this:
<%
my ($self, $context, $args) = @_;
%>
### $Response->TrapInclude( $path, %args )
Or if you need to capture the result of executing an ASP script and use it within
a variable, use `$Response->TrapInclude($path, \%args)`
# Capture the output of C</includes/page.asp>:
my %args = ( foo => "bar" );
my $html = $Response->TrapInclude( $Server->MapPath("/includes/page.asp"), \%args );
`\%args` is optional.
Within the included ASP script, `\%args` is accessible like this:
<%
my ($self, $context, $args) = @_;
%>
## $Session
The `$Session` object is an instance of a subclass of [ASP4::SessionStateManager](http://search.cpan.org/perldoc?ASP4::SessionStateManager)
(depending on your website's configuration).
The `$Session` object is a simple blessed hashref and should be used like a hashref.
Examples:
### Set a session variable
$Session->{foo} = "bar";
$Session->{thing} = {
banana => "yellow",
cherry => "red",
peach => "pink,
};
### Get a session variable
my $foo = $Session->{foo};
### $Session->save()
Called automatically at the end of every successful request, causes any changes
to the `$Session` to be saved to the database.
### $Session->reset()
Call `$Session->reset()` to clear all the data out of the session and save
it to the database.
## $Config
The ASP4 `$Config` object is stored in a simple JSON format on disk, and accessible
everywhere within your entire ASP4 application as the global `$Config` object.
If ever you find yourself in a place without a `$Config` object, you can get one
like this:
use ASP4::ConfigLoader;
my $Config = ASP4::ConfigLoader->load();
See [ASP4::Config](http://search.cpan.org/perldoc?ASP4::Config) for full details on the ASP4 `$Config` object and its usage.
## $Stash
The `$Stash` is a simple hashref that is guaranteed to be the exact same hashref
throughout the entire lifetime of a request.
Anything placed within the `$Stash` at the very beginning of processing a request -
such as in a RequestFilter - will still be there at the very end of the request -
as in a RegisterCleanup handler.
Use the `$Stash` as a great place to store a piece of data for the duration of
a single request.
# DATABASE
While ASP4 __does not require__ its users to choose any specific database (eg: MySQL or PostgreSQL)
or ORM (object-relational mapper) the __recommended__ ORM is [Class::DBI::Lite](http://search.cpan.org/perldoc?Class::DBI::Lite)
since it has been completely and thoroughly tested to be 100% compatible with ASP4.
For full documentation about [Class::DBI::Lite](http://search.cpan.org/perldoc?Class::DBI::Lite) please view its documentation.
( run in 1.435 second using v1.01-cache-2.11-cpan-39bf76dae61 )