Главная страница
Навигация по странице:

  • 0 Добро пожаловать в РНР! 3 0.1 Что такое РНР 3 0.2 Как работает сервер 4 0.3 Установка локального сервера 6 0.4 Редактор кода 8 Заключение 9 1 Первые шаги

  • 4 Циклы 43 4.1 Цикл while 43 4.2 Цикл do...while 44 4.3 Цикл for 45 Заключение 46 Вопросы и упражнения для самоконтроля 47 5 Массивы

  • 7 РНР и ООП 68

  • 8 Дата и файлы 81 8.1 Работа с файлами 81 8.2 Смена прав доступа 84 8.3 Проверка файлов 87 8.4 Функции для работы с файлами 89 8.5 Дата 95 9 PHP и HTTP

  • 11 Доступ к MySQL через PHP 152

  • 12 Сессии 172

  • 13 Безопасность 182

  • 14 Работа с другими веб-службами 222

  • 16 Пакетный менеджер 247

  • 18 РНР и тестирование 266

  • 19 Фреймворки 278

  • 20 Больше об РНР 309 Итог изученного 310 Благодарности 312 Структура книги 315

  • Развитие языков программирования растёт с большой скоростью


    Скачать 2.79 Mb.
    НазваниеРазвитие языков программирования растёт с большой скоростью
    АнкорKostern
    Дата28.04.2022
    Размер2.79 Mb.
    Формат файлаpdf
    Имя файлаKostelny_PHP-Junior-Kit.644079.pdf
    ТипДокументы
    #503693
    страница14 из 14
    1   ...   6   7   8   9   10   11   12   13   14
    {{ post_data.title }}
    {{ post_data.content }}
    {{ post_data.author }}
    {% endfor %}

    Код функции вы уже сами можете понять. В коде шаблона мы воспользовались циклом for для того чтобы вывести данные о посте.
    Заметьте то, в какой способ мы создали цикл. Мы создаём переменную post_data которая имеет данные массива post. Мы создали цикл для того чтобы перебрать элементы массива, потому если бы мы с вами попробовали бы без цикла обратиться к элементам массива мы получили бы сразу ошибку, о том что невозможно конвертировать массив в строку.
    И именно для того чтобы обратиться к элементам массива мы с помощью цикла конвертировали каждый элемент в строку.
    А дальше уже мы просто вывели их на страницу, обращаясь к их названиям, которые есть в таблице базы данных. То есть, какое название поля - такое будет названия элемента в массиве. Нам осталось создать последнюю функцию, функция удаления записи из базы данных. Все будет работать по тому же алгоритму, т.е. поиск записи по id в базе данных, получение данных и удаление данных. Посмотрите на этот код:
    … class PostController {

    /**
    *
    @Route("/delete/{id}")
    */ public function deleteAction($id)
    {
    $post = $this->getDoctrine()

    PHP: Junior Kit
    306
    ->getRepository(Post::class)
    ->find($id);
    $em = $this->getDoctine->getManager();
    $em->remove($post); // Удаляем пост
    $em->flush(); return $this->redirectToRoute("home");
    }
    }
    ?>
    Функция выглядит намного проще, чем предыдущие. Это ясно, поскольку здесь выполняется только 2 действия. Найти пост и удалить его. Здесь мы достали объект, а потом вызвали менеджер баз данных, после чего с его помощью, а также функции remove() удалили пост.
    Теперь протестируйте все эти функции. Если все работает, то тогда я вас поздравляю! Вы написали собственный примитивный блог на фреймворке Symfony. Если что то не работает, то повторите все шаги сначала и прочитай все более внимательно.
    Теперь, когда вы уже ознакомились с тем как работает паттерн
    MVC на практике, а также создали своё первое приложение на фреймворке Symfony, можно сделать заключение об данном разделе. Если вас заинтересовала разработка веб-приложений на данном фреймворке, то тогда я вам советую заглянуть в официальную документацию фреймворка а также посмотреть бесплатные видео-уроки на YouTube.
    Я дал вам только небольшие основы данного фреймворка. Если вам не понравился данный фреймворк, то я вам рекомендую попробовать другие, такие например как Laravel или CakePHP. И изучать по тому же самому пути, т.е. читать официальную документацию и смотреть видео- уроки на YouTube.

    PHP: Junior Kit
    307
    Заключение
    Конец книги уже скоро. В этой главе вы узнали об том какие существуют фреймворки, поняли за каким принципом сейчас разрабатываются приложения, узнали об том как ведется разработка и вы создали собственный примитивный блог на основе фреймворка Symfony.
    И я думаю, некоторые новички были в шоке когда узнали что им придется все забыть и начать изучать фреймворк. Поскольку теперь, никто не разрабатывает приложения на чистом листе. А если разрабатывает, то тогда частенько такая система “изобретает велосипед” или является не надежной.
    Те знания которые я вам предоставил в книге являются основами которые позволяют вам понимать работу фреймворка. Так что вот так сейчас и разрабатываются приложения, и это очень сильно облегчает работу программистам, как я и говорил. Книга, видео-уроки, курсы, не смогут дать те знания, которые получают программисты через опыт.
    Самым лучшим способом развивать свой навык программирования и вообще любой навык - будет не только использование всех возможных ресурсов как например видео-уроки или книги, но также и создание какого-нибудь собственного проекта. Это может быть, например, интернет магазин, форум или вообще что-то новое. То что никто ещё не создавал до вас.
    Поэтому пользуйтесь всеми ресурсами подряд и изучайте дальше программирование если это вам нравится. Я, как и всегда попрошу читателя ответить на вопросы и выполнить упражнения которые находятся ниже. Но перед этим хочу ещё добавить. Что дальше уже будет предпоследний раздел, который не будет иметь подразделов, а суть его будет заключаться в том что там больше будет речи об том где ещё можно использовать РНР и также об сообществе разработчиков на РНР.
    Вообще планировалось чтобы в предпоследнем разделе книги была речь об шаблонах проектирования, но автор решил что об этом лучше не писать, поскольку это займет очень и очень много места. А

    PHP: Junior Kit
    308
    также лучше читателю самому найти книги по шаблонам проектирования на РНР. Шаблоны проектирования это отдельный разговор который требует времени и знаний для того чтобы его начать. Поэтому я завершаю этот раздел, и вы можете перейти к вопросам и упражнениям.
    Вопросы и упражнения для самоконтроля
    1. Что такое фреймворк?
    2. Как вы можете описать разработку приложений в наше время?
    3. Для чего нужны фреймворки?
    4. Какие вы знаете фреймворки?
    5. Объясните что такое MVC-паттерн, а также расскажите об его работе.
    6. За что отвечает контроллер, модель и шаблон? Приведите простые примеры.
    7. Какая библиотека используется для того чтобы работать с базами данных через Symfony?
    8. Как происходит получение данных с помощью Symfony и какие есть функции для этого?
    9. Что нужно сделать для того чтобы создать форму в Symfony?

    PHP: Junior Kit
    309 20
    Больше об РНР
    Этот раздел будет кратким и вообще не будет содержать каких-то подразделов. Суть раздела заключается в том чтобы больше рассказать об
    РНР и где можно использовать данный язык программирования. Но также об том где ещё можно найти материалы по изучению данного языка программирования и о том какие существуют сообщества и конференции по РНР. Вопрос, где можно ещё использовать РНР кроме создания веб- приложений?
    Сейчас идет развитие создания нейросетей на РНР. Если кто то не знает что такое нейросети, то нейросети это искусственный интеллект который имеет способность к обучению а также к использованию предыдущего опыта для лучшего выполнения алгоритмов. И вообще нейросети сейчас стают очень популярными, и очень много компаний их используют. А где можно использовать нейросети?
    К примеру, сейчас нейросети используют в распознавании изображений. Одним из простых примеров нейросетей может быть нейросеть которая умеет распознавать на изображениях цифры, которые были написаны человеческой рукой. Можно много провести примеров таких нейросетей.

    PHP: Junior Kit
    310
    Это один из способов, где ещё можно использовать РНР. Я думаю, читатель сейчас удивиться когда услышит что с помощью РНР можно создавать программное обеспечение, а также даже писать игры. К примеру для того чтобы писать программное обеспечение на РНР можно воспользоваться программой PHP Delver Studio. Это одна из тех программ которые можно использовать для того чтобы создавать ПО на РНР.
    Конечное же есть и другие варианты. С РНР можно много чего делать, если вам интересно можете также поискать много информации об этом в Google. Я назвал вам самые популярные фреймворки, приводит примеры, больше не буду. Поскольку я считаю, что несколько примеров с одним фреймворком достаточно чтобы понять как все работает.
    Поскольку другие фреймворки имеют такой же самый принцип разработки приложения. Главное понимать принципы разработки, поскольку именно они дают основу для разработки чего то. Фреймворки обновляются, стают ещё большими и функциональными, но принципы разработки остаются теми самими. И знание фреймворка не так уж и играет роль как знание принципов разработки.
    Чтобы лучше разобраться с выбором фреймворка я рекомендую вам посмотреть некоторые видео-уроки на YouTube. Если вы хотите немного поиграться с РНР и больше подкрепить свои знания, то можете воспользоваться порталом http://codecademy.com - там вы сможете найти много разных онлайн заданий по программированию.
    Кроме того что вы будете тренироваться, вы также будете учиться. А что же можно сказать об том какие существуют РНР конференции и ивенты? Самым простым способом найти какую-то конференцию по РНР будет зайти на официальный сайт разработчиков
    РНР и перейти в раздел событий https://php.net/conferences/.
    Там вы можете найти много конференций которые проходят по всему миру, а также возможно вы сможете найти конференцию которая проходит в вашем городе. Конечно же вы можете поискать на веб-сайтах своего города какие будут проходит конференции и сходки разработчиков. Я рекомендую новичкам сходить на какую-то сходку

    PHP: Junior Kit
    311
    разработчиков по РНР или же по любому другому языку программирования.
    Это важно, поскольку на таких конференциях и ивентах в вашем городе вы можете познакомиться с целым сообществом программистов с которыми вы можете хорошо подружиться. Но кроме того что вы сможете найти себе собеседников, вам также возможно будет легче найти работу с помощью таких ивентов.
    А все потому что очень часто эти ивенты и конференции спонсируют многие ИТ-компании и часто им нужны новые сотрудники. И на этом я завершу этот раздел. Думаю, некоторые читатели меня спросят, но что же делать дальше? Что же делать, если мы уже выучили основы программирования на РНР?
    Дальше следует выучить 1 один фреймворк для начала, почитать об шаблонах проектирования, попробовать создать что то своё и поработать с какими то библиотеками для РНР для того чтобы больше расширить своё кругозрение разработчика. Книга уже подходит к концу, вы прошли путь новичка, а впереди на вас ждет путь намного сложнее и интереснее чем этот. Поэтому пользуйтесь знаниями, полученными от этой книги и давайте уже сделаем итог о том что мы выучили.
    Итог изученного
    2/4 книги я говорил об основах программированию на РНР. А другую половину книги я давал знания, которые сейчас являются очень востребованными для младших разработчиков. Теперь настало время подбить и итоги и решить что же делать дальше читатель после того как он прочитал мою книгу.
    Да, я уже говорил об этом немного в конце предыдущего раздела.
    Но, я должен дать список других ресурсов которые более помогут подкрепить знания. Ресурсы, которые я вам дам имеют множество других

    PHP: Junior Kit
    312
    интересных курсов по веб-разработке. Но суть заключается не только в том, чтобы подкрепить больше знания, но и также поделать ещё больше реальных примеров.
    ● Codecademy - является очень и очень хорошим бесплатным ресурсом по программировании. Кроме того что вы сможете найти кучу бесплатных курсов по веб-разработке, вы сможете найти также задания которые помогут вам проверить их.
    ● Codeschool - также бесплатный ресурс, на данный момент имеет всего 2 курса по РНР. Но ими также хорошо воспользоваться чтобы больше подкрепить свои знания а также проверить их.
    ● Treehouse - это также хороший ресурс по изучению программирования, но тут вы получаете бесплатный доступ на некоторое время. После этого уже надо платить, если вы хотите дальше им пользоваться.
    ● Udemy - это целый портал, на котором можно найти очень и очень много разных курсов на разные темы. И среди них вы можете найти курсы по программированию. Некоторые могут быть платными, а другие бесплатными.
    И это ещё не все ресурсы которые вы можете использовать для того чтобы научиться программировать. Я дал вам основу для того чтобы развиваться дальше в веб-разработке. Дальше уже для того чтобы больше научиться надо разрабатывать реальные проекты и иметь чёткую цель того что вы хотите сделать.
    Некоторые изучают программирование чисто в целях хобби, некоторые для работы, а некоторые для личного бизнеса. Дальше уже это выбор читателя, в каких целях он хочет использовать свои знания программировать. Хочет ли он их развивать или хочет их использовать для создания чего-то нового - это уже его личное дело.
    Возможно, я напишу улучшенное издание данной книги в будущем. Но на этом моменте я завершаю книгу, которую я писал полгода. Хочу поблагодарить читателя за то что он нашёл время чтобы прочитать эту новую книгу по РНР. Некоторые говорят, что РНР уже не в

    PHP: Junior Kit
    313
    моде, но это не так. Его до сих пор очень часто используют для того чтобы разрабатывать веб-сайты и разные приложения.
    Поэтому используйте полученные знания от данной книги и я надеюсь что читатель будет дальше совершенствоваться не только в программировании, но вообще в любой сфере которая приносит пользу.
    Поэтому моё итоговое слово - спасибо.
    Благодарности
    Хочу поблагодарить Леонида К. за создание хорошего дизайна обложки для книги. Большое ему спасибо, поскольку он смог тем самым усовершенствовать мою книгу. Хотя в начале написания книги я уже создал первую версию обложки, но именно версия Леонида выглядела очень красиво и гармонично. Кроме этого Леонид также помог корректировать книгу и это очень мне помогло.
    Благодарность Александру Г. который помог мне в написании некоторых разделов этой книги. Большое ему спасибо также за то что был одним из тех кто первый начал читать эту в книгу в целях того чтобы проверить правильность материала.
    В общем, спасибо тем, кто помог мне во время написания книги.
    Спасибо тем кто первыми брали и читали эту книгу ради того чтобы помочь в дополнении и корректировании материала. А также спасибо людям которые прочитали эту книгу, надеюсь, что они получили то чего ожидали от этой книги. Поэтому, спасибо!
    -
    Demian Kostelny. Программист. Писатель. - 2018 год.

    PHP: Junior Kit
    314
    Структура книги
    Предисловие от автора
    2
    0 Добро пожаловать в РНР!
    3 0.1 Что такое РНР?
    3 0.2 Как работает сервер
    4 0.3 Установка локального сервера
    6 0.4 Редактор кода
    8
    Заключение
    9
    1 Первые шаги
    9 1.1 Комментарии в коде
    10 1.2 Переменные в РНР
    11 1.3 Немного об типах данных
    13 1.4 Строки в РНР
    14 1.4.1 Операторы для работы со строками
    16 1.4.2 Управление последовательностью
    17 1.4.3 Синтаксис heredoc и nowdoc
    21
    Вопросы и упражнения для самоконтроля
    21
    2 Числа
    22 2.1 Операторы для работы с числа
    22 2.2 Числа с плавающей точкой
    24
    Заключение
    25

    PHP: Junior Kit
    315
    Вопросы и упражнения для самоконтроля
    25
    3 Логические операции
    26 3.1 Псевдокод
    26 3.2 Логическая операция if
    27 3.3 Логические операторы
    30 3.4 Логическая операция switch
    36 3.5 Логический тип данных
    39 3.6 Джордж Буль
    40
    Заключение
    42
    Вопросы и упражнения для самоконтроля
    42
    4 Циклы
    43 4.1 Цикл while
    43 4.2 Цикл do...while
    44 4.3 Цикл for
    45
    Заключение
    46
    Вопросы и упражнения для самоконтроля
    47
    5 Массивы
    47 5.1 Создание массивов
    47 5.2 Операторы для массивов
    49 5.3 Многомерные массивы
    51 5.4 Массив ключа-значение
    51
    Вопросы и упражнния для самоконтроля
    53
    6 Функции
    54
    6.1 Создание функций
    54 6.2 Функции для работы со строками
    57 6.3 Фукнции для работы с числами
    60 6.4 Функции для работы с массивами
    63 6.5 Анонимные функции
    66
    Заключение
    66
    Вопросы и упражнения для самоконтроля
    67
    7 РНР и ООП
    68
    7.1 Классы
    69

    PHP: Junior Kit
    316 7.2 Конструкторы и деструктор
    72 7.3 Абстрактные классы
    74 7.4 Интерфейсы
    75 7.5 Перегрузка и магические методы
    76 7.6 Трейты
    79
    Заключение
    79
    Вопросы и упражнения для самоконтроля
    80
    8 Дата и файлы
    81
    8.1 Работа с файлами
    81 8.2 Смена прав доступа
    84 8.3 Проверка файлов
    87 8.4 Функции для работы с файлами
    89 8.5 Дата
    95
    9 PHP и HTTP
    104
    9.1 Работа с формами
    105 9.2 HTTP-методы
    109 9.3 РНР и Cookies
    117 9.4 $_SERVER
    119
    Вопросы и упражнения для самоконтроля
    121
    10 РНР и базы данных
    122
    10.1 MySQL
    125 10.2 Таблицы в SQL
    131 10.3 Типы данных в SQL
    137 10.4 Операторы в SQL
    144 10.5 Агрегатны функции
    146 10.6 Транзакции
    148 10.7 Резервное копирование базы данных
    149
    Вопросы и упражнения для самоконтроля
    151
    11 Доступ к MySQL через PHP
    152
    11.1 Доступ к MySQL через РНР
    154 11.2 Создание запросов к MySQL в РНР
    157 11.3 Создание блога
    166

    PHP: Junior Kit
    317 11.4 Загрузка файлов и MySQL
    166
    Вопросы и упражнения для самоконтроля
    171
    12 Сессии
    172
    12.1 Обще понятия об сессиях
    173 12.2 Создание регистрации
    174 12.3 Создание аутентификации
    178 12.4 Просмотр аккаунта
    180
    Вопросы и упражнения для самоконтроля
    182
    13 Безопасность
    182
    13.1 Фильтрация данных
    183 13.2 Безопасность файловой системы
    191 13.3 Криптография
    194 13.4 Шифры
    203 13.5 Хэширование паролей
    218
    Вопросы и упражнения для самоконтроля
    221
    14 Работа с другими веб-службами
    222
    14.1 Что такое JSON?
    223 14.2 JSON и PHP
    225
    Заключение
    235
    Вопросы и упражнения для саомконтроля
    236
    15 Ошибки в коде
    237
    15.1 Виды ошибок
    237 15.2 Управление ошибками
    239 15.3 Откладка кода
    242
    Заключение
    246
    Вопросы и упражнения для самоконтроля
    246
    16 Пакетный менеджер
    247
    16.1 Установка
    248 16.2 Использование
    248
    Заключение
    252
    Вопросы и упражнения для самоконтроля
    254
    17 Отправка электронных писем
    255

    PHP: Junior Kit
    318 17.1 Основы
    256 17.2 Загрузка файлов
    256 17.3 Создание рассылки
    259 17.4 РНР средства
    261
    Заключение
    263
    Вопросы и упражнения для самоконтроля
    265
    18 РНР и тестирование
    266
    18.1 Установка
    267 18.2 Первый тест
    267 18.3 Data provider
    268 18.4 Больше методов для написания тестов
    272
    Заключение
    275
    Вопросы и упражнения для самоконтроля
    277
    19 Фреймворки
    278
    19.1 Какие есть РНР фреймвокри
    279 19.2 Общее понятия
    279 19.3 Фреймворк Symfony
    280 19.4 Создание блога
    282
    Заключение
    286
    Вопросы и упражнения самоконтроля
    308
    20 Больше об РНР
    309
    Итог изученного
    310
    Благодарности
    312
    Структура книги
    315
    1   ...   6   7   8   9   10   11   12   13   14


    написать администратору сайта