сайт давний, пока держится... спасибо за совет, буду пробовать. хочу изменить дизайн и все доработать, но нет идей(( сейчас смотрю сайты стали более модными и красочными, но делать их самостоятельно без различных плагинов (как я понял например bootstrap 3) не получается, даже цвета у них какие то необычные как будто не из css (или это на фотошопах или что не пойму), а что изучать чтобы было все красиво и правильно хотел узнать у Мастера Шифу и Ко, чтобы можно было найти фриланс и работу в дальнейшем. спс
А что заценивать-то? Внешний вид? Если так, то с дизайном беда беда. Надо переделывать. В остальном сказать ничего не могу. Разве что, надеюсь, что внешний вид не является отражением внутреннего. Хочешь получить оценку задачки, вокруг которой крутится тред - сделай ее и выложи на гитхаб.
как бывший верстальщик газеты скажу что надо шрифт везде один использовать.. или рубленный или с засечками.. а то засилье шрифтов на одной странице не гуд..
так, верстальщик а ща во фронтенд ты как? как тебе такое https://vuetifyjs.com/components/chips покликай там по разным из списка слева
я чуть чуть не тот верстальщик)) я верстал по ночам газету в QuarkXPress) когда еще в техникуме учился))
))) внешний вид является отражением стадии развитии в области создания сайтов(junior), переделать бы и сам рад, но нет концепции, как и куда... пойду изучать что такое гитхаб и как это работает... спс всем за ответы!
@mkramer доброго..., раньше как то не придавал значения, и все проверки делал if ( $var ), честно сказать ленился и не видел смысла писать isset. Профессионально программированием я не занимался, а изучал его так, тренировал мозг, у меня установлено было РНР 5,3. Сейчас поставил РНР 5.6 и посыпались "нотисы", причем везде где я вместо if ( isset ($var) ) использовал if ( $var ). Но на тестовом хосте стоит РНР 7.0 и этих "нотисов" нету. И на удаленном сервере проверка if ( $var ) проходит очень хорошо. Это -возникновение нотиса- как то связанно с версией РНР или просто отключен был показ нотисов в php.ini, а он всегда был просто не показывался на экране? На всякий случай все переписал, во всех скриптах, благодарю за совет, раньше не сталкивался, поэтому и значения не придавал этому!
@Aleksanbr_77, Будут нотисы или нет зависит от настройки php. Надо делать isset, тогда нотисов никогда не будет. И я уверен, что на хостинге куча нотисов в логах (если там правильно настроено)
@mkramer спасибо, теперь понял, буду знать и учитывать это! -"учусь" прям как в каком то фильме, но там речь шла о сусликах, а не о нотисах: - видишь нотиса? - нет - а он есть!
Автор, привет! Зацени пож-ста работу, начинаю учить программирование, поэтому буду очень признателен за конструктивную критику. http://sale.vitalibs.beget.tech/ https://github.com/VitoMonte/vitoMonte_test.git
Автор темы почил давно как пользователь форума, ниасилив тестовое задание Если же ты меня имел ввиду, то часа через 3 постараюсь глянуть, но не гарантирую.
Спасибо, но хочется замечаний, ибо человек самообразованием занимается, и что такое звездочка на гитхабе еще не знает - пошел гуглить)
@Vitomonte а не всё работает, это я немного ступил --- Добавлено --- @Vitomonte а не всё работает, это я немного ступил
Ну поехалей: По пунктам ТЗ: 1) Запили страничку, посередине которой форма входа с полями под логин и пароль. 2) Под ней кнопки "зарегаться" и "войти". 3) Для регистрации пользователь должен указать ник, парольку, дату рождения, это уже другая форма, как можно догадаться. 4) Если возраст пользователя окажется меньше, ну пусть, 5 лет, при попытке реги пользователю надо вывести сообщение "Too young!", над формой входа. Если окажется больше 150, то "Too old!" там же. Регистрация при этом произойти не должна. 5) Если все ок, то, форма меняется на огромное число "0", а кнопки меняются на "+1" и "Выход". 6) По клику на кнопке "+1" огромное число "0" должно увеличиться на единичку. Имеется ввиду его значение, а не размер шрифта. 7) По клику на "Выход" пользователя должно разлогинить. 8) После разлогинивания пользователь может войти на страничку со счетчиком, введя свои учетные данные. 9) Счетчик при этом должен быть равен последнему значению, которое тот накликал. У каждого пользователя свой персональный счетчик. 10) Запрещено использовать JS, все должно обрабатываться только через сервер. 11) Хранить данные в БД или на файлах - твое дело. Но, рекомендуется, в БД. 12) Требований по стилям нет - главное, чтобы работало как описано ну и чтобы все, что помечено "посередине страницы" таки висело посередине страницы. Итого: 1) Форма не посередине, а должна быть посередине 2) Молодец, что юзаешь flexbox. 3) Пункт 11 не оценен, так как любое решение, согласно ТЗ - верное. ПО технической части, что бросилось в глаза: 0) Папку .idea лучше не включать в репозиторий .gitignore туда же. И файлик test тоже не выглядит как полезная нагрузка. 1) Код PHP: // Установка переменных для шаблона. foreach ($vars as $k => $v) { $$k = $v; } Так делать нежелательно. Таким подходом можно выстрелить себе в ногу. Почему бы просто не использовать массив дальше? Есть большая разница между $array['val'] и $val? С точки зрения безопасности выполнения вот есть. Но, если прям хочется массив превратить в переменные, лучше юзать вот такую функцию. 2) Код подключения шаблона PHP: include $fileName; Может стать причиной ошибки, если тебе нужно дважды или трижды использовать один и тот же шаблон. Например, вывести пару компонентов одного типа. Лучше пользоваться include_once в такой ситуации. И почитай про requre и requre_once дополнительно. 3) В index.php объявлена константа DIR со значением __DIR__. И больше нигде так и не использована. Поправь, если я ошибаюсь. 4) Запросы к БД сделаны грамотно. Редко попадаются новички, правильно пользующиеся PDO. 5) Молодец, что юзаешь password_hash. 6) PHP: return htmlspecialchars($str); Так, сдается мне, что ты не новичок Итого, все сделано довольно качественно. Код весьма читабелен, логика прямая как лом. Перечисленные "проблемы" на деле мелочь неинтересная. Ты юзаешь ООП по-взрослому, с абстрактными классами, наследованиями, пробросами в родителя, заботишься о модификаторах доступа. Ты умеешь правильно работать с БД, не страдаешь новичковым trim(strip_tags(add_slashestrim(strip_tags(add_slashestrim(strip_tags(add_slashes())))); Правильно выводишь контент. Ты даже подготовил портабельность своего решения, автоматизировав создание файлов БД. Ты понимаешь, в чем соль SQlite. Сам выбор SQLite тоже "палево". И ты можешь в автолоад.. Но при этом ты: 1) Юзаешь только include. 2) Обязательно объявляешь в классе конструктор и деструктор. Из чего я делаю вывод, что если ты и новичок, то только в PHP, но не в программировании как таковом. Ты явно знал, что делал и понимал проблемы, которые надо решать. И, ввиду вышеприведенных пунктов, скорее всего, ты Сишник или Плюсовик, решивший попробовать веб В любом случае, добро пожаловать, ты - молоток.
Я html год назад начал изучать, не говоря про ЯП (гуманитарий с 12-летним стажем работы в продажах) За оценку - спасибо, есть понимание, что в правильном направлении двигаюсь. Не совсем понял про "Так делать нежелательно. Таким подходом можно выстрелить себе в ногу. Почему бы просто не использовать массив дальше? Есть большая разница между $array['val'] и $val? С точки зрения безопасности выполнения вот есть.", а в остальном - учту на будущее)
Полезным будет придерживаться PSR 0 - 7. От них отступают в некоторых командах в той или иной мере, но в учебных целях, можно взять на вооружение [OFFTOP] Ну кроме пробелов для отступов [/OFFTOP]
Ну тогда ты молодец. Это круто. Когда ты делаешь экспорт переменных такой, ты их неявно создаешь. При этом тот факт, что они "живы" вне foreach - багофича PHP. Неявно созданные переменные опасны. Они могут, например, перезаписать какую-то существующую переменную запросто. Чуть не углядел и замучаешься концы искать. Практической пользы таких переменных перед массивом как таковым нет. Массив при этом гарантирует изоляцию от внешней области видимости.
@Vitomonte как уже сказали выше, ознакомься со всем набором PSR, отдельно обрати внимание на PSR-4 и сразу после на менеджер зависимостей composer. Так же можешь посмотреть на пакеты собранные здесь, как пример хорошего кода, ну и просто полезных в работе инструментов. p.s. могу ошибаться, но по моему ты первый, кто сходу прошел тест Суриката ))
Теперь понял, спасибо! Попался бы такой баг на реальном проекте в будущем - мозг бы сломал себе, правда) --- Добавлено --- PSR-4, пространства имен, composer - планы на ближайший месяц. Пакеты в закладки добавил(для домашнего чтения) про Суриката - посмотрел в гугле, ничего не понял, решил, что еще не дорос, отложил на потом))) --- Добавлено --- PSR-4, пространства имен, composer - планы на ближайший месяц. Пакеты в закладки добавил(для домашнего чтения) про Суриката - посмотрел в гугле, ничего не понял, решил, что еще не дорос, отложил потом))) @Fell-x27 По твоему опыту, при собеседовании на джуна сколько времени выделяется на подобное тестовое задание?