aopil, тут надо смотреть подробно - что за страница, где затык. Большие кучи бывают разные, важно найти информацию)
По теме - simple_dom_html старая библиотека, попробуйте лучше свежую от Symfony - DomCrawler, там можно получить атрибут элемента https://symfony.com/doc/current/components/dom_cra...
ivan_it, нет "курла в фоне", есть php обработчик, на который вы отправите данные формы, внутри которого выполните свой код и отправите данные дальше по курлу. Возможно вы курл с кроном перепутали
khodos_dmitry, беглый гуглинг говорит, что дамп mysql не полностью совместим с mariadb, и эти ошибки видны, если импортить через оболочку, а не интерфейс phpmyadmin. (пример статьи).
Как костыль можно попробовать экспортнуть отдельно схему таблицы и отдельно данные (например в csv) и пробовать локализовать проблему импорта так.
Нужно подключаться к mariadb через оболочку и смотреть содержимое базы так, phpmyadmin как доп.слой взаимодействия может давать свои сбои. Неплохо бы видеть дамп таблицы (без секретных данных)
kaxa3201, т.к. ваш новый вопрос закрыли - вы парсите csv построчно, из-за этого не получаете свою многострочную ячейку за один раз. Посмотрите здесь решения, как нормально парсить https://stackoverflow.com/questions/3278375/how-ca... потом уже гоняйте регулярку по этим данным
Эдуард Баженов, "изолированная логика" - имеется в виду, чтобы метод и названием, и содержанием отвечал за один процесс) Здесь в методе update видно три явных шага - сначала обновляете length у $part, потом создаете и сохраняете $roll_plus, потом создаете и сохраняете $action. Если можете обычными словами объяснить, почему делаете это в такой последовательности, то можете придумать, как эти шаги выделить в методы с осмысленными названиями и перенести код в них)
Если нет четкого понимания, зачем нужен DI Container и сервис провайдеры - не используйте их, пока не разберетесь.
Здесь стоит доработать читаемость кода (создать осмысленные константы для status_id = 1, type_id = 2 и т.д.), завернуть вычисляемые свойства в осмысленные методы ($roll_plus->width = $part->width - $request->width;), и только потом решать, нужны ли отдельные классы для хранения этой логики. Эти методы больше тянут на изолированную логику для методов create для моделей RollPartsStorage, RollActionsStorage.
Убунту не видит php "в терминале", потому что не видит php cli (которую и просит установить).
Простите, но ставить xampp на ubuntu это кощунство)) постарайтесь разобраться, как ставить php, mysql и apache/nginx, с нормальной убунту большинство проблем решаемы (помню раньше у вас стоял странный дистрибутив solus, там действительно было больше проблем, чем решений, но убунту проще в этом плане)
Обновите вопрос (НЕ кидайте в комменты)
1. Структуру таблицы, из которой надо брать id
2. Ваш код взятия и внесения id в сессию (в контексте какого файла это происходит)
3. Где именно вы выводите ссылку <?php 'office.php?id='. $_SESSION['id'] ?> (в контексте какого файла это происходит)
Где же не говнокод? Как писать правильно? Писать правильно без модных фреймворков вообще возможно?
Все можно, все возможно, идеального кода не существует)
Фреймворки не "модные", они жизнеспособные за счет удобного применения и нормальной документации.
Я пользовался Laravel, пользовался Yii, даже просматривал какую-то часть их исходного кода.
Тут загвоздка, из-за которой начинают придираться умники - программист должен наработать базу знаний по ООП, шаблонам проектирования и стандартным подходам к решению задач, и это решается книгами, своими поделками и вдумчивым просмотром исходного кода фреймворков, на которых работаете. Стандартное PHP приложение не завязано на MVC, оно может брать идеи оттуда, но реально используется куча подходов помимо этого. TL;DR - пока не вникаете глубоко в архитектуру приложений - не стоит париться над красотой роутера
pro-dev, не работала с переводом в симфе, про перевод дат пишут тут, чтобы поменять даты везде и сразу - я не уверена, что это возможно, спросите у сообщества Symfony в slack и telegram, предварительно предоставив свои попытки решения
По теме - simple_dom_html старая библиотека, попробуйте лучше свежую от Symfony - DomCrawler, там можно получить атрибут элемента
https://symfony.com/doc/current/components/dom_cra...