Задать вопрос
  • Что почитать, чтобы понимать синтаксис ОПП в PHP?

    27cm
    @27cm
    TODO: Написать статус
    Форумы и документация это конечно хорошо, но если вы не знакомы с ООП и только начинаете, то лучше - читайте книги. Для постижения азов рекомендую:
    Самоучитель PHP 5/6, Кузнецов, Симдянов
    PHP 5 (в подлиннике)
    Если не любите читать большие толстые книги, то можете просто прочитать главу по ООП в любой из этих книг.

    Что касается момента с $jsonError->error='No function called';, PHP в данном случае неявно создаёт объект stdClass. Делать так не желательно, т. к. PHP сделает предупреждение:
    Warning: Creating default object from empty value.
    Лучше писать так:
    <?php
    header('Content-type: text/html; charset=UTF-8');
    if (count($_REQUEST)>0){
        // ...
    }else{
        $jsonError = new stdClass();
        $jsonError->error = 'No function called';
        echo json_encode($jsonError);
    }
    ?>

    Результат будет тот же самый, но никаких предупреждений уже не будет.

    смысл $this нигде не объясняют

    https://php.net/manual/ru/language.oop5.basic.php
    Псевдо-переменная $this доступна в том случае, если метод был вызван в контексте объекта. $this является ссылкой на вызываемый объект. Обычно это тот объект, которому принадлежит вызванный метод, но может быть и другой объект, если метод был вызван статически из контекста другого объекта.

    return $this - делается это для реализации цепочек вызовов (Method Chaining).
    www.wisereport.ru/method_chaining
    Ответ написан
    4 комментария
  • Как добавить в избранное на Хабрахабр?

    Sterhel
    @Sterhel
    ee2ad52278f745b89be8769ad3249f42.png
    Ответ написан
    Комментировать
  • В чем отличие cms от framework?

    GM2mars
    @GM2mars
    Сначала рождается бинарный код, потом он идет в школу и становится обычным скриптом. Свою юность он проводит в институте где складывается в "библиотеку". Потом все больше обрастает библиотеками, обычные функции складываются в классы и выходит уже сформировавшийся фреймворк, готовый пробовать себя в деле. Опробовав себя в различных сферах, он останавливается на чем то конкретном и становится CMS, потому что уже не ищет приключений и новых свершений, его устраивает то, чем он занимается, и некоторые считают его профессионалом в своем деле.
    Ответ написан
    2 комментария
  • Практика программирования на PHP

    @Horzerus
    Если можешь сделать сортировку масива «пузырьком», то переходи дальше. Если нет — то разберись в простейшей работе с массивами и таки сделай эту сортировку.

    Сделай простой сайт (не статический, а с базой данных).
    И усложняй, приделывая:
    — админку для добавления, удаления и редактирования страниц (практика основных простых запросов к БД)
    — сделай регистрацию и авторизацию на своем сайте (практика работы с $_POST и $_GET, сессии, cookies)
    — сделай чтобы страницы могли быть вложенны друг в друга и чтобы можно было в админке изменять у страницы родителя. На сайте выводи дерево страницы. (познаешь основы «деревьев», рекурсию)
    — сделай форму для закачки файла (практика прастейшей работы с файлами)
    — сделай чтобы закачивалась картинка и масштабировалась (практика работы c библиотекой GD для работы с изображениями). Можно капчу попробовать сделать кстати.

    Потом прочитай, что такое MVC и можешь все переделать под этот шаблон проектирования.
    Ответ написан
    Комментировать
  • Практика программирования на PHP

    Знаю, что получу много минусов, но всё таки…

    «Надо начинать с лёгкого проекта» — самый ужасный совет новичкам.
    Решая легкие задачи мозг затачивается под лёгкие задачи. А как только программист после такого «лёгкого» обучения сталкивается с действительно сложной задачей вся структура мышления ломается и обучаться приходиться почти сначала.

    Меня в своё время учили гуру — «Решай задачи, в которых сам чёрт ногу сломит, только так научишься». Проверил этот совет на себе и полностью с ним согласен. Только решение сложных задач действительно учит.

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