За последние 24 часа нас посетили 17566 программистов и 1576 роботов. Сейчас ищут 1408 программистов ...

Не работает автозагрузка и namespace

Тема в разделе "PHP для новичков", создана пользователем mor3uk, 31 авг 2018.

  1. mor3uk

    mor3uk Новичок

    С нами с:
    19 авг 2018
    Сообщения:
    13
    Симпатии:
    0
    Помогите пожалуйста, не могу разобраться, почему не работает код. Без namespace все ок, а с ним не работает(
    index.php
    (
    <?php
    set_include_path(get_include_path().PATH_SEPARATOR.'lib'.PATH_SEPARATOR.'lib/traits');
    spl_autoload_extensions('.php');
    spl_autoload_register();
    $car = new car\Car();
    echo $car->move();
    echo '<br />';
    $air = new air\AirCraft();
    echo $air->fly();
    ?>
    )

    lib/car.php
    (
    <?php
    namespace car;
    class Car
    {
    use CanMove;
    }
    ?>
    )

    lib/traits/CanMove.php
    (
    <?php
    trait CanMove
    {
    public function move()
    {
    echo 'Управляем тачкой';
    }
    }
    ?>
    )

    lib/AirCraft.php
    (
    <?php
    namespace air;
    class AirCraft
    {
    use CanFly;
    }
    ?>
    )

    lib/traits/CanFly.php
    (
    <?php
    trait CanFly
    {
    public function fly()
    {
    echo 'Управляем самолётом';
    }
    }
    ?>
    )
     
  2. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    spl_autoload_register() вызывает другую функцию колбэк(callback, callable)
     
  3. mor3uk

    mor3uk Новичок

    С нами с:
    19 авг 2018
    Сообщения:
    13
    Симпатии:
    0
    А что тогда нужно исправить?
     
  4. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Ну написать функцию которая будет подключать класс и зарегистрировать её в spl
     
  5. mor3uk

    mor3uk Новичок

    С нами с:
    19 авг 2018
    Сообщения:
    13
    Симпатии:
    0
    Спасибо
     
  6. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    У меня так upload_2018-9-2_1-57-3.png
     
  7. mor3uk

    mor3uk Новичок

    С нами с:
    19 авг 2018
    Сообщения:
    13
    Симпатии:
    0
    Спасибо