stas        2002/06/04 03:10:27

  Modified:    src/docs/2.0/user/compat compat.pod
  Log:
  syncing with the latest compat changes (more to come)
  
  Revision  Changes    Path
  1.21      +89 -40    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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- compat.pod        2 Jun 2002 13:42:04 -0000       1.20
  +++ compat.pod        4 Jun 2002 10:10:27 -0000       1.21
  @@ -4,20 +4,33 @@
   
   =head1 Description
   
  -This chapter explains how to port code from mod_perl 1.0 to mod_perl
  -2.0.
  -
  +This chapter explains how to port code and configuration files from
  +mod_perl 1.0 to mod_perl 2.0.
   
  +As will be explained in details later loading C<Apache::compat> at the
  +server startup, should make the code running properly under 1.0 work
  +under mod_perl 2.0. If you want to port your code to mod_perl 2.0 or
  +writing from scratch and not concerned about backwards compatibility,
  +this document explains what has changed compared to mod_perl 1.0.
  +
  +Several configuration directives were changed, renamed or
  +removed. Several APIs have changed, renamed, removed, or moved to new
  +packages.  Certain functions while staying exactly the same as in
  +mod_perl 1.0, now reside in different packages. Before using them you
  +need to find out those packages and load them.
  +
  +You should be able to find the destiny of the functions that you
  +cannot find any more or which behave differently now under the package
  +names the functions belong in mod_perl 1.0.
   
   
   =head1 Configuration Files Porting
   
   To migrate the configuration files to the mod_perl 2.0 syntax, you may
  -need to do certain adjustments if you use any of the configuration
  -directives listed in the following sections.
  -
  -Remember that if you use any of the new directives, your configuration
  -won't work anymore with mod_perl 1.0.
  +need to do certain adjustments. Several configuration directives are
  +deprecated in 2.0, but still available for backwards compatibility
  +with mod_perl 1.0. If you don't need the backwards compatibility
  +consider using the directives that have replaced them.
   
   =head2 C<PerlHandler>
   
  @@ -57,7 +70,16 @@
   =head2 C<PerlFreshRestart>
   
   C<PerlFreshRestart> is a mod_perl 1.0 legacy and doesn't exist in
  -mod_perl 2.0.
  +mod_perl 2.0. A full teardown and startup of interpreters is done on
  +restart.
  +
  +
  +
  +
  +
  +
  +
  +
   
   =head1 Code Porting
   
  @@ -155,6 +177,56 @@
   
   =head1 C<Apache::>
   
  +
  +
  +=head2 C<Apache-E<gt>define()>
  +
  +C<Apache-E<gt>define()> has been replaced with
  +C<Apache::exists_config_define()> residing inside
  +C<Apache::ServerUtil>.
  +
  +See the C<L<Apache::ServerUtil>> manpage.
  +
  +=head2 C<Apache::exit()>
  +
  +C<Apache::exit()> has been replaced with C<ModPerl::Util::exit()>,
  +which is a function (not a method) and accepts a single optional
  +argument: status, whose default is 0 (== do nothing).
  +
  +See the C<L<ModPerl::Util>> manpage.
  +
  +=head2 C<gensym()>
  +
  +Since Perl 5.6.1 filehandlers are autovivified and there is no need
  +for C<Apache::gensym()> function, since now it can be done with:
  +
  +  open my $fh, "foo" or die $!;
  +
  +Though the C function modperl_perl_gensym() is available for XS/C
  +extensions writers.
  +
  +=head2 C<module()>
  +
  +C<Apache::module> has been replaced with the function
  +C<Apache::Module::loaded()>, which now accepts a single argument: the
  +module name.
  +
  +
  +
  +
  +
  +=head1 Request Object Methods
  +
  +
  +=head2 C<$r-E<gt>lookup_file>, C<$r-E<gt>lookup_uri>, 
  +
  +These functions have moved but didn't change their functionality. In
  +order to use them load the module they belong to in mod_perl 2.0:
  +
  +  $r->lookup_file          Apache::SubRequest
  +  $r->lookup_uri           Apache::SubRequest
  +
  +
   =head2 C<$r-E<gt>content()> and C<$r-E<gt>args()> in an Array Context
   
   C<$r-E<gt>args()> in 2.0 returns the query string without parsing and
  @@ -216,18 +288,12 @@
   instead for both versions of mod_perl. C<Apache::user()> method is
   available since mod_perl version 1.24_01.
   
  +=head2 C<$r-E<gt>is_main()>
   
  +C<$r-E<gt>is_main()> is not part of the mod_perl 2.0 API. Use
  +C<!$r-E<gt>main()> instead.
   
  -=head2 C<exit()>
  -
  -C<Apache::exit()> has been replaced with C<ModPerl::Util::exit()>,
  -which is a function (not a method) and accepts a single optional
  -argument: status, whose default is 0 (== do nothing).
  -
  -See the L<ModPerl::Util> manpage.
  -
  -
  -=head2 C<finfo()>
  +=head2 C<$r-E<gt>finfo()>
   
   XXX: not implemented yet. To be implemented. C<Apache::compat> handles
   that for now with:
  @@ -238,17 +304,7 @@
         \*_;
     }
   
  -=head2 C<gensym()>
  -
  -Since Perl 5.6.1 filehandlers are autovivified and there is no need
  -for C<Apache::gensym()> function, since now it can be done with:
  -
  -  open my $fh, "foo" or die $!;
  -
  -Though the C function modperl_perl_gensym() is available for XS/C
  -extensions writers.
  -
  -=head2 C<header_in()>, C<header_out()> and C<err_header_out()>
  +=head2 C<$r-E<gt>header_in()>, C<$r-E<gt>header_out()> and 
C<$r-E<gt>err_header_out()>
   
   C<header_in()>, C<header_out()> and C<err_header_out()> are not
   available in 2.0. Use C<headers_in()>, C<headers_out()> and
  @@ -266,7 +322,7 @@
   
   
   
  -=head2 C<log_reason()>
  +=head2 C<$r-E<gt>log_reason()>
   
   C<log_reason()> has been replaced with a set of dedicated functions:
   C<Apache::RequestRec::log_error()>, C<Apache::ServerRec::log_error()>,
  @@ -276,13 +332,7 @@
   manpages.
   
   
  -=head2 C<module()>
  -
  -C<Apache::module> has been replaced with the function
  -C<Apache::Module::loaded()>, which now accepts a single argument: the
  -module name.
  -
  -=head2 C<register_cleanup()>
  +=head2 C<$r-E<gt>register_cleanup()>
   
   register_cleanup() has been replaced with
   C<APR::Pool::cleanup_register()> which accepts the pool object as the
  @@ -319,7 +369,7 @@
         ...
     </Location>
   
  -=head2 C<send_fd()> and C<send_fd_length()>
  +=head2 C<$r-E<gt>send_fd()> and C<$r-E<gt>send_fd_length()>
   
   currently available only in the 1.0 compatibility layer. The problem
   is that Apache has changed the API and the its functionality. See the
  @@ -349,7 +399,6 @@
   
   The methods from module C<Apache::File> have been either moved to
   other packages or removed.
  -
   
   =head2 C<open()> and C<close()>
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to