«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2018/09/28 03:04:33  №1271248 1
>>1266631

> Мне нужно заменить все значения true, на false.
> А что если просто сериализовать массив в строку, и пройтись регулярко, ну и потом обратно собрать?
Это очень костыльно, и ты взяд ли сможешь сделать это корректно. Формат сериализации не документирован и может в любой момент поменяться. Ну например, может там в строке есть слово true, а ты его заменишь.

Лучше может быть просто в цикле пересоздать массив - это делает код безопаснее.

>>1265236

> Почитал урок про MVC, с моделью и вью все понятно, а вот есть подробные инструкции по написанию контроллеров?

Контроллер анализрует запрос пользователя, берет нужные данные из модели и отображает их с помощью view.

Контроллер может быть написан просто как скрипт, как функция, как класс или метод в классе.

Описание паттерна кратко: http://design-pattern.ru/patterns/page-controller.html

В некоторых фреймворках контроллер - это функция, которая принимает на вход объект Request и возвращает объект Response.

Код в контроллере нельзя повторно использовать (вызвать из другого места кода), потому стоит делать его не слишком большим и не помещать в него то, что можно поместить в модель.

Также, есть паттерн Front Controller - когда все запросы идут в главный контроллер, он делает какие-то подготовительные действия и вызывает уже отвечающий за данный запрос контроллер. Описание кратко: http://design-pattern.ru/patterns/front-controller.html

>>1265663

> Задача на автозамену скобочек в тел. номерах
> https://ideone.com/7Dd3h8

Не надо экономить строчки. Фигурные скобки ставятся так:

if (условие) {
действия;
}

Варнинги надо исправить:

> PHP Warning: array_push() expects parameter 1 to be array, string given in /home/A2VmLC/prog.php on line 19

> echo "Only these passed negative tests {$mistakes}\n";
Локальная переменная, созданная в функции, не доступна снаружи.