, поэтому я начал использовать пространства имен и прочитал некоторые документы, но, похоже, что-то не так.spl_autoloader не загружает классы
Во-первых моя структура приложения, которая строится так:
root
-dashboard(this is where i want to use the autoloader)
-index.php
--config(includes the autoloader)
--WePack(package)
---src(includes all my classes)
сейчас в каталоге Src я включил классы с:
namespace WePack\src;
class Someclass(){
}
содержание config.php является:
<?php
// Start de sessie
ob_start();
session_start();
// Locate application path
define('ROOT', dirname(dirname(__FILE__)));
set_include_path(ROOT);
spl_autoload_extensions(".php"); // comma-separated list
spl_autoload_register();
echo get_include_path();
и пользуюсь им как в моем index.php
require_once ('config/config.php');
use WePack\src;
$someclass = new Someclass;
Это то, что echo get_include_path(); возвращается:
/home/wepack/public_html/dashboard
который является тем, что я хочу, я думаю. но классы не загружаются и ничего не происходит. Я, очевидно, что-то пропустил, но я не могу понять это. не могли бы вы, ребята, взглянуть на него и объяснить мне, почему это не работает?
это не работает, он по-прежнему говорит, что класс не найден –
Я удалил пространство имен в файле классов и начал работать. но я хочу использовать пространства имен –
, что именно вы переходите к функции register? Я использую это с большим количеством пространств имен, но имею дополнительное условие для загрузки класса, только если первое пространство имен принадлежит мне. –