0

I want to convert my MVC framework to conform to the PSR-0 standards, but I am having a devil of a time trying to wrap my head around namespaces and how it works. I am using the suggested SplClassLoader class. Below is my file structure, and what I am trying to accomplish.

index.php
application
system
---------Classes
----------------Autoloader.php
----------------Extension.php
---------config
----------------helper.php

index.php:

require( SYS_PATH . 'config/constants.php');
require( SYS_PATH . 'application.php');
require( SYS_PATH . 'Classes/Autoloader.php');

use Classes\Autoloader;
$classLoader = new Autoloader('Classes', BASE_PATH . 'system');
$classLoader->register();

$app = new Bootstrap();

Extension.php:

<?php if ( ! defined('BASE_PATH')) exit('No direct script access allowed');

namespace Classes;

class Extension {

        public __construct() {
             echo 'This Extension class is working';
        }

}

helper.php

<?php if ( ! defined('BASE_PATH')) exit('No direct script access allowed');

use Classes\Extension as Ext;
$apphelp = new Ext();
$apphelp->helper(array('gettext'));

The helper.php file is automatically loaded through a registry.php file, so there are no issues there. Now that all that is place, I am getting the following error:
Fatal error: Class 'Classes\Extension' not found in /Applications/MAMP/htdocs/framework/system/config/helper.php on line 21

I can't figure out what I am doing wrong. Like I said, I am still trying to understand namespaces, but I thought I was making progress, but I've been struggling with this for two days now. I know that "namespace" is supposed to come first in the code, and I did make that change even though it doesn't look so above, but I still receive errors. Any help is greatly appreciated.

2
Contributors
1
Reply
3
Views
5 Years
Discussion Span
Last Post by pritaeas
This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.