Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F464073
Bootstrap.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
Bootstrap.php
View Options
<?php
namespace
Httpful
;
/**
* Bootstrap class that facilitates autoloading. A naive
* PSR-0 autoloader.
*
* @author Nate Good <me@nategood.com>
*/
class
Bootstrap
{
const
DIR_GLUE
=
DIRECTORY_SEPARATOR
;
const
NS_GLUE
=
'
\\
'
;
public
static
$registered
=
false
;
/**
* Register the autoloader and any other setup needed
*/
public
static
function
init
()
{
spl_autoload_register
(
array
(
'
\H
ttpful
\B
ootstrap'
,
'autoload'
));
self
::
registerHandlers
();
}
/**
* The autoload magic (PSR-0 style)
*
* @param string $classname
*/
public
static
function
autoload
(
$classname
)
{
self
::
_autoload
(
dirname
(
dirname
(
__FILE__
)),
$classname
);
}
/**
* Register the autoloader and any other setup needed
*/
public
static
function
pharInit
()
{
spl_autoload_register
(
array
(
'
\H
ttpful
\B
ootstrap'
,
'pharAutoload'
));
self
::
registerHandlers
();
}
/**
* Phar specific autoloader
*
* @param string $classname
*/
public
static
function
pharAutoload
(
$classname
)
{
self
::
_autoload
(
'phar://httpful.phar'
,
$classname
);
}
/**
* @param string base
* @param string classname
*/
private
static
function
_autoload
(
$base
,
$classname
)
{
$parts
=
explode
(
self
::
NS_GLUE
,
$classname
);
$path
=
$base
.
self
::
DIR_GLUE
.
implode
(
self
::
DIR_GLUE
,
$parts
)
.
'.php'
;
if
(
file_exists
(
$path
))
{
require_once
(
$path
);
}
}
/**
* Register default mime handlers. Is idempotent.
*/
public
static
function
registerHandlers
()
{
if
(
self
::
$registered
===
true
)
{
return
;
}
// @todo check a conf file to load from that instead of
// hardcoding into the library?
$handlers
=
array
(
\Httpful\Mime
::
JSON
=>
new
\Httpful\Handlers\JsonHandler
(),
\Httpful\Mime
::
XML
=>
new
\Httpful\Handlers\XmlHandler
(),
\Httpful\Mime
::
FORM
=>
new
\Httpful\Handlers\FormHandler
(),
\Httpful\Mime
::
CSV
=>
new
\Httpful\Handlers\CsvHandler
(),
);
foreach
(
$handlers
as
$mime
=>
$handler
)
{
// Don't overwrite if the handler has already been registered
if
(
Httpful
::
hasParserRegistered
(
$mime
))
continue
;
Httpful
::
register
(
$mime
,
$handler
);
}
self
::
$registered
=
true
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Mon, May 5, 8:36 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
73596
Default Alt Text
Bootstrap.php (2 KB)
Attached To
Mode
rP Phorge
Attached
Detach File
Event Timeline
Log In to Comment