Pull to refresh

Изучить программирование на PHP. Вводная

Reading time5 min
Views67K


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

<?php
$me = 'Programmer';
makeHappy($me);


Рассмотрим подробнее что же написано в этой программе. Опытные программисты советуют читать код подобно книге, пытаясь понять смысл написанного исходя из смысла попадающихся слов и символов. Ну и использовать логику, конечно.

Для тех кто и так знает, что делает этот код — в статье для вас есть блудницы и дух черно-белого верблюда.



Мы последуем этому совету и разберем код, пытаясь понять его смысл.

Первая строчка — <?php — говорит нам о том, что дальше будет код на языке PHP. Все наши программы, написанные на php мы будем в обязательном порядке начинать с этой строчки. Иначе PHP просто пройдет мимо, даже не подозревая, какую важную задачу мы пытаемся на него возложить.

Поехали дальше.
Вторая строка:
$me = 'Programmer';


Первое слово, которое мы встречаем в этой строке — слово «me», на основании чего делаем вывод, что разговор тут идет о создателе данной программы. Доллар перед словом означает, что данная последовательность символов обретает свой смысл в виде переменной.

Что же такое переменная? Переменная — это место, где хранятся наши данные, а для удобства обращения, мы даем имя этой части памяти.

Если у нас есть выделенная память, то глупо ее оставлять пустой, верно? Поэтому следующим символом "=" мы говорим компьютеру, что в это место, которое мы только что создали нужно записать данные, фактически присваивая переменной какое-то значение. Поэтому данный символ называется не «равно», как мы привыкли в математике, а «оператор присваивания».

Прежде чем продолжить, хотелось сказать пару слов про лексику, которой пользуются программисты. Людям не посвященным, мир программистов кажется странным. Ведь нам ничего не стоит сделать фабрику мостов, а стринги разложить на чары. Но, как и все в программировании, лексика подчиняется логике, и имеет вполне определенную смысловую нагрузку. А еще чтение вслух программ на PHP способно призывать дух Черно-белого верблюда, который будет говорить что-то про «шаблонизатор».

Как вы догадались, речь пойдет о довольно знакомом для слуха слове «оператор». Чаще всего слово «оператор» применяется рядом с названиями техники, требующей определенных знаний и умений для работы с ней. Фактически, оператор — это кто-то, кто выполняет определенные действия, следуя задачам, поставленными начальством. Но в программе нет живых людей, способных выполнить за нас работу, а программист — единственный и бессменный тут начальник. Поэтому, когда мы говорим об «операторах» в программе, мы имеем в виду что-то, что делает для нас определенные действия. Это простейшие приказы или указания, которые компьютер выполнит в точности, как это описано в документации. Ну или не выполнит, если обиделся, устал и хочет мороженку.

Поэтому, для программистов "+" — это не «плюс», а «оператор сложения», "-" — «оператор вычитания», "*" — «оператор умножения», а "\" — оператор деления. Конечно, этот список операторов далеко не полный, но смысл остается тот же — «оператор» — это что-то, что совершает определенные действия (у программистов называется «совершает операцию») над исходными данными, которые называются операндами.

Говоря языком программирования —
$a+$b

Означает оператор сложения, выполняющий операцию сложения над операндом-переменной $a и операндом-переменной $b. Ну или «а плюс б», если вы не на экзамене по программированию.

Если оператор работает не с двумя, а с одним операндом, он называется «унарным» от испанского слова «уно» — один. Старый знакомый из математики минус — пример такого оператора, совершающего операцию отрицания своего операнда. Если $a — положительное, то -$a — отрицательное, по модулю равное $a.

Подобно математическим уравнениям, мы можем комбинировать операторы вместе.
Например,
<?php
$a=1;
$b=2;
$c=-($a*2 + $b);


Чему в итоге равно $c?

Строчкой "$c=-(2*$a + $b)" мы говорим компьютеру присвоить переменной $c «отрицание суммы 2 умножить на $a и $b». Так как две строчки выше присваивают переменной $a значение 1, а переменной $b 2, то вычисление результата сводится к решению простого примера -(2*1+2), результатом которого является "-4"

Ответ: -4.

Но в нашей программе переменной присваивается не число, а последовательность букв в кавычках. Это превращает переменную в «переменную строкового типа», или просто «строку». А последовательность букв в кавычках означает ровно то что вы видите — последовательность букв. Кавычки используются для обозначения границы этой последовательности. Иногда содержимое строки не носит абсолютно никакого смысла, но у хорошего программиста нет бессмысленных мест в программе, поэтому в строке
$me='Programmer', мы говорим о себе, присваивая себе строку «Programmer», и с данного момента считаем себя программистом (конкретно в этой программе).

Силой кода вы объявили себя программистом, и все что осталось — это закончить мысль. Для этого служит символ ";". Этот символ завершает оператор, сообщая, что больше действий в этом операторе производиться не будет.

Например, мы хорошо знаем что будет в переменной $c после выполнения кода

<?php
$a=1;
$b=2;
$c=-($a*2 + $b);


но что будет, если мы уберем скобки и поставим точку с запятой в другое место? Скажем, так:
<?php
$a=1;
$b=2;
$c=-$a*2; + $b;


Теперь оператор присваивания для $c заканчивается не после прибавления $b, а перед ним, и следовательно, суммирование с $b не происходит, т.к. оператор заканчивается на -$a*2. Теперь значение $c — это отрицание результата умножения $a на 2.

Ответ: -2;

Закончив с присвоением себе титула программиста, мы переходим к следующей строке.

makeHappy($me);


Мы уже знаем про операторы, и их способность беспрекословно выполнять наши приказы. Но что делать, когда хочется совершить действие, выходящее за рамки возможностей оператора? Тут на помощь нам приходит функция. Если переменная дает название области памяти, то функция — это название для последовательности действий. Когда нам нужно совершить эти действия над данными, мы должны вызвать функцию.

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

Ну или просто написать имя функции, в скобках через запятую перечислив данные, с которыми эта функция будет работать.

И если эффективность первого метода сомнительна, второй способ работает всегда. И обратно — если мы видим имя, после которого в скобках идет перечисление переменных, других данных или просто ничего, то скорее всего перед нами — вызов функции.

Будучи переданными в функцию данные становятся «аргументами» функции. В качестве аргументов мы так же можем использовать операторы.

Например, func($a) вызывает функцию для аргумента-переменной $a, в то время как func($a+$b) вызывает функцию, получая в качестве аргумента результат сложения $a и $b.

Как догадаться что делает функция? Нужно взглянуть на ее имя. Хорошие программисты всегда используют в именах функции глаголы, означающие действия, совершаемые над аргументами. Стоящие рядом существительные говорят о том, что выбрано для воздействия, а прилагательные — раскрывают дополнительные особенности существительных.

Сложновато, правда? Поэтому просто читайте что написано. Если написано "printReport", то скорее всего функция печатает отчет, а если написано "eatCat", то функция отправит вашего кота есть. Или съест вашего кота.

Возвращаясь к нашему коду —

makeHappy($me)


Судя по названию, делает счастливым, а судя по списку операндов, делает счастливым программиста, создавшего ее. Данная программа является универсальным личным генератором счастья. На этом я заканчиваю рассказ о программировании — ведь теперь у вас есть универсальный способ доставить счастье кому угодно. Заказчику, начальнику и самому себе конечно. Все. Занавес, выключаем рубильник и расходимся.

Что, что простите? Функция не определена. Ой, извините, забыл маленькую деталь.

Прежде чем компьютер принесет вам счастье, вы должны научить его это делать. Как? С помощью магии, конечно! Магии программирования — так что одеваем черные плащи, берем в руки клавиатуру, учебник латыни и вперед — к созданию личных генераторов счастья. И хватит уже на сегодня — полнолуние, и у меня запланирован интересный вечер в компании старых блудниц.
Tags:
Hubs:
-41
Comments43

Articles