За последние 24 часа нас посетили 58107 программистов и 1848 роботов. Сейчас ищет 971 программист ...

Способ изучения языка

Тема в разделе "PHP для новичков", создана пользователем Igorbay, 29 окт 2017.

  1. Igorbay

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

    С нами с:
    9 апр 2015
    Сообщения:
    48
    Симпатии:
    0
    Скажите свое мнение по поводу следующего способа изучения php.

    Способ заключается в смелом и резком погружении в код и дальнейшем его разборе. То есть берем любую популярную CMS (например Joomla) или фреймворк (например Yii2), открываем любой файл с расширением .php и построчно прочитываем код. Понятное дело, что для новичка это дело покажется очень сложным. Но например мне такой подход давал хороший результат. В процессе чтения, через справочник разбираем все неизвестные функции, конструкции и все остальное... Цель не в увеличении понимания CMS или фрейморка, а в повышении у ученика количественного показателя диалога с кодом. Еще и в боевом режиме.

    Ну ни как не прет изучение по стандартным урокам, коих туча. Ты вроде проходишь урок по ООП, но даже представить себе не можешь, где это применить. От этого понимание материала, ничтожна. На данный момент, разбираю любые .php файлы cms и фреймворка и более менее начинаю понимать, что классы на самом деле работают и общаются друг с другом, а не просто красивая и сложная конструкция. А также получил информацию об немалом количестве функций и прочих конструкций языка, постоянно копаясь в справочнике и разбирая каждую строчку, к чему очень слабо сподвигают стандартные уроки, появляющиеся по запросу, типа "Уроки PHP для новичков".
     
  2. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    у нас тут где то есть тема с тестовым заданием)) вот его надо сделать)) сразу легче станет)
     
  3. Igorbay

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

    С нами с:
    9 апр 2015
    Сообщения:
    48
    Симпатии:
    0
    Можете подсказать, где и как его найти?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    так же делаю, только не построчно, а ветви методов конструирую, чтобы понять логику поэтапной загрузки ядра махины.
    1. Этап - пропись корневой директорий, директории где лежит само ядро с библиотеками, директории загрузки важных конфигураций и т.д.
    2. воссоздание объектов конфигурационных библиотек (классы) - в Ларавель через ReflectionClass все проиходит. Круто! а в Уии автоподгрузка классов збс. (мое мнение) кому как.
     
  5. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    в 1 этапе еще заключается перед всем этим ГлавныйКласс::$app = $this;
     
  7. Igorbay

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

    С нами с:
    9 апр 2015
    Сообщения:
    48
    Симпатии:
    0
    Построчно, пометодно, поклассово, зависит от уровня юзера. Бывает читаешь страницу, и чем ниже, тем большими кусками идет чтение, так как уровень понимание абстракции повышается.

    На сколько я понимаю речь идет не о basic-версии.

    Хороший тест, спасибо. Думаю я его осилю.
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    не, там чего то не то :)
     
  9. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    В мозг и через жопу можно попасть: с этим не поспоришь.
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
  11. Igorbay

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

    С нами с:
    9 апр 2015
    Сообщения:
    48
    Симпатии:
    0
    Ну я решил начать с лайтцовой версии. Для наглядного знакомства с ООП, думаю будет достаточно.

    Это как пример :) ?

    Как я уже сказал, главная цель - увеличение объема знаний. Кто-то советовал начинающим программистам, на начальном этапе изучать все, что только попадется - прямо, поперечно и если того потребуется, вперемешку.

    P.S. И вообще на сколько я понял, исходя из своего опыта, начинать изучать ЯП, нужно предварительно конкретно пополнив свой багаж знаний в этой сфере. Как бы парадоксально это не звучало, но после практического разбора кода, становится намного легче читать о синтаксисе.
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    да, изучая в свободное время структуру стартвого движка фреймворков, выбрал в качестве лабораторной мыши Laravel и строил ветвление, что как все работает, какая логика задается. Чтобы не только не заговнокодить, но и старательно логично писать код, а по пути его еще оптимизировать. Дремучий лес получался... но эпически интересно было.... Пока не пришла эта ебаная лень к кодингу..
    --- Добавлено ---
    Да, для начало немного опыта в самом ооп накопить, либо открыв любой фреймворк и вникать - пустая трата времени.
    + неймспейсы, не буду говорить что это легко, ведь изучив их - легко сказать "ааа да это цветочки, расплюнуть"... Да изучив, окажется особого то и нифуя :)
    --- Добавлено ---
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    --- Добавлено ---
    чем по стандарту идти и изучать азы для нубаф - больше времени пройдет
     
  13. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    всё равно, про основы, надо почитать.
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    меня они мимо обошли как то :D . Если программирование для человека - хобби
     
  15. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Никогда не читаю код фреймворка без надобности. Пока всё работает, пофигу, что там написано. Другое дело, что иногда что-то не работает, начинаешь, естественно грешить на фреймворк, залазишь в его код и в процессе чтения/трассировки отладчиком понимаешь, где ошибся сам. К хорошему фреймворку всегда есть хорошая документация - вот её раздел "руководство" прочитываю полностью при начале работы с новым фреймворком, раздел справочника по API пользую в качестве такового. По поводу всяких паттернов ООП - это надо прочитать/послушать лекции и оставить в голове. Как только возникнет ситуация, они сами всплывают, иногда даже без названия, а просто: ну как-то так можно сделать. Вроде @Fell-x27 писал, что он до части паттернов дошёл самостоятельно. Я, к сожалению, не столь талантлив. Но я их в проектах применяю. Не во всех и не всегда, поскольку это не самоцель. Иногда думаешь: "вот здесь бы стратегию неплохо, но пока и if сойдёт". Как один лектор сказал, рефакторить на паттерны имеет смысл только те части программы, через которые проходит ось изменения. А если какой-то метод написал, пусть с if-ами, но нормально, он работает, и ты в него вообще не лазишь - ну и пусть там живут себе эти ифы, никому не мешают.
     
    artoodetoo и Алекс8 нравится это.
  16. Igorbay

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

    С нами с:
    9 апр 2015
    Сообщения:
    48
    Симпатии:
    0
    Ну да. Наверное данный метод обучения подойдет тем, кто уже прошел все самое легкое.

    Видимо вы меня не поняли. Мне наоборот абсолютно наплевать работает фреймворк или нет. Он мне нужен только для изучения анатомии языка. И данный метод подходит скорее для новичков. Если хорошо понимаешь тему, держишь ее в голове и программируешь в уме, можно и дойти самому куда угодно.
     
  17. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Для изучения языка есть тонна литературы и прекрасный мануал от разработчиков.
    --- Добавлено ---
    Кстати, в коде фреймворков и CMS тоже не всегда фонтан, чтоб брать за образец. Все программисты - люди. У Laravel к примеру мне код не нравится, хотя пользоваться фреймворком приятно. А в коде чёрт ногу сломит, и обычно когда добираешься до нужного кода, это оказывается Symfony :)