Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174

Не понимаю spl_autoload_register

12.01.2017, 15:06. Показов 5423. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пример.
У меня есть много файлов с классами. 1 файл = 1 класс. Классы и их методы.
Я хочу использоваться в одном файле эти классы и методы. А четкого конкретного примера по использованию spl_autoload_register я найти не могу, везде один и тот же непонятный пример.

Можно пример с комментами в студию? Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2017, 15:06
Ответы с готовыми решениями:

Магия spl_autoload_register ?
Здравствуйте! Колупаю ООП, в частности функцию автозагрузки. spl_autoload_register(function ($class) { $file = APP ....

Spl_autoload_register; статические методы
Доброго времени суток. Есть 2 не связанных между собой вопроса. 1) Никак не могу вникнуть в тему автозагрузки классов, а именно...

Автоматическая загрузка классов с пом. spl_autoload_register()
Зачем нужна, если можно просто и явно использовать include, и часто ли применяется? (На форуме тем не нашёл).

13
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.01.2017, 16:11
Цитата Сообщение от Zhdanoff Посмотреть сообщение
везде один и тот же непонятный пример.
Какой конкретно пример и что конкретно в нем не понятно?
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
12.01.2017, 16:16  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Какой конкретно пример и что конкретно в нем не понятно?
у вас есть пример использования? давайте не будем разводить демагогию

Class1.php, Class2.php ....
хочу использовать эти классы и их методы в файле index.php с помощью функции spl_autoload_register
0
12.01.2017, 16:18

Не по теме:

Цитата Сообщение от Zhdanoff Посмотреть сообщение
у вас есть пример использования? давайте не будем разводить демагогию
OK, отписался

0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
12.01.2017, 16:34
Цитата Сообщение от Zhdanoff Посмотреть сообщение
Можно пример с комментами в студию?
В документации есть.

Цитата Сообщение от Zhdanoff Посмотреть сообщение
давайте не будем разводить демагогию
Лучше бы нормально на вопросы ответили.
0
2 / 2 / 0
Регистрация: 22.01.2013
Сообщений: 174
12.01.2017, 16:37  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
В документации есть.
я же написал суть задачи, а вы мне опять одни и те же примеры, в которых я ничего не понял, много классов, 1 класс = 1 файл, я хочу создавать объекты и использовать их методы в другом файле, при помощи ф-ции spl_autoload_register, если вы не знаете конкретного разжеваного примера, то не надо ничего отвечать
0
276 / 201 / 143
Регистрация: 22.01.2016
Сообщений: 637
12.01.2017, 16:58
Допустим, имена классов и файлов совпадают. Всё находится в одной папке.
PHP
1
$obj = new Test();
PHP
1
2
3
4
spl_autoload_register(function($className) {
    # $className = Test
    require_once($className . '.php');
});
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
12.01.2017, 17:53
Цитата Сообщение от Zhdanoff Посмотреть сообщение
то не надо ничего отвечать
Если Вы не хотите чтобы Вам ответили, то не надо ничего спрашивать. А если хотите то задавайте вопрос нормально.
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
12.01.2017, 18:47
Цитата Сообщение от Zhdanoff Посмотреть сообщение
я же написал суть задачи, а вы мне опять одни и те же примеры, в которых я ничего не понял
В том и проблема, что изначально ничего не описали. Откуда мне знать, какой именно пример вы нашли в интернете и что вы в нём не поняли?
Цитата Сообщение от Zhdanoff Посмотреть сообщение
1 класс = 1 файл, я хочу создавать объекты и использовать их методы в другом файле
Уже что-то.

Создаём в корне сайта два файла:

Product.php
PHP
1
2
3
4
5
6
7
class Product
{
    public function showName()
    {
        echo 'Товар1';
    }
}
index.php
PHP
1
2
3
4
5
6
7
8
9
function autoload($class)
{
    include($class . '.php');
}
 
spl_autoload_register('autoload');
 
$product = new Product();
$product->showName();
Запускаем index.php. Происходит следующее:
1. Регистрируется автолоадер
2. PHP видит new Product(). Этот класс нигде ранее не был объявлен, поэтому PHP запускает автолоадер.
3. Автолоадер пытается подключить файл Product.php. При подключении происходит объявление класса Product.
4. PHP возвращается на строку с new Product() и создаёт экземпляр класса.

Вот и всё.
0
 Аватар для noname_club
112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
12.01.2017, 18:59
Я хочу использоваться в одном файле эти классы и методы. А четкого конкретного примера по использованию spl_autoload_register я найти не могу, везде один и тот же непонятный пример.
Бибилия php
стих 1 глава 1 Сотворение приложения

1. в начале был композер
2. И сказал композер да будет composer.json. php composer.phar install
3. И стало приложение. И увидел композер что оно хорошо.
4. И сказал композер да будет autoload. https://habrahabr.ru/post/149678/

Добавлено через 6 минут
учитывая что сейчас composer входит в состав OpenServer для любимого Виндовс, использовать его проще чем чесать левую пятку ноги.
1
0 / 0 / 0
Регистрация: 16.01.2017
Сообщений: 7
16.01.2017, 16:41
Цитата Сообщение от noname_club Посмотреть сообщение
учитывая что сейчас composer входит в состав OpenServer для любимого Виндовс
пипец. composer говнокод в реале. ну в перёд
0
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
16.01.2017, 19:37
Цитата Сообщение от paragold Посмотреть сообщение
composer говнокод в реале
Приведи пример, почему он вдруг стал "говнокод"?
0
123 / 77 / 33
Регистрация: 05.03.2013
Сообщений: 449
17.01.2017, 00:16
Цитата Сообщение от noname_club Посмотреть сообщение
Бибилия php
стих 1 глава 1 Сотворение приложения

1. в начале был композер
2. И сказал композер да будет composer.json. php composer.phar install
3. И стало приложение. И увидел композер что оно хорошо.
4. И сказал композер да будет autoload. https://habrahabr.ru/post/149678/

Добавлено через 6 минут
учитывая что сейчас composer входит в состав OpenServer для любимого Виндовс, использовать его проще чем чесать левую пятку ноги.
5. И родился новый программист, для которого подключение класса является непонятной магией.
6. И достался ему легаси-проект, в котором не используется композер.

Добавлено через 1 минуту
7. И пришел он на форум, и начал ныть, что не понимает как классы загружаются автолоадом.
0
 Аватар для noname_club
112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
17.01.2017, 08:07
И пришел он на форум, и начал ныть, что не понимает как классы загружаются автолоадом.
http://php.net/manual/ru/langu... toload.php
http://php.net/manual/ru/funct... gister.php

складывается впечатление что не читали и не пробовали.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2017, 08:07
Помогаю со студенческими работами здесь

Не происходит автозагрузка классов в файле, не содержащем spl_autoload_register, но выполняющимся позже
Доброго времени суток, уважаемые форумчане! Есть проблемка при автозагрузке классов. Задача, например, регистрация нового пользователя...

С++ не понимаю
1. сумму элементов массива с нечетными номерами; 2. сумму элементов массива, расположенных между первым и последним отрицательными...

Не че не понимаю!!!
Всем привет !! Есть програматор usbasp купленный здесь http://e-divices.som.ua/progdebugmcu/usbasp дрова установил винда видит...

Не понимаю
Добрый день. У меня в универе задали 2 задачи а я на С# что-то туго иду можете помочь вот этими заданиями? Задание 1. Напишите на...

НУ не понимаю я!
Есть таблица, всё связано, работает замечательно. Но есть 1 но! Выбираю нужную мне запись и хочу её изменить, НО я добавляю новую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru