За последние 24 часа нас посетили 29826 программистов и 1759 роботов. Сейчас ищут 954 программиста ...

Что значит этот код? (см. внутри)

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

  1. Izmaylov

    Izmaylov Новичок

    С нами с:
    3 май 2016
    Сообщения:
    9
    Симпатии:
    0
    Здравствуйте, не совсем понимаю что здесь происходит. Объясните пож-ста.
    PHP:
    1. $pdf=new FPDF();
    2. $pdf->AddPage();
    Как я понял в первой строчке создается объект (пока хз, что это такое, но с этим еще разберусь),
    а что делается во второй строчке? Особенно интересует вот этот кусок "->"
     
  2. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    А во второй строчке вызывается метод "AddPage" класса "FPDF".
    А знак "->" - это такой синтаксис при работе с объектами.
     
    Izmaylov нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    это говнокод
    1. потому что скобочки не нужны , если не передаются аргументы в конструктор
    $pdf=new FPDF;
     
  4. виталий032

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

    С нами с:
    31 янв 2014
    Сообщения:
    227
    Симпатии:
    30
    Адрес:
    Владивосток
    Когда я первый раз читал Герберта Шилдта java, или как-то так его зовут, я просто писал сверху над словом объект - копия)
     
  5. Izmaylov

    Izmaylov Новичок

    С нами с:
    3 май 2016
    Сообщения:
    9
    Симпатии:
    0
    Ну так в инструкциях по работе с FPDF пишут
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Лучше, всегда ставить. От этого ты ничего не теряешь, плюс привычка, которая только в пользу, ибо в большинтсве языка эти скобочки нужны.
    --- Добавлено ---
    @Izmaylov, тебе надо хотя бы почитать "Введение в PHP".
    С такими вопросами не приходят на форум. Да еще ты хочешь разобратсья в сторонней библиотеке. ))
     
    romach нравится это.
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    нет. Мы про пхп. Пряморукость нужна везде
    --- Добавлено ---
    тогда смысл раздела новичков ?

    я тоже в свое время чесался что за хрень и с чем едят
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @MouseZver, да я сам был новичком задавал тупые вопросы, не понимал когда меня направляли, поэтому и сделал замечание. Но я не приходил с вопросом что за конструкция "->" это значит нулевые знания, поэтому, чтобы общение состоялось надо бы подучить основы.
    Загляни в доку, и найди такую конструкцию)) Мало где встречается. Более пряморуко будет если ставить скобки всегда)))))

    Имхо, об этом просто надо знать.
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Протестую - говнокод это "там скобочки пишу, тут скобочки не пишу". В нормальных языках конструктор - это метод. Метод это функция. Функция должна быть со скобочками. Когда все пишется в едином стиле, оно и читается легче. Без ситуационных синтаксических вывертов.
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    у нас объявление класса без аргументов, а не вызов функции где нужны скобочки для явного callable
    --- Добавлено ---
    документация просчитывает досканально все про все ?

    документация разве расписывает о возможности замены таких нюансов как:
    PHP:
    1. <?php
    2.  
    3. call_user_func_array ( [ $this, $name ], $args );
    4.  
    5. /* vs */
    6.  
    7. $this -> $name( ...$args );
    причем тут вовсе документация ???
    --- Добавлено ---
    найн
     
  11. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @MouseZver, так и так правильно. Ты хочешь писать так, ну и ладно).
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
  13. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Потому что? Ссылка на стайлайд? Документацию?
    --- Добавлено ---
    Это как с фигурными скобочками, их тоже можно пропускать в некоторых случаях, но именно их отсутствие называется говнокодом, потому что усложняет читабельность и может потенциально привести к ошибкам в будущем.
     
    Fell-x27 нравится это.
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Если кое какой метод короткий не зазвездился то не гуд ? еще раз для особых:
    Скобочки незачем прописывать при создании класса без аргументов.

    я внимательно жду примеров
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Примеров чего? Того, как человеческий фактор может сломать систему, где циклы и ифы пишутся то с фигурными скобками, то без? Ну а подумать?

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

    О, а в яваскрипте можно не ставить точки с запятой в конце строк. Любой код на JS с точказапятыми, упрощающими чтение - это говнокод автоматом по твоей логике? Можно ж не писать, но люди ж пишут. Не от большого ума, наверное, ох уж эти глупые люди.
     
  16. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    мне по*** на другие языки , дискуссия на основе пхп разработки об кодинге посимвольности
    --- Добавлено ---
    нахрен другой язык вообще приписывать в тему ? накуй в другую дорогу сворачивать?
    --- Добавлено ---
    если лесть то мы бы позабыли к фигам про call_user_* и рожали по всем кодам func_args ()

    func_args () - он же везде пишется но другой синтаксис o_O не употребляли бы к херам оператор ...
     
  17. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    У этой библиотеки есть расширенная версия tFPDF.
    Если взял не её, то бери сразу её ибо стандартная не работает с UTF-8 и вообще с русских букв не знает.
    --- Добавлено ---
    Сразу после того, как определишься, ставить скобочки в объявляемом классе без аргументов для конструктора, или не ставить. :)
     
  18. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Стандарты придумали не для "зазвездился" и соблюдают их не для того что бы "быть как все", их согласовывают и обсуждают по параметрам "удобство"/"логичность" для нормальной совместной работы с кодом. То что ты делаешь не как все и при этом не можешь аргументировать свою позицию - это чисто твои проблемы и всяко не дают тебе права называть что-то говнокодом.
    --- Добавлено ---
    ; от { и от () в примере приведенном @Fell-x27 не отличается ни чем. Я ещё раз повторю, можешь думать всё что угодно, но не надо преподносить это как истину людям, задающим вопросы.
     
  19. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    если не долбиться своей тупостью, то выше уже раз 100 было разжевано.
    --- Добавлено ---
    уверен в своих словах?
     
    #19 MouseZver, 17 окт 2017
    Последнее редактирование: 17 окт 2017
  20. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    исчерпывающе разжевано, прям хрен придерешься :D
     
  21. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Да. В стандартах много того что не нужно, но что при детальном рассмотрении имеет смысл, а бывает так что с первого взгляда не очевидные и не нужные вещи на самом деле полезны и важны. Так вот, в чем причина отступления от обычной практики объявления объекта? Не, даже не так, с какого хера это вдруг стало говнокодом?

    Разница между программистом и быдлокодером совсем не в коде, как это может показаться, а в понимании того что ты делаешь и главное - почему.
     
  22. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.599
    Симпатии:
    1.764
    Скобки не необходимы, но допустимы. Конструктор - тоже функция, хоть и с особенностями вызова.
    Объявление класса - это class AAA { /* ... */ }, а оператор new - это создание объекта класса.
     
  23. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    ага

    прям капец какой то :D

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

    от меня лично (с):rolleyes:
     
  24. Sergey_Tsarev

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

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    dzheyson-stethem_152185833_orig_.jpg
     
    MouseZver нравится это.