diff options
author | Fabio Bas <ctrlaltca@gmail.com> | 2015-02-05 11:45:26 +0100 |
---|---|---|
committer | Fabio Bas <ctrlaltca@gmail.com> | 2015-02-05 11:45:26 +0100 |
commit | 6dae236ec5528522de472637f9d70a98158b9a5d (patch) | |
tree | 0392bc0afb1f09921810d8b313b1f22b2f360106 /framework/Vendor/PhpShell/PHP/Shell/Extensions/Autoload.php | |
parent | 81efaa0c6acdcd2e36081fed21ad5eac11fad3bc (diff) |
Renamed 3rdparty directory to vendor
Php namespaces can’t begin with a number
Diffstat (limited to 'framework/Vendor/PhpShell/PHP/Shell/Extensions/Autoload.php')
-rw-r--r-- | framework/Vendor/PhpShell/PHP/Shell/Extensions/Autoload.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/framework/Vendor/PhpShell/PHP/Shell/Extensions/Autoload.php b/framework/Vendor/PhpShell/PHP/Shell/Extensions/Autoload.php new file mode 100644 index 00000000..72a5692b --- /dev/null +++ b/framework/Vendor/PhpShell/PHP/Shell/Extensions/Autoload.php @@ -0,0 +1,60 @@ +<?php +/** +* Autoload Extension +* +* Note: shell wrapper has to create the __autoload() function when +* isAutoloadEnabled() is true +* +* handles the options to enable the internal autoload support +* +* :set al +* :set autoload +* +* autoload can't be disabled +*/ + +class PHP_Shell_Extensions_Autoload implements PHP_Shell_Extension { + /** + * does the use want to use the internal autoload ? + * + * @var bool + */ + protected $autoload = false; + + public function register() { + $opt = PHP_Shell_Options::getInstance(); + + $opt->registerOption("autoload", $this, "optSetAutoload"); + $opt->registerOptionAlias("al", "autoload"); + } + + /** + * sets the autoload-flag + * + * - the $value is ignored and doesn't have to be set + * - if __autoload() is defined, the set fails + */ + public function optSetAutoload($key, $value) { + if ($this->autoload) { + print('autload is already enabled'); + return; + } + + if (function_exists('__autoload')) { + print('can\'t enabled autoload as a external __autoload() function is already defined'); + return; + } + + $this->autoload = true; + } + + /** + * is the autoload-flag set ? + * + * @return bool true if __autoload() should be set by the external wrapper + */ + public function isAutoloadEnabled() { + return $this->autoload; + } +} + |