«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2018/05/29 18:03:43  №1199090 1
Сап. Пытаюсь решить задачу по регуляркам с номером телефона, где регулярка должна помимо чисел воспринимать ещё и пробелы, скобки, тире.
Я сделал такую:
>$regexp = '/^8([()\s-]([0-9]{10}))$/';
И конечно же ничего не работает, не понимаю, как быть.
В примерах всё только с началом кода и концом, а тут надо именно чтоб между числами были эти символы.
Ответы: >>1199113
Аноним 2018/05/29 18:25:03  №1199113 2
>>1199090
^8[(\s-]?[0-9]{3}[) -]?[0-9]{3}[ -]?[0-9]{2}[ -]?[0-9]{2}$
Ответы: >>1199114 >>1199123 >>1199377
Аноним 2018/05/29 18:26:17  №1199114 3
Ответы: >>1199123
Аноним 2018/05/29 18:27:11  №1199115 4
\s в начале замени на один пробел а то оно и табуляцию пропустит
Ответы: >>1199123
Аноним 2018/05/29 18:48:02  №1199123 5
Ответы: >>1199377
Аноним 2018/05/29 20:26:12  №1199160 6
ОП, привет, начал делать задачу SPA и первое с чем столкнулся и уверен многие сталкиваются так это то, что не знаю с какой стороны начать.

Вообще есть ли есть какая либо задача есть ли какой-то определенный алгортим как делать какой-то большой проект?

Этот вопрос меня волнует, потому что я почти всегда начинаю делать заранее не планируя, вот просто начинаю с чего угодно и по мере потребностей дописываю все что нужно, но сталкиваюсь с такой проблемой, что не видя целой картины и хорошо все не запланировав я сталкиваюсь с множеством подводных камней, но и "увидеть все сразу" у меня тоже не получается, мне кажется, что это приходит с опытом.

Как вообще правильно планировать разработку и может какую-то хорошую литературу подскажете?
Ответы: >>1199210 >>1199257 >>1199374
Аноним 2018/05/29 20:59:33  №1199174 7
Ответы: >>1199377
Аноним 2018/05/29 22:31:39  №1199210 8
Начал делать er диаграмму (задача SPA) и не совсем понимаю некоторые вещи, при создании занятия для указывания предмета используется текстовое поле, получается таблица с предметами мне не нужна или все-таки нужна?

%%походу все-таки нужна%

анон - >>1199160
Аноним 2018/05/29 22:35:34  №1199212 9
>>1199210
хотя нет, по интерфейсу видно, что учитель может редактировать отметки с разных предметов, получается у каждой группы свой учитель, но это уже не для вуза, а для начальной школы получается приложение
Ответы: >>1199307 >>1199378
Аноним 2018/05/29 22:53:38  №1199216 10
image.png (30, 714x448)
448x714
>>1199210
добавлю еще диаграмму ERD
Ответы: >>1199377
Аноним 2018/05/30 05:54:32  №1199257 11
>>1199160
Сначала нужно определить с какими данными оперирует пользователь.

Данные могут быть входящими и производными.

Затем делишь данные на группы (данные студента, данные предмета и т.д.)

Каждая группа данных это своя таблица, свой класс. А дальше определяешь в каком классе какие будут методы просто по смыслу.
Ответы: >>1199307
Аноним 2018/05/30 08:26:36  №1199307 12
>>1199257
а дальше? Начать с апи, фронта или может быть с админки?

И что по этому >>1199210 >>1199212 поводу?
Ответы: >>1199332 >>1199377
Аноним 2018/05/30 10:53:34  №1199374 13
>>1199210

Типичная ошибка многих программистов - делать интерфейс прямым отображением базы данных. Это отдельные вещи, интерфейс делается так, как удобнее пользователю, БД - как удобнее разработчику.

Для ввода названия предмета мы используем поле ввода, так как набрать несколько букв быстрее, чем искать пункт в выпадающем списке. При этом, можно реализовать автодополнение для этого поля, а можно объединить выпадающий список с ручным вводом. А на стороне сервера мы конечно храним предметы в нормализованной БД.

>>1199160

Есть разные версии, с чего начинать. Я предпочитаю начинать с модели данных, какие у нас есть данные, как они связаны.

Тут по сути надо сделать 2 приложения:

- серверное, управляющее данными и предоставляющее API для этого (по сути это будет MVC почти без V).
- клиентское, обеспечивающее отображение данных и их изменение пользователем (а тут уже MVC)

Самый сложный момент тут синхронизация данных. На сервере есть БД, на клиенте есть копия части БД, и данные в них могут независимо изменяться. Как обеспечить их согласованность?

Для начала можно попробовать обойтись без этого и просто на каждый чих делать запросы на сервер.

> Вообще есть ли есть какая либо задача есть ли какой-то определенный алгортим как делать какой-то большой проект?

Изучать, как делают другие. В вебе ничего уникального нет и все давно придумано.
Ответы: >>1199420
Аноним 2018/05/30 10:54:43  №1199377 14
>>1199307

Тут админка не особо нужна.

>>1199113
>>1199123

Не, это плохое решение. ЛУчше сделать так:

- пишем выражение вида "ровно одна цифра, за ней любое число минусов, скобок, пробелов"
- обрачиваем это выражение в (...){10}

>>1199174

> $fixText
> $fixPunctuation
> $addDot =
тут лучше использовать одну и ту же переменную ($sentence), а не заводить новую на каждом шаге

> $wordsSeparation
лучше просто words

> $createNewSentence
newSentence

А так, верно.

> \\s{2,99}
Лучше \\s{2,} - так нельзя?

> $reg
Непонятное название.

А так, решено верно.

>>1199216

lesson - это занятие в конкретный день или в общем название предмета? Наверно еще стоит сделать таблицу предметов.

Выглядит верно.
Ответы: >>1199424 >>1199420
Аноним 2018/05/30 12:05:25  №1199420 15
image.png (33, 721x431)
431x721
>>1199374
>Для ввода названия предмета мы используем поле ввода, так как набрать несколько букв быстрее
понимаю, просто сам факт того, что там только поле ввода как бы говорит, что учитель может туда ввести, что угодно. Лучше всего будет сделать выпадающи список с поиском.

>Самый сложный момент тут синхронизация данных
собственно решение этой проблемы я отложил на потом, хочу сначала сделать самое очевидное, а потом уже заниматься такими проблемами, потому что пока не написал еще ничего сложно рассуждать от таких проблемах и искать пути решения.

>>1199377
>Тут админка не особо нужна.
>Доступ к приложению возможен только после регистрации и одобрения администратором.
а где администратор должен давать это одобрение?

>lesson - это занятие в конкретный день или в общем название предмета?
это занятие которое может повторяться
Ответы: >>1199893 >>1208760
Аноним 2018/05/31 08:27:43  №1199893 16
ОП, еще такой вопрос. Кажись все-таки хуево спроектирова БД. Не могу понять, когда учитель логинится, то видит список групп, выбирая группу видит список студентов которые состоят в группе и свои замечания к ним. Также группе можно добавить занятие какое-то, но проблема в том, что занятие приписанно к группе ведь, получается это занятие будет видно и другим учителям и теоритически учителя смогут видеть оценки выставленные другими учителями,а также редактировать их. Это нормально? Или учителя должны видеть только свои оценки и мочь редактировать только свои?

анон - >>1199420
Ответы: >>1199895 >>1199901 >>1208760
Аноним 2018/05/31 08:32:12  №1199895 17
>>1199893
хотя можно бы было приписывать занятие к учителю и чтобы только он мог выставлять оценку с этого занятия.