|
journal
all | Rob is 20,357 days old today. |
|
Entries this day: learning-php learning php 07:10 Sunday 07 October 2018 JSTI have started going through Modernizing Legacy Applications in PHP for AB website, and now the database is loaded via an autoloader.
* @license https://opensource.org/licenses/bsd-license.php BSD
*/
/**
* Autoloads classes.
*
*/
namespace Mlaphp;
class Autoloader
{
public function load($class)
{
// strip off any leading namespace separator from PHP 5.3
$class = ltrim($class, '\\');
// the eventual file path
$subpath = '';
// is there a PHP 5.3 namespace separator?
$pos = strrpos($class, '\\');
if ($pos !== false) {
// convert namespace separators to directory separators
$ns = substr($class, 0, $pos);
$subpath = str_replace('\\', DIRECTORY_SEPARATOR, $ns)
. DIRECTORY_SEPARATOR;
// remove the namespace portion from the final class name portion
$class = substr($class, $pos + 1);
}
// convert underscores in the class name to directory separators
$subpath .= str_replace('_', DIRECTORY_SEPARATOR, $class);
// the path to our central class directory location
$dir = dirname(__DIR__);
// prefix with the central directory location and suffix with .php,
// then require it.
$file = $dir . DIRECTORY_SEPARATOR . $subpath . '.php';
require $file;
}
}
I had to tweak the file path for the database file from classes/database/class.database.php to classes/Database/Database.php And add |