package CatalystX::GlobalContext; use strict; use warnings; use parent 'Exporter'; use Scalar::Util 'weaken'; use vars '$c'; our @EXPORT_OK = '$c'; =head1 NAME CatalystX::GlobalContext - Export Catalyst Context =head1 VERSION Version 0.020 =cut our $VERSION = '0.020'; =head1 SYNOPSIS package MyApp::Controller::Root; use CatalystX::GlobalContext (); sub auto { my ($self, $c) = @_; CatalystX::GlobalContext->set_context($c); 1; } package Some::Other::Module; use CatalystX::GlobalContext '$c'; ... do stuff with $c ... =head1 DESCRIPTION This module, in combination with L or L is for helping you run legacy mod_perl code in L. You save a copy of $c somewhere at the beginning of the request cycle, and it is then accessible through an export where you need it. You can then rip out C type things, and replace them with things based on C<$c>. What we really need is a set of C compatibility classes, but that doesn't exist yet. DO NOT USE THIS MODULE IN NEW CODE =head1 CLASS METHODS =head2 CatalystX::GlobalContext->set_context($c) Saves a weakened reference to the Catalyst context, which is accessible from other modules as an export. =cut sub set_context { $c = $_[1]; weaken $c; } =head1 SEE ALSO L, L, L =head1 AUTHOR Rafael Kitover, C<< >> =head1 BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 SUPPORT More information at: =over 4 =item * RT: CPAN's request tracker L =item * AnnoCPAN: Annotated CPAN documentation L =item * CPAN Ratings L =item * Search CPAN L =back =head1 COPYRIGHT & LICENSE Copyright (c) 2008 Rafael Kitover This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut 1; # End of CatalystX::GlobalContext # vim: expandtab shiftwidth=4 ts=4 tw=80: