heartdevil: Загрузка файлов на сервер - причина по которой я должен буду увеличить максимально допустимое значение для директивы post_max_size(точно не помню) в php.ini. То есть, если бы не это обстоятельство, то там стояли бы родные 2 мб и проблемы бы не было. Раз мы увеличиваем размер передаваемых данных, то в любом поле(не обязательно для файлов) особо вредные люди могли бы передавать различный мусор, захламляя дисковое пространство. Пускай и временно, но всё же. А в чем, собственно, заключается опасность отправки запроса посредством ajax? По-сути то же самое, только без перезагрузки страницы, с сохранением состояния всех заполненых полей.
Алексей Уколов: Да, вопрос был в том, для чего откатывать, если можно не подтверждать. Если mysql не смог распарсить запрос - кидается PDOException, если ошибка в логике приложения - то return false в методе модели. В любом из случаев commit не срабатывает и изменения не вступают в силу.
Ну, я пока не проводил модульного тестирования. Приложение небольшое, да и узнал я про это недавно. А раз пободного не делал, пришлось принять слова за истину, источник то уважаемый.
В принципе, я тоже за первый вариант, но с переходом на mvc и разбиение приложения по разным ns, стал недолюбливать обратные слэши)
Александр Зачиналов: Про это в курсе, но как работает загрузчик? Он ведь делает отдельный запрос на каждый файл? Всмысле, require.js при помощи ajax подкачивает нужные файлы? Проект у меня не большой и это не критично, но я правильно понимаю?
Алексей Уколов да, в курсе. Просто я не использую laravel, в тегах он лишь потому, что я приводил его в качестве примера. Меня интересовал способ передачи общих параметров для View. Статика, как вариант, но хочется работать с обьектами.
Алексей Уколов Нужно применить DI. Представим, что мне нужно задать кусок вьюхи, который подключается во все шаблоны. Я могу создать обьект класса View, задать нужные переменные, а позже зарегестрировать его в каком-нибудь контейнере сервисов.
Сергей Протько Я не разбирался еще в популярных фреймворках, не могли бы вы подсказать один момент. Я не использую классы т.к. не люблю придумывать имена функциям. Наверное глупо, но так уж есть. К примеру, я могу написать GET /feedback и POST /feedback. Вроде всё просто, одно имя, но разные функции(из - за типа запроса). Как подобные 2 контроллера реализовать, используя классы? Выйдет что-то вроде Feedback::feedback() и Feedback::feedbackSend()?
Сергей Протько Фреймворками пока не пользуюсь. Контроллеры вида $router->add('route', callback). То есть, без класса в качестве wrapper'a. Надо глянуть как в Symfony, спасибо
Из той же статьи
*используя register_shutdown_function(), можно зарегистрировать свою функцию, выполняемую по завершении работы скрипта, и в ней, используя знания из первого пункта, если фатальная ошибка имела место быть, предпринять необходимые действия;
*сообщение о фатальной ошибке в любом случае попадет в буфер вывода;
*воспользовавшись функциями контроля вывода можно предотвратить отображение нежелательной информации;