stas 2002/06/05 10:37:17 Modified: src/docs/2.0/user/compat compat.pod Log: syncing with recent changes (mainly in compat): - MODPERL2 Define - Apache::Constants::SERVER_VERSION - Apache::Constants::export - $r->post_connection - Apache::Util::escape_uri - Apache::Util::escape_html - Apache::Util::parsedate - Apache::Util::ht_time - Apache::Util::validate_password Class->method doesn't require the :method attr in method handlers Revision Changes Path 1.24 +98 -14 modperl-docs/src/docs/2.0/user/compat/compat.pod Index: compat.pod =================================================================== RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/compat/compat.pod,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- compat.pod 5 Jun 2002 10:25:06 -0000 1.23 +++ compat.pod 5 Jun 2002 17:37:17 -0000 1.24 @@ -73,8 +73,11 @@ mod_perl 2.0. A full teardown and startup of interpreters is done on restart. +If you need to use the same I<httpd.conf> for 1.0 and 2.0, use: - + <IfDefine !MODPERL2> + PerlFreshRestart + </IfDefine> @@ -169,7 +172,16 @@ script, which can tell you how to port the constants to 2.0? Currently C<Apache::compat> doesn't provide a complete back compatibility layer. +=head2 C<SERVER_VERSION()> + +C<Apache::Constants::SERVER_VERSION()> has been replaced with: + + Apache::get_server_version(); + +=head2 C<export()> +C<Apache::Constants::export()> has no replacement in 2.0 as it's not +needed. @@ -413,6 +425,14 @@ See the L<APR::Pool> manpage. +=head2 C<$r-E<gt>post_connection> + +C<$r-E<gt>post_connection> has been replaced with: + + $r->connection->pool->cleanup_register(); + +See the L<APR::Pool> manpage. + =head2 C<$r-E<gt>request> @@ -439,6 +459,7 @@ See the L<Apache::ServerUtil> manpage. + =head2 C<$r-E<gt>hard_timeout> See the next item. @@ -522,9 +543,57 @@ C<APR::String::format_size()>, which returns formatted strings of only 4 characters long. See the C<L<APR::String>> manpage. +=head2 C<Apache::Util::escape_uri()> + +C<Apache::Util::escape_uri()> has been replaced with +C<Apache::Util::escape_path()> and requires a pool object as a second +argument. For example: + + $escaped_path = Apache::Util::escape_path($path, $r->pool); + =head2 C<Apache::Util::unescape_uri()> -C<Apache::Util::unescape_uri()> is now C<Apache::unescape_url()>. +C<Apache::Util::unescape_uri()> has been replaced with +C<Apache::unescape_url()>. + +=head2 C<Apache::Util::escape_html()> + +C<Apache::Util::escape_html> currently is available only via +C<Apache::compat> until I<ap_escape_html> is reworked to not require a +pool. + +=head2 C<Apache::Util::parsedate()> + +C<Apache::Util::parsedate()> has been replaced with +C<APR::Date::parse_http()>. + +=head2 C<Apache::Util::ht_time()> + +C<Apache::Util::ht_time()> has been replaced (temporary?) with +C<Apache::Util::format_time()>, which requires a pool object as a +forth argument. All four arguments are now required. + +For example: + + use Apache::Util (); + $fmt = '%a, %d %b %Y %H:%M:%S %Z'; + $gmt = 1; + $fmt_time = Apache::Util::format_time(time(), $fmt, $gmt, $r->pool); + +See the L<Apache::Util> manpage. + + +=head2 C<Apache::Util::validate_password()> + +C<Apache::Util::validate_password()> has been replaced with +C<APR::password_validate()>. For example: + + my $ok = Apache::Util::validate_password("stas", "ZeO.RAc3iYvpA"); + + + + + =head1 C<Apache::URI> @@ -538,6 +607,16 @@ See the L<APR::URI> manpage. + + + + + + + + + + =head1 Miscellaneous =head2 Method Handlers @@ -553,8 +632,21 @@ ...; } -Starting from Perl version 5.6 the subroutine attributes are used in -place of subroutine prototypes: +mod_perl 2.0 doesn't handle callbacks with C<($$)> prototypes +differently than other callbacks (as it did in mod_perl 1.0), mainly +because several callbacks in 2.0 have more arguments than just C<$r>, +so the C<($$)> prototype doesn't make sense anymore. Therefore if you +want your code to work with both mod_perl generations and you can +allow the luxury of: + + require 5.6.0; + +or if you need the code to run only on mod_perl 2.0, use the I<method> +subroutine attribute. (The subroutine attributes are supported in Perl +since version 5.6.0.) + +Here is the same example rewritten using the I<method> subroutine +attribute: package Bird; @ISA = qw(Eagle); @@ -566,17 +658,9 @@ See the I<attributes> manpage. -mod_perl 2.0 doesn't handles callbacks with C<($$)> prototypes -differently than other callbacks (as it did in mod_perl 1.0), mainly -because several callbacks in 2.0 have more arguments than just C<$r>, -so the C<($$)> prototype doesn't make sense anymore. Therefore if you -want your code to work with both mod_perl generations and you can -allow the luxury of: - - require 5.6.0; +If C<Class-E<gt>method> syntax is used for a C<Perl*Handler>, the +C<:method> attribute is not required. -you should use the subroutine attributes. The subroutine attributes -are supported in Perl only since version 5.6.0.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]