Доброго времени суток, codeby.
Я сейчас всё чаще и чаще вижу негатив в сторону PHP, но многие закрывают глаза на то, что PHP невероятно сильно улучшился за последние годы и умирать он точно не собирается. Перед тем как разобраться что же такое PHP и понять области его применения, нам необходимо разобрать и понять принцип работы интернета, а также протоколов.
1.1. Принцип работы Интернета
Сама сеть "Интернет" представляет собой множество компьютеров, которые соединены друг с другом с помощью кабеля, а также спутниковыми каналами и так далее. Однако, думаю почти всем известно и понятно то что одних кабелей и радиоволн для передачи информации недостаточно. Чтобы обеим сторонам осуществлять передачу информации, им необходимо придерживаться каких-нибудь правил, соглашений которые как раз и позволят нам осуществлять передачу данных и гарантировать её доставку. Набор правил и соглашений называется протоколом.
1.2. Протоколы передачи данных
Для разных целей существуют различные протоколы. Нам не нужно иметь представление и понимание о каждом из них, в нашем случае нам будет достаточно знать лишь о тех, которые мы будем использовать в Web. Один из таковых является TCP (Transmission Control Protocol, протокол управления передачей данных), а если быть более точным HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста), который базируется на протоколе TCP. Протокол http используется браузерами и веб-серверами. При отправке запроса клиентом (браузером) пользователя на определённый веб-сервер для получения ресурсов (изображения, файлы и т.д.) которые обозначаются URL-адресами. В ответ веб-сервер отправляет клиенту данные которые он запросил. Сама передача этих данных осуществляется с помощью протокола HTTP. Давайте рассмотрим схему для того чтобы лучше понять как это работает.
Исходя из приведённой схемы можно понять, что на самой схеме указано направление передачи данных стрелками. Каждый из протоколов ничего не знает о том какой протокол стоит над ним (да-да между ними существует иерархия). Как пример, протокол TCP даже не знает о существовании протокола HTTP, а его в свою очередь понимает как браузер так и веб-сервер.
3. Семейство TCP/IP
Вот уже много-много лет основным протоколом Интернета является - TCP. Протоколы TCP и IP сильно связаны и поэтому принято объединять их в одну группу под названием "Семейство TCP/IP", на самом деле в эту группу входит также протокол UDP, но в прочем это уже совсем другая история. Основные особенности и преимущества протокола TCP (коротко):
Здесь я решил оставить ссылку на статью, все предыдущие пункты и в принципе весь текст в данной статье я писал сам из головы, опираясь на свои знания и понимание работы.
1.5. IP-адрес
Любой машине, которая подключена к сети Интернет, а также желает производить обмен и передачу информации с другими машинами, должна иметь некое уникальное имя или же IP-адрес. Здесь можно было бы ещё много чего написать про стандарты ipv4, а также ipv6, но само собой в одну статью это не влезет и я считаю что лучше прочитать всеми нашу любимую википедия.
1.6. Заключение первой части статьи
Конечно в первой части статьи можно было ещё написать и про версии протокола IP, Доменные имена, DNS-сервер про порты и основную терминологию, но я считаю что данной краткой информации уже хватит, чтобы начать писать код на PHP, ведь в любом случае во время изучения PHP или же при работе с веб-ресурсами вы столкнётесь с доменными именами и так далее.
Очередное небольшое отступление перед тем как приступить к самому PHP. Стоит понимать что в интернете есть 2 типа веб-сайтов:
PHP (от англ. Hypertext Preprocessor) - это скриптовый (Cи-подобный) язык программирования, который изначально создавался для генерации HTML-страниц и назывался Personal Home Page Tools — «Инструменты для создания персональных веб-страниц» ) но он эволюционировал и стал языком общего назначения. Сам PHP является интерпретируемым языком программирования. Это означает то что написанные на нём программы или как их иногда называют "скрипты" сначала переводятся в байт-код при этом проверяя синтаксис ну и затем PHP выполняет этот самый байт-код. Из этого можно сразу сделать вывод, что просто в блокноте писать PHP код как в случае с HTML не выйдет, ну оно то выйдет, но без самого PHP это соответственно работать не будет. Поэтому нам необходимо, для того чтобы начать писать код на PHP, нам необходимо "создать" свою среду разработки, а именно:
2.2. Пишем Hello World!
Начнём с правила объявления переменных в PHP. Имена всех переменных в языке PHP должны начинаться со знака доллара $, имена переменных не должны содержать кириллицу, а также названия переменных чувствительны к регистру.
Переменная $codeby и $codeBY в PHP являются разными так как выше я упомянул то что чувствительны к регистру, хотя и имеют одинаковый тип данных.
Как и в любом другом языке, переменная занимает область в оперативной памяти, а доступ к ней осуществляется с помощью ее имени.
В PHP знак равно ( = ) присваивает значение переменной, забегая вперед в условиях нужно использовать == (2 равно) для проверки определенного значения, либо строгое (===).
Давайте выведем Hello World! на экран, делается это с помощью конструкции языка echo
Давайте разберем наш код
1) Даем понять интерпретатору и что мы будем писать PHP код, можно использовать более короткий вариант <?, но он будет работать на тех веб-серверах, где включена функция short_open_tag (не забываем что имя расширение файла должно быть php).
2) Мы написали языковую конструкцию echo, которая принимает в себя определенные аргументы.
3) Мы заключили текст в одинарные кавычки, это означает то что тип данных str (string) строка.
4) Мы написали (точку с запятой), для того чтобы завершить инструкцию читаем -> Разделение инструкций
Теперь давайте напишем следующий код:
Эти 2 строки имеют одинаковый тип данных string. Но как я думаю вы уже заметили на 3-ей строке одинарные кавычки, на 4-ой двойные кавычки. Отличие этих двух строк в том, что если мы объявим переменную codeby с типом integer
И захотим отобразить значение переменной, то в случае 5-ой строки у нас на экране отобразится название переменной, а в случае с 6-ой строкой - значение. Это можно сделать с помощью конкатенации строк объединив Hello World с нашей переменной прямо внутри echo. Но в нашем случае мы можем просто вставить название нашей переменной в строку.
Так как я пишу в PHPStorm, а это достаточно умная IDE. Она уже подсвечивает переменную в 6 строке т.к. - это верно, а в 5 мы можем заметить что переменная не подсвечивается (если что это называется подсветка синтаксиса).
Давайте посмотрим что мы увидим на сайте:
Также их отличие в том, что когда интерпретатор будет "смотреть" код, он выведет 5 строку на экран быстрее чем в 6, потому что он не будет её обрабатывать, а выведет сразу как строку. А в случае со строкой с двойными кавычками, интерпретатор PHP будет думать что внутри какая-то переменная и будет обрабатывать данную строку, а не выводить не думая.
Итог
Мы познакомились с основами работы сети Интернет, поняли зачем и для чего нужен язык PHP, разобрались с тем как объявлять переменные и базовые основы синтаксиса. В следующей части мы разберем типы данных, строковые операции, конкатенацию строк и не только.
Я сейчас всё чаще и чаще вижу негатив в сторону PHP, но многие закрывают глаза на то, что PHP невероятно сильно улучшился за последние годы и умирать он точно не собирается. Перед тем как разобраться что же такое PHP и понять области его применения, нам необходимо разобрать и понять принцип работы интернета, а также протоколов.
1.1. Принцип работы Интернета
Сама сеть "Интернет" представляет собой множество компьютеров, которые соединены друг с другом с помощью кабеля, а также спутниковыми каналами и так далее. Однако, думаю почти всем известно и понятно то что одних кабелей и радиоволн для передачи информации недостаточно. Чтобы обеим сторонам осуществлять передачу информации, им необходимо придерживаться каких-нибудь правил, соглашений которые как раз и позволят нам осуществлять передачу данных и гарантировать её доставку. Набор правил и соглашений называется протоколом.
1.2. Протоколы передачи данных
Для разных целей существуют различные протоколы. Нам не нужно иметь представление и понимание о каждом из них, в нашем случае нам будет достаточно знать лишь о тех, которые мы будем использовать в Web. Один из таковых является TCP (Transmission Control Protocol, протокол управления передачей данных), а если быть более точным HTTP (Hypertext Transfer Protocol, протокол передачи гипертекста), который базируется на протоколе TCP. Протокол http используется браузерами и веб-серверами. При отправке запроса клиентом (браузером) пользователя на определённый веб-сервер для получения ресурсов (изображения, файлы и т.д.) которые обозначаются URL-адресами. В ответ веб-сервер отправляет клиенту данные которые он запросил. Сама передача этих данных осуществляется с помощью протокола HTTP. Давайте рассмотрим схему для того чтобы лучше понять как это работает.
3. Семейство TCP/IP
Вот уже много-много лет основным протоколом Интернета является - TCP. Протоколы TCP и IP сильно связаны и поэтому принято объединять их в одну группу под названием "Семейство TCP/IP", на самом деле в эту группу входит также протокол UDP, но в прочем это уже совсем другая история. Основные особенности и преимущества протокола TCP (коротко):
- Корректная доставка данных до места назначения.
- Протокол TCP/IP устроен так, что он выбирает оптимальный путь распространения сигнала между обеими сторонами.
- При передаче данных они разбиваются на фрагменты - пакеты, которые доставляются вместо назначения по отдельности.
Здесь я решил оставить ссылку на статью, все предыдущие пункты и в принципе весь текст в данной статье я писал сам из головы, опираясь на свои знания и понимание работы.
1.5. IP-адрес
Любой машине, которая подключена к сети Интернет, а также желает производить обмен и передачу информации с другими машинами, должна иметь некое уникальное имя или же IP-адрес. Здесь можно было бы ещё много чего написать про стандарты ipv4, а также ipv6, но само собой в одну статью это не влезет и я считаю что лучше прочитать всеми нашу любимую википедия.
1.6. Заключение первой части статьи
Конечно в первой части статьи можно было ещё написать и про версии протокола IP, Доменные имена, DNS-сервер про порты и основную терминологию, но я считаю что данной краткой информации уже хватит, чтобы начать писать код на PHP, ведь в любом случае во время изучения PHP или же при работе с веб-ресурсами вы столкнётесь с доменными именами и так далее.
Очередное небольшое отступление перед тем как приступить к самому PHP. Стоит понимать что в интернете есть 2 типа веб-сайтов:
- Статические (Это сайт состоящий из HTML файлов, без использования базы данных и без какой-либо функциональности).
- Динамические (Это сайты которые чаще всего динамически генерируют страницы на стороне сервера).
PHP (от англ. Hypertext Preprocessor) - это скриптовый (Cи-подобный) язык программирования, который изначально создавался для генерации HTML-страниц и назывался Personal Home Page Tools — «Инструменты для создания персональных веб-страниц» ) но он эволюционировал и стал языком общего назначения. Сам PHP является интерпретируемым языком программирования. Это означает то что написанные на нём программы или как их иногда называют "скрипты" сначала переводятся в байт-код при этом проверяя синтаксис ну и затем PHP выполняет этот самый байт-код. Из этого можно сразу сделать вывод, что просто в блокноте писать PHP код как в случае с HTML не выйдет, ну оно то выйдет, но без самого PHP это соответственно работать не будет. Поэтому нам необходимо, для того чтобы начать писать код на PHP, нам необходимо "создать" свою среду разработки, а именно:
- Выбрать текстовый редактор или же IDE (для начала я бы посоветовал https://www.sublimetext.com/, а для серьезных проектов и что использую лично я в повседневной жизни - PhpStorm
- Локальный сервер, я рекомендую использовать Open Server потому что он позволяет легко настраивать необходимые модули, а также имеет поддержку последних версий PHP.
2.2. Пишем Hello World!
Начнём с правила объявления переменных в PHP. Имена всех переменных в языке PHP должны начинаться со знака доллара $, имена переменных не должны содержать кириллицу, а также названия переменных чувствительны к регистру.
PHP:
<?php
$codeby = 'yg140.servegame.com';
$codeBY = 'yg140.servegame.com';
Как и в любом другом языке, переменная занимает область в оперативной памяти, а доступ к ней осуществляется с помощью ее имени.
В PHP знак равно ( = ) присваивает значение переменной, забегая вперед в условиях нужно использовать == (2 равно) для проверки определенного значения, либо строгое (===).
Давайте выведем Hello World! на экран, делается это с помощью конструкции языка echo
PHP:
<?php
echo 'Hello World!';
1) Даем понять интерпретатору и что мы будем писать PHP код, можно использовать более короткий вариант <?, но он будет работать на тех веб-серверах, где включена функция short_open_tag (не забываем что имя расширение файла должно быть php).
2) Мы написали языковую конструкцию echo, которая принимает в себя определенные аргументы.
3) Мы заключили текст в одинарные кавычки, это означает то что тип данных str (string) строка.
4) Мы написали (точку с запятой), для того чтобы завершить инструкцию читаем -> Разделение инструкций
Теперь давайте напишем следующий код:
PHP:
<?php
echo 'Hello World!';
echo "Hello World!";
И захотим отобразить значение переменной, то в случае 5-ой строки у нас на экране отобразится название переменной, а в случае с 6-ой строкой - значение. Это можно сделать с помощью конкатенации строк объединив Hello World с нашей переменной прямо внутри echo. Но в нашем случае мы можем просто вставить название нашей переменной в строку.
PHP:
<?php
$codeby = 1;
echo 'Hello World!$codeby';
echo "Hello World!$codeby";
Давайте посмотрим что мы увидим на сайте:
Также их отличие в том, что когда интерпретатор будет "смотреть" код, он выведет 5 строку на экран быстрее чем в 6, потому что он не будет её обрабатывать, а выведет сразу как строку. А в случае со строкой с двойными кавычками, интерпретатор PHP будет думать что внутри какая-то переменная и будет обрабатывать данную строку, а не выводить не думая.
Итог
Мы познакомились с основами работы сети Интернет, поняли зачем и для чего нужен язык PHP, разобрались с тем как объявлять переменные и базовые основы синтаксиса. В следующей части мы разберем типы данных, строковые операции, конкатенацию строк и не только.