За последние 24 часа нас посетили 17810 программистов и 1700 роботов. Сейчас ищут 1676 программистов ...

Правильная последовательность изучения PHP для новичков

Тема в разделе "PHP для новичков", создана пользователем Roman __construct, 5 ноя 2019.

  1. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Она слишком смелая, его логика.
     
    romach нравится это.
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    @romach, джун - уже профи, мы говорим о тех, кто только начал. Вот пример человека, который рано пришёл к Laravel: https://php.ru/forum/threads/kak-nastroit-schetchik-prosmotrov-stranic-v-laravel.81434/
    Вот он там ищет увеличение счётчика, в этих кодах. И даже не понимает, что приведённые фрагменты вообще отношения не имеют ни к какому увеличению никаких счётчиков в базе данных.
     
  3. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Имеют, он указал что понял, и попросил помощи дополнить. Это обычное дело, со временем у него всё получится, если среда не отмудачит (нервы не быстро растут, но коли начали, то и закончат, даже если он оставит дело).
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Каким местом? Где там должен сгенерится запрос update? А генерится он где-то совсем в другом месте.
     
  5. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    В модели Task (она видимо у него пуста). + необходимо метод в роутинг добавить на запрос "tasks".
     
  6. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Так пусть ищет. Опыт нужно нарабатывать, ты легко можешь пересесть на другой язык не только потому, что знаешь алгоритмы и вот это вот всё, но и потому что твой мозг умеет воспринимать всю эту текстовую портянку как код, последовательность, логику. Это отдельное умение и его внезапно тоже нужно заиметь и прокачивать.

    Вопрос не в этом на самом деле, человек умеющий и желающий в обучение рано или поздно доберется до нужного уровня знаний, читая книги, документации или смотря видео @ElisDN. Человек по какой-то причине на это не способный вынесет мозг всем вокруг, вплоть до бана на форуме и в чатике начав с любого конца. Всякое бывает. Вопрос в том, что довольно часто обучение начинается таки с абстракций, ни кто не учит ОТО вперед законов Ньютона, да и до последних ещё надо добраться. Это эффективно, примерно так обучают детей, да и не только. Почему в данном случае должно быть иначе? Только не говори мне, что ты сначала прочитал документацию по docker, затем собрал вручную каждый образ, позапускал всё это руками через docker-run, а лишь затем позволил себе взять и написать docker-compose up -d склонировав awesomeCoolRepoFromGithub? Ну тогда да, тебе способ @Roman __construct не подходит, но так не все ведь роботы, некоторые предпочитают начать с вау-эффекта и углубляться по мере необходимости. Просто потому что так проще и веселее при равнозначном итоге (ну, если конечно не опоздал на выдачу мозгов)

    Короче, философия какая-то )
     
    Белояръ и Roman __construct нравится это.
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    По доккеру - нет, хотя бегло просмотрел, конечно. По Kohana, Yii2 и Laravel - да, от корки до корки, хотя конечно ничего не заучивал (именно в такой последовательности в мою жизнь вошли фреймворки).
     
    Белояръ нравится это.
  8. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Не учит пользоваться типами, структурами, указателями, списками. Не имеет общего стиля, так как процедуры и функции по-разному именуются, по-разному работают с аргументами и по-разному выдают ошибки. Без фреймворка, задающего стиль, работать с этим всем сложно.

    Так что или статический Pascal для изучения алгоритмов и типов, либо динамический Python с унифицированным стилем, либо Lisp для функциональных алгоритмов любого порядка, либо Java для ООП.
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.330
    Адрес:
    Лень
    Легко для PDO, невозможно для Mysqli в двух причинах
    --- Добавлено ---
    Это хардкор называется ???
    Держи
    https://github.com/MouseZver/My-garbage-code/blob/master/php.ru/66243/laravel.php
    --- Добавлено ---
    И срать было как там устанавливать дно фреймворки, на документацию плевать априори всегда. Интересен важный фактор был:

    С чего начинает работу каждый фреймворк, какая последовательность работы, что и с чего начало дает, а что потом, как он загружает сторонние библиотеки и куда, процедура адаптации и взаимодействия сторонней логики с ядром. Интересная структура конфигурации, замыканий и прочее красивых мест. Как красиво - говнокодить.
     
    Белояръ нравится это.
  10. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Так вот, позволю себе ещё одно предположение, смотри. Фреймворки ты воспринимал как способ композиции кода, тебе в первую очередь было интересно как они предлагают это делать и какие преимущества / недостатки ты получаешь в сравнении с традиционных подходом, основа всего этого (PHP) для тебя была уже пройденным и очевидным этапом. Одним словом, ты пошел за своим вау-эффектом, т.е. в документацию рассказывающую что фреймворк тебе предлагает и как он сделают твою жизнь проще и приятнее ) Столкнувшись же с заведомо более сложной для себя технологией, опыт работы с составляющими которой был ограничен, ты начал изучать не снизу, как с фреймворками, а сверху. Просто потому что так проще и веселее. А теперь представь себя на месте человека, для которого PHP темный лес, как бы ты поступил на его месте? )
     
    Белояръ нравится это.
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Ну так я же не родился со знанием PHP? Когда я начинал, я купил достаточно объёмную книгу, и начал разбираться. По доккеру просто на тот момент не было времени, да и сейчас руки не доходят. Но, ты мне напомнил, что стоит и выделить на это время.
     
    Белояръ нравится это.
  12. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Ой, ну вот давай только обойдемся плиз без пигн-понга многозначными терминами :D

    А то будем как девочки в Одноклассниках: "любовь" и "страсть" - это одно и то же, или таки - разное?...

    :D
     
    Белояръ нравится это.
  13. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Мерси за понимание :)

    Я кстати тоже хотел написать о подобном неск часов назад - но не успел - нужно было отлучиться в офф))

    Т.е. по сути-то, никто здесь, как я понимаю, не имеет чего-то против того, что например конфигурируя Apache - он лезет в конфиги в /etc/apache2/ - и при этом, совершенно не знает, на каком именно физическом диске находится эта директория, или это виртуальная машина, или это облако, или вообще какой-нить продвинутый fs-блокчейн)))))))

    Нам вполне достаточно знания о том, что вот по этому пути /etc/apache2/ есть файлы, и мы с ними можем работать с помощью команд оболочки cp mv etc.

    Хотя, мы, конечно, можем написать драйвер для винчестера, и читать данные побайтово прям с определенных секторов диска, ну и т.д.

    Абсолютно то же самое, и с БД. Если мы можем используя ORM писать-читать данные из/в БД - ну и отличненько :) В чем проблема-то?
     
    Белояръ нравится это.
  14. brevis

    brevis Активный пользователь

    С нами с:
    23 июл 2019
    Сообщения:
    69
    Симпатии:
    20
    @Roman __construct, а вообще-то надо бы определиться с терминами.
    Вот "новички" это у тебя кто?
    Ответ на твой незаданный вопрос в первом сообщении этой темы -- it depends :)
    Так как одним новичкам такой подход, возможно, подойдет, а другим, несомненно, окажет медвежью услугу.
     
  15. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    С таким же успехом ты мог бы купить объемную книгу по Laravel и начать разбираться с ним :)

    Речь об этом идет.

    И в случае с Laravel ты намного быстрее пришел бы к способности создавать более-менее функциональные проекты, чем изучая какого-нить Котерова с его велосипедными dd() :D

    Там человек в этом топике прямо сейчас тратит свое время (основной невосполнимый жизненный ресурс) на всю эту котеровскую лажу, а мог бы вместо этого изучать работу с моделями в Laravel, или Blade, или еще что-то реально применимое в реальном проекте.

    Я об этом.
    --- Добавлено ---
    Все кто пишет темы-вопросы в данный раздел форума :)

    //яспать))
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Не зная, как работают классы в PHP - нет уж, спасибо.
    --- Добавлено ---
    У меня и так не много времени ушло, я через пару-тройку недель уже первый заказ сделал. Поскольку был неплохой задел, программировать я умел, хотя и не зарабатывал этим, но это другая история.
     
  17. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Посмотрел топик. Чел не врубается в синтаксис, значит невнимательно читает, а пример, как пример. Естественно, никто свой дампер в реале не пишет. Но как описание работы с типами и строками пример свою задачу выполняет. Только читать внимательно надо.
    --- Добавлено ---
    А проверка, что тебе передали - целое число или массив - вполне себе частый гость в скриптах на php, пока. Мы всё-таки до 7 версии были без typehint, а многие и поведение функции строят на том, что им передали. Понимать это нужно.
     
  18. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Про хардкор я имел в виду такое: работать с исходным кодом фреймворка. Можно ведь выстроить графический конструктор, где все функции будут в виде кнопок, для новичков? Можно и создать конструктор, который будет сопровождать уже создание проекта, но так же, без необходимости лезть в код, где нужно написать алгоритм - программа покажет. :) Но это возможно, только тогда, когда кто то осадит php, и понаделает для каждого уровня правильные среды для последовательного совершенствования. Сейчас фреймворки строились для принципа выживания (и где старшие мудачат младших), где основная среда подстегивает, не прогнёшься: сдохнешь с голоду или кредит не выплатишь (Европейский подход).
    --- Добавлено ---
    Тебя отмудачили, дальше твоя очередь что то мудачить, тут всё правильно.
    --- Добавлено ---
    Да, я тоже был недоволен что меня спеленали в первый же день моей жизни. Жёстко поступили, я предпочитаю пушок.
    --- Добавлено ---
    Я бы начал с головы, сначала бы учился рефлексировать на внешние события. Ставить цели. Потом бы тренировался с обозначением (названиями функций). А дальше уже начал подумывать над алгоритмами, изучив что мне то навсего нужно положить параметры в рот, вот таким способом (тут и массивы изучил бы), а алгоритм выдаст внизу на это результат.
    --- Добавлено ---
    Так как, одно и тоже?
    --- Добавлено ---
    Я против такого. И благодарен xaamp за небольшую контрольную панель. И вообще не доволен что apache и nginx это разное, хотя основа у обоих та же apache и фиг под ниг подстроишься, ища по интернету информацию. Спасибо ISPManager, что серверы оседлал.
    --- Добавлено ---
    Здесь мало мазохизма.
    --- Добавлено ---
    Framework срущий на программиста - вот медвежье недовольство.))))
    --- Добавлено ---
    Ему надо.))))))))))
    --- Добавлено ---
    Я собираю сайт с использованием массива, и уже есть рабочий вариант: https://github.com/it-architector/core.csdr У меня скоро отпадёт необходимость в классах навсегда)))) И переведу свою работу в графический редактор, потому что код стал упорядоченным. :)
    --- Добавлено ---
    у него любовь)))))
     
    #118 Белояръ, 12 ноя 2019
    Последнее редактирование: 12 ноя 2019
    Roman __construct нравится это.
  19. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Laragon попробуй. Я до него тоже ксамп юзал :)

    Я кстати когда это написал на хабре - меня тамошние жлобы тут же минусить стали - типа за то что это не докер. У них дальше докера мозг развиваться перестал видимо))) поэтому все что не докер - это отстой)))
     
    Белояръ нравится это.
  20. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Ну вот)))) Вы меня понимаете!!!!))))) Не лезть каждый раз в hosts для создания нового локального проекта - это круть!)))
    --- Добавлено ---
    Я бы такие трусы выкинул бы, и забыл.
     
    Roman __construct нравится это.
  21. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    )))))

    Страсть и любовь - это термины с практически произвольным наполнением - в этом кстати основная проблема языка на котором пишут программы для нашего мозга - обилие таких вот размытых и скользких терминов. Именно они превращают любое обсуждение в бесполезный хлам)))
     
  22. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Это вообще то эволюция!))) Докер разве не даёт возможность сэмулировать такую же среду, как на сервере? Тут уже речь про конфигурацию... и её можно например сделать такую же, как у Laragon, ведь так?
    --- Добавлено ---
    Это видимо от трусости, мол программистов становиться всё больше, вдруг подвинут. Тут нужен иммунитет: похер на это.

    Любовь же, то нежная среда, а страсть её импульсивное наполнение. Аки сердце вместе.
     
  23. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Ну да))

    Впрочем ларагон тоже достаточно гибкий. Его кстати отличает от того же ксапма -способность автосоздания локальных доменов на основе имени папки. Типа просто создаешь в laragon/www папку mydomen - и он сам делает ее доступной по адресу http://mydomen.test - оч удобно ))
     
  24. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Да, по этому поводу его и качаю.)) До этого вручную в hosts вбивал.)))
     
  25. Белояръ

    Белояръ Новичок

    С нами с:
    10 ноя 2019
    Сообщения:
    71
    Симпатии:
    8
    Кстати да, по ходу общая тенденция такая: прежде чем ездить на машине - ты должен изучить её конструкцию, запомнить о том какие детали ломаются и что с этим делать... и вообще забыть о своих развлечениях, ибо по вечерам у вас будет отныне: перебирать мотор и менять масло. Смекаете кто теперь кого юзает?)))))

    [​IMG]