Rodney Broom wrote:
> From: "Joel Bernstein" <[EMAIL PROTECTED]>
>
>> On Thu, Aug 10, 2006 at 10:28:47AM -0700, Rodney Broom wrote:
>>> Disliking the fact that require() doesn't call my import(), I'm trying to
>>> figure out why Catalyst (and so many other things) use require() over
>>> use(). I have to think there's a good reason that just isn't occuring to me.
>> require is runtime, use is compile-time.
>
> Right.
>
>
>> Perl doesn't know at compile-time which plugins you're going to load.
>
> Sorry, I'm missing how that effects the choice of require over use. Plugins
> are found via Module::Pluggable::Object::plugins() in
> Catalyst::setup_components(), yes?
>
>
> The primary (or initial) reason I want use() is because I want my import
> called from my schema class:
>
> package MyApp::Schema::Main;
>
> use base qw(DBIx::Class::Schema);
> sub import {
> __PACKAGE__->load_classes(@_);
> }
>
> With require(), I'm forced to call import() explicity in that package.
>
> Under Catalyst, I get all classes. Outside of Catalyst (scripts) I tend to
> only use what I need:
package MyApp::Model::Main;
use MyApp::Schema::Main;
use base qw/Catalyst::Model::DBIC::Schema/;
...
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/