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]

Reply via email to