170 похожих чатов

Https://Www.Youtube.Com/Watch?V=2zQV0obmu_o

14 ответов

21 просмотр

@hackimov смотрел? тебя по этому вопросу завалили на одном собесе

Дмитрий Щербаков
@hackimov смотрел? тебя по этому вопросу завалили ...

Посмотрел. Есть несколько вопросов: 1. Зачем использовать spl_autoload_register (речь про callable в 1 аргументе), если в тем же успехом можно сделать свою функцию обработчик который будет принимать путь с нейспейсом и в нём делать require_once? 2. Раз уж если мы все используем композер то у меня есть проблема с файлом autoload_classmap.php а) он является слишком жирным б) чтобы подключить один из классов нужно прочесть весь жирный файл.

Александр
Посмотрел. Есть несколько вопросов: 1. Зачем испол...

1. ну напиши свой composer чтобы такой же удобный но быстрее, вон в мире ноды только и успевают что новые пакетные менеджеры клепать, чем php хуже 2. ну тут извини, или шашечки или ехать, давно писал крупные проекты без composer?

Дмитрий Щербаков
@hackimov смотрел? тебя по этому вопросу завалили ...

То есть по сути, мне нужно как то унифицировать автолоад таким образом, чтобы он грузил только те файлы, которые были использованы при выполнении того или иного вызова PHP файла. пример: Вызов роута -> просмотр зависимостей-> формирования автолод classmap именно для этого файла в рамках вызова роута, его кэширование, и при повторном запуске брать нужный автолоад классмап именно в рамках данного роута. Как такое называется?

Дмитрий Щербаков
1. ну напиши свой composer чтобы такой же удобный ...

Я не про композер, а именно про функцию PHP spl_autoload_register. Я не понимаю почему именно её надо использовать? разве нет других путей подключения классов?

Александр
Я не про композер, а именно про функцию PHP spl_au...

если я тебя правильно понял то как раз таки эта функция и позволяет тебе сделать хоть тонну разных авто загрузчиков, тогда как раньше можно было только один __autoload() иметь https://www.php.net/manual/ru/function.spl-autoload-register.php

Дмитрий Щербаков
если я тебя правильно понял то как раз таки эта фу...

Вы правильно поняли. Функция spl_autoload_register() ставит в очередь вашу функцию автозагрузки. Затем, когда PHP встретит неизвестное имя класса, он будет вызывать все функции автозагрузки по очереди, пока одна из них не найдет этот класс.

Альберт Степанцев
Вы правильно поняли. Функция spl_autoload_register...

Есть ли варианты реализации структурной декомпозиции autoload_classmap? Под декомпозицией я имею в виду усеченные файлы того же типа содержимого, в рамках вызова того или иного метода? Пример: Предположим что вызывается метод hello из класса Connect, в use которого есть только GuzzleHttp который используется и выполняет запрос на удаленный сервер возвращая результат и больше ничего. На метод Connect@hello есть соответствующий роут. Возможно ли как то сделать так, чтобы по конкретному роуту не приходилось грузить ~8000 строк кода из autoload_classmap.php, что бы сделать загрузку всего лишь одного класса, путь к которому там прописан? То есть каким то образом реализовать декомпозицию autoload_classmap по роутам.

Александр
Есть ли варианты реализации структурной декомпозиц...

Можно все, вопрос в том, зачем это делать? Похоже на экономию на спичках. Если вас уж так напрягает бутстрап приложения, то завершите его в свуле или что-то подобное. Главное Стейт в сервисах не храните, да ;)

Александр
Есть ли варианты реализации структурной декомпозиц...

Ещё надо помнить, что кроме самого газзла надо загрузить сам класс контроллера, роутера, который отправит запрос в ваш контроллер, классы для реквеста и респонса, валидаторт какойто, сериализатор респонса и ещё половину вашего фреймворка. А сэкономите ли вы что либо на своих махинациях - вопрос спорный

Александр
Посмотрел. Есть несколько вопросов: 1. Зачем испол...

а) он является слишком жирным - так не тяни в проект всякую бяку )) А без композера ты бы все это через include подгружал. И вот тут бы был ад с ручным отслеживанием зависимостей...

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта