XDNET
Вернуться   Hacket.Ru - Ethical Hacking - Cyber Security - Penetration Testing > Программирование, Кодирование и Веб-строительство > Веб-разработка > Скриптовые языки: "php", "python", "perl" и "Ruby"

Скриптовые языки: "php", "python", "perl" и "Ruby" Скриптовые языки программирования, вопросы, обсуждения, советы...

Ответ
Опции просмотра Опции темы  
Старый 20.12.2017, 00:45   #1
Супер-модератор
 
Аватар для Que$t
Группа: Member
 
Регистрация: 29.10.2017
Возраст: 29
Сообщений: 346
Репутация: 127
По умолчанию Изучаем программирование на PHP

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

Код:
<?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)
Судя по названию, делает счастливым, а судя по списку операндов, делает счастливым программиста, создавшего ее. Данная программа является универсальным личным генератором счастья. На этом я заканчиваю рассказ о программировании — ведь теперь у вас есть универсальный способ доставить счастье кому угодно. Заказчику, начальнику и самому себе конечно. Все. Занавес, выключаем рубильник и расходимся.

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

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

habrahabr.ru
Que$t вне форума   Ответить с цитированием
Ответ

Метки
php обучение программированию


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Друзья

Текущее время: 08:47. Часовой пояс GMT +4.


"(c) Hacket.Ru" (c) Hacket.Ru Внимание! Все материалы, находящиеся на сайте, выложены исключительно в образовательных целях. Владельцы сайта не несут ответственность за использование информации в незаконных целях.
Мы не несём никакой ответственности за предоставленные материалы. При копировании информации обратная ссылка обязательна.
Powered by: vBulletin Version 3.8.1
Copyright ©2000 - 2017, vBulletin Solutions, Inc ~ Перевод: zCarot
Remix fluid style from X1mer@ for Hacket.Ru Взлом и Безопасность (c) Hacket.Ru
Время генерации страницы 0.05440 секунды с 13 запросами