• Книги по ООП в PHP

    MpaK999
    @MpaK999
    Буду!
    Для понятия ооп в php книг не надо, просто выдерните того кто знает и умеет объяснять в баре, напоите пивом, обсудите, а потом начните делать 2-3 проекта, уже в первом поймете где повторяетесь, к третьему уже поймете что надо менять
    Ответ написан
    Комментировать
  • Нужен движок для создания закрытой таблицы?

    Sanes
    @Sanes
    Программист вам нужен, а не движок. Из такой, казалось бы примитивной задачи можно раздуть слона.
    Ответ написан
    Комментировать
  • Правильно ли делать такую структуру проекта?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Для начала делайте как делается, а не как правильно. Всякие RightWay потом учить будете. Пока вам нужно получить общие представления как всё работает, набить СВОИХ шишек и уже с пониманием всего переходить к "тяжёлой артиллерии".
    Ответ написан
    4 комментария
  • Набросал структуру классов учебного сайта доски объявлений, как еще лучше распределить функционал?

    php666
    @php666
    PHP-макака
    Я проектировал доску с нуля на ООП.
    Я бы написал расширенный ответ, но лень.
    Надо просто читать Фаулера, я говорил тебе 100 раз. Ты этого не делаешь, поэтому ты пишешь какую-то вроде отчасти и правильную вещь, но если разложить по полочкам - сам не понимаешь. что хочешь добиться в архитектуре. В итоге сам не понимаешь, куда движешься. У тебя НЕТ архитектуры и понимания, как сделать правильно, поэтому мечешься. А архитектура - это когда шаг влево, шаг вправо - расстрел. Это когда ты делаешь всё по оговоренным правилам и не задаешься вопросами, а как правильно.

    class Advert {
      // Объявление детально
      public function displayAdvert(){
        // Показать объявление детально
      }
    }


    какая-то дичь. Ты должен оперировать в первую очередь контроллером, моделью, представлением. Модель - это классы сущностей и сервисы. Во многих популярных фреймворках модель - это сущность+ActiveRecord. Можно использовать паттерн модель + DataMapper. Не суть.

    Вот что такое Advert? Это объявление. Это модель. У нее нет никакого метода displayAdvert. Этот метод может быть у контроллера объявлений, который выводит ОДНО объявление на странице.
    Что, по твоей логике, должен делать этот метод? Чем он отличается от метода ХРАНИЛИЩЕ::findById()?

    public function displayMyAdverts(){
    Это должно быть в AdvertCollection::findByUser()
    Ответ написан
    Комментировать
  • Что если в ручную поменять формат изображения, без конвертирования (из jpg в png)?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    Будут, потому что они смотрят на заголовки внутри, а не на название файла.

    Только формат файла от этого и не поменяется, это будет jpg который обозван как png.
    Ответ написан
    2 комментария
  • Как реализовать месячную подписку?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Оплатил: к текущей дате прибавили 29 (28+сегодня, т.е. полных - всегда 28 даём) и установили timestamp.
    При действиях пользователя - проверяем: текущая дата меньше или равна timestamp, если "ДА" - то привилегия работает, "НЕТ" - период привилегии закончился и ставим флаг "EXPIRED" в БД.
    PS: А почему месячная подписка - это 28 дней, а не больше?
    Ответ написан
    5 комментариев
  • Имеет ли смысл начать изучение Symfony если более-менее знаком с Laravel?

    @Flying
    Вам стоит начать воспринимать ваше отношение к документации Laravel и Symfony как индикатор того что вам есть ещё что изучать и в чём разбираться. Это нормальное развитие разработчика.

    Честно говоря пока что ваши реплики не очень хорошо связуются между собой. "В общих чертах знаком", "не понимаю всего этого ООП", но при этом "могу написать на Laravel магазин какой" - это для меня звучит очень странно. Я работаю с Symfony уже порядка 5 лет, но никак не могу сказать что влёгкую напишу на ней магазин. Вот здесь команда Sylius магазин на Symfony пишет аж с 2012-го года, до релиза 1.0 добрались через 5 лет, для меня это хороший показатель. Вы точно уверены в отсутствии у вас эффекта Даннинга-Крюгера?

    Уверен, что познакомившись с ООП не только с практической, но и с теоретической стороны (возьмите хоть ту же Википедию для начала и далее по ссылкам, заодно и про другие парадигмы узнаете) вы начнёте лучше понимать и зачем оно нужно, какие проблемы и как призвано решить и т.д.

    Вполне вероятно что вы просто пытаетесь следовать довольно популярному сейчас подходу взятия новых подходов в программировании штурмом (т.к. судя по ответом на том же тостере - в целом вы занимаетесь программированием довольно давно). Это работает до определённого предела, но важно понимать что на любом пути существуют разные этапы и переход между этапами пути - отдельная большая работа. Понимание различных подходов к решению задач (и ООП подход как один из них) на уровне самих механизмов, стоящих за ними идей, а не на уровне синтаксиса - важный этап, но зачастую непростой т.к. требует внесения существенных изменений в модель вашего восприятия. Тем не менее, пройдя его, вы будете ясно видеть и "зачем гейты и политики" и т.п.

    Ответ получился чуть в сторону, так что back to topic: знакомиться с Symfony однозначно стоит, но не в качестве спасения от непонятной документации Laravel (там, как правильно написал DevMan её ещё меньше и она ещё сложнее), а для изучения того как на PHP можно писать действительно качественный, стабильный и поддерживаемый код. Фактически знакомиться с Symfony лучше даже не столько через чтение документации, а через изучение её исходников с отладчиком. Несколько недель подобных путешествий (с параллельным поиском ответов на вопросы "что тут вообще происходит?!") дадут вам очень много в плане развития, рекомендую :)
    Ответ написан
  • Имеет ли смысл начать изучение Symfony если более-менее знаком с Laravel?

    DevMan
    @DevMan
    по симфони док на порядок меньше чем по ларавелу.
    ну и весьма странно соваться в ооп-фреймворки без понимания этого самого ооп.
    Ответ написан
  • Почему PHP теряет популярность?

    Объясняю:

    1) Небольшая фирма, небольшой проект, никогда не сможет конкурировать за "рабочие руки" с такими гигантами, как mail.ru/yandex/сбертех/альфа-лаборатория и прочие. А значит разрабатывать проект на Java, который еще не приносит деньги - глупейшая ошибка менеджмента. Ибо вы просто не найдете руки, либо они будут стоить очень много. По этой же причине не стоит выбирать для проектов .net (хотя там в общем ситуация в плане рук получше).

    2) Выбирать для проекта, который еще не приносит денег, что-то типа python/ruby - глупо. Ибо найти хороших программистов на этот язык сложно (и они будут стоять больших денег).

    Ну тут стоит понимать, что это реалии рынки СНГ и Европы. Исторически сложилось, что язык для новичков в СНГ и Европе был PHP (поэтому так много проектов на php), в США - это Ruby(Python), а, например, в Австралии - это Python.

    В итоге: небольшие капиталисты в СНГ(Европе) - выбирают php, это дает много работы на PHP, предложение толкает людей учить PHP, что уже в свою очередь толкает создателей PHP его улучшать.

    __

    Нужно понимать, что PHP де-факто дешевый язык для старта бизнеса (конечно, есть условный symfony, где программисты получают на уровне Java-разработчиков, но это уже нюансы). А бизнес всегда стартаует, и всегда на это идет большой спрос.

    Язык будет жить, пока не придумают что-то более подходящее, что будет прямо в разы увеличивать эффективность работы. Но пока этого нет, и даже сложно сказать, что это может быть.

    __

    Количество вакансий уменьшается по простой причине. Готовые облачные решения типа (shopify/wix) + возможность заменить на старте сайт на социальную сеть, дают снижение спроса.
    Ответ написан
    1 комментарий
  • Почему PHP теряет популярность?

    @ArgosX
    php никогда не умрет. а тенденция такая говорит о том что как раз таки php разработчиков очень много и они позанимали рынок поэтому и вакансий меньше
    Ответ написан
    Комментировать
  • Почему PHP теряет популярность?

    @Kirill-Gorelov
    С ума с IT
    Я был в обсуждениях с некоторыми парнями на счет скорости и удобства и бла бла бла работы на php.

    Мне один парень сказал, что php скоро сдохнет. Но ему ответил второй программист:
    Он уже дохнет столько лет, что уже выпустили "предсмертную"(сарказм) 7 версию(на момент обсуждения). А сейчас уже готовят 8 версию, которая будет еще быстрее.

    И мое мнение.
    Php не умрет никогда. Потому что всегда будут две стороны халявщиков.
    1. Которая хочет быстро что-то выучить и на этом заработать.
    2. Те кто хочет быстро и дешево заказать сайт.
    И вот эти две стороны будут генерировать, назовем это, спросом на этот язык.
    Конкретно сейчас я не беру в обсуждения профессиональные сайты, которые действительно крутые и действительно достойные внимания и людей которые посвятили этому языку львиную долю своего времени.
    Ответ написан
    8 комментариев
  • Почему PHP теряет популярность?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    PHP не мода, php - классика, а классика никогда не умирает. Если умрет php, то умрут все остальные языки backend разработки потому что появится что-то такое, что сможет в разы превзойти пхп в простоте, скорости и удобстве, на данный момент что джава, что питон, что руби +- одинаковые, каждый подходит для своих целей. Тот же питон выбирают из-за простоты интеграции нейронных сетей, но если говорить не о узких, а о главных параметрах (функционал, скорость и тд) все популярные бэк языки более или менее одинаковые смотрите те же сухие графики.
    А о уменьшении вакансий - глупость несусветная. трын тут приведена статистика за 2018 год и обоих графиках по вакансиям лидирует в сравнении с java/python PHP, при том на первых двух пишут как бэкэнд, так и миллион других штук. А на втором графике и вовсе пхп опережает js (единственный язык в самой популярной сфере разработки).

    А вот если речь идет о реально крупных компаниях (amazon, google...) там как раз предпочитают python из-за выше упомянутой простоты интеграции нейросетей, а java из-за стабильной поддержки сверх высоких нагрузок.

    Меньше слушайте диванных экспертов, пхп предрекают смерть с 00-х годов, что то он слишком долго дергается для мертвеца.
    Ответ написан
    1 комментарий
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    @McBernar
    Да, я тоже часто пишу велосипеды. Правда, сейчас уровень абстракции великов стал выше, но все равно.

    Это хорошая практика, с опытом коммерческой разработки вы рано или поздно уйдете от этого, потому что важнее будет результат здесь и сейчас, но на первом этапе это отлично бустит понимание программирования в целом. Как минимум у вас не будет глупых вопросов на Тостере - "как добавить метод к классу в Ларавеле" или что-то в этом духе.
    Ответ написан
    Комментировать
  • Функция mail php. Почему не приходят письма или письма попадают в спам?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Причина попадания в спам связана с хостингом и почтовым сервером. Используйте PHPMailer, чтобы избегать этих проблем сейчас и в будущем
    Ответ написан
    Комментировать
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    Moskus
    @Moskus
    Когда советуют, убедитесь, что у вас и у аудитории этого совета одна цель. Потому что "как можно скорее начать пользоваться фреймворками" - это если задача - как можно скорее начать шлёпать продукт и деньги получать. А если задача - научиться программировать, фреймворки тут не при чем.
    Ответ написан
    14 комментариев
  • Как правильно сделать цикл PHP?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Здесь нет цикла
    Ответ написан
  • Как сохраняются данные при нажатии на картинку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1 комментарий
  • Как спрятать надпись?

    xEpozZ
    @xEpozZ
    Веб-разработчик
    Уберите этот код
    Ответ написан
    1 комментарий
  • Как вы учились или как вы считаете чему нужно учить Web-разработчика в ВУЗе?

    php666
    @php666
    PHP-макака
    Современное программирование (особенно веб) вообще никак не связано ни с математикой, ни с алгеброй, ни с геометрией или физкультурой. В большинстве случаев работа программиста - это оперирование абстракциями. Для покрытия 99% бизнеса хватит 5 класса математики.

    Грубо говоря, если ты формошлепом себя видишь, не оканчивал школу с золотой медалью и ты понимаешь трезво, что тебя не ждут в Яндексе или Гугле на разработку движка поисковой системы, то не надо никакого ВО.

    и совсем нет желания его получать. Вообще и совсем.
    И не надо. Не надо жить так, как велит тебе общество. Даже не общество, а стереотипное мышление.

    Я в 2001 году, сразу после колледжа, проработал несколько месяцев инженером в IT на ныне покойном ЗИЛе. Потом пошел вышку получать. Как сейчас помню - абсолютное, тотальное нежелание заниматься херотой, которую нам преподавали, особенно когда ты уже работал и трезво понимаешь, что нужно в жизни, а что - нет. Плюнул и ушел дальше работать.
    Ответ написан
    1 комментарий
  • Что такое модель в ООП в веб?

    @Vitsliputsli
    Контроллер, представление, модель - это элементы MVC, к ООП отношения не имеют.
    Контроллер получает от пользователя запрос в определенном виде (запрос браузера, обращение к API, команда, все это разные группы контроллеров). Распарсив запрос передает его в модель для обработки.
    Модель содержит бизнес-логику, т.е. по-сути то, что должно делать ваше приложение, без привязки к способам обращения пользователей и способам вывода. Возможно будут вызываться модели работающие с БД, а может и не будут, это неважно, не превозносите БД как сверхсущность, это обычный инструмент, один из множества.
    Далее модель передает подготовленные для вывода данные в контроллер (в классической MVC сразу в представление), и контроллер передает их в нужное представление.
    Вот и все, простая схема, которая позволит отделить мух от котлет, создавать API, видоизменять вывод, не трогая основную логику. А работа с БД, совсем другой вопрос.
    Ответ написан
    Комментировать