Маленькое отступление от глобальных и умных слов: оператор endwhile заменяет собой фигурные скобочки 😉
Как это происходит на практике:
Раньше (до того, как узнали о существовании endwhile) мы писали код так:
<!DOCTYPE html> <html> <head> <title>A loop of your own</title> <link type=’text/css’ rel=’stylesheet’ href=’style.css’/> </head> <body> <?php //Add while loop below $f = 0; while ($f < 3) { echo «Hallo».» $f».»<br>»; $f ++; } ?> </body> </html>
<?php//Add while loop below$minimal=0;$maximal=10;while($minimal<$maximal){echo"Hallo"."$minimal"."\n";$minimal++;}
но теперь, озаренные лучами просвещения, и вооруженные endwhile, мы пишем код так:
<!DOCTYPE html> <html> <head> <title>A loop of your own</title> <link type=’text/css’ rel=’stylesheet’ href=’style.css’/> </head> <body> <?php //Add while loop below $f = 0; while ($f < 3): echo «Hallo».» $f».»<br>»; $f ++; endwhile; ?> </body> </html>
<?php//Add while loop below$f=0;while($f<3):echo"Hallo "."$f"."\n";$f++;endwhile;?>
Как видите — разница только в двоеточии, поставленном вместо начальной фигурной скобки, и операторе endwhile, который использован вместо закрывающей фигурной скобки. Все остальное — не меняется. Честно сказать — особой разницы нет, и потому — пользуйтесь методом, который вам удобнее.
Ночь-полночь, и как всегда в это время — пора выучить что-то новое в PHP.
Сегодня мы сделаем что-то самостоятельное с применением оператора while.
(тут масса умных слов о необходимости обучения, циклах и прочем, но вы все равно это читать не будете, потому просто набросаем код и пойдем спать, удовлетворенные мыслями о собственном величии 😉 ):
<!DOCTYPE html> <html> <head> <title>A loop of your own</title> <link type=’text/css’ rel=’stylesheet’ href=’style.css’/> </head> <body> <?php $f = 0; //задали начальный размер переменной while ($f < 3) { // сказали PHP нечто вроде: выполняем цикл в фигурных скобках до тех пор, пока он не станет больше 3 echo «Hallo».» $f».»<br>»; // а что мы делаем, когда проходим одну цикличность? Выводим на печать слово ХЕЛЛО, и номер цикла, который генерируется динамически $f ++; // вывели на печать слово ХЕЛЛО? Великолепно! Увеличиваем значение переменной на 1 } //Возвращаемся на while — если условие выполнено — выходим за фигурные скобки, если нет — выполняем ?> </body> </html>
Как видим — все просто. Ну как все… почти. По крайней мере методика создания петли в петле для меня осталась чем-то возвышенным. Но как говорят — практика, практика, и еще раз практика.
Кстати, напоминаю, что специально для работы в режиме он-лайн неплохо, вернее даже — великолепно! помогает сайт koding.com, позволяющий вам создавать совершенно бесплатную виртуальную машину с определенными лимитами, но массой удобств. Кликните на ссылку, и будет вам счастье.
Понравился урок? Жми класс и делай репост к себе на страницы.
Я сторонник свободы доступа к информации. Да, мне несомненно будет неприятно найти свои личные данные где-то в общем доступе — и это одна из граней свободной информации, но вот что бы кто-то решал — могу ли я свободно прочесть что-то вроде «Сопри эту книгу» Эбби Хоффмана (запрещена в Канаде и США), «Моя борьба» Гитлера (тираж контролируется, да и вообще книга крайне редко встречается в свободном доступе), не говоря уже о крайне опасной для подростков «Над пропастью во ржи» Джея Ди Сэлинджера, которую то запрещают, то цензурят, то опять запрещают… Подобная мысль мне просто противна. Равно как и мысль о том, что по велению какого-то надзорного комитета вдруг могут стать недоступными какие-то сайты в Сети.
Вообще вся ситуация с разграничением доступа к сайтам в Интернете, который последние годы преподносится как чудесная мега-кладезь знаний всего человечества (а человечество — оно ведь не только слишком положительное, или слишком отрицательное) все чаще наталкивает на воспоминания о следующих строках: «Да, я преступник. Моё преступление — любопытство. Моё преступление в том, что я сужу людей не по тому, как они выглядят, а по тому, что они говорят и думают. Моё преступление в том, что я намного умнее вас. Это то, что вы мне никогда не простите«. Если интересно — полный текст этого знаменитого «Манифеста хакера» вы найдете по этой ссылке
😉
Так вот … мы не будем разбираться с причинами блокировки. Мы просто попробуем понять, как обойти ее. На самом-то деле все просто, и есть несколько крайне простых методик, благодаря которым можно обломать любой Роскомнадзор. Проверенно Великой Китайской Стеной, да 😉
Сегодняшний вечер мы посвятим ознакомлению с TOR, немного о котором я писал ранее.
Рассмотрим основные вопросы использования TOR-браузера:
1. Как это работает?
С теоретической точки зрения все просто: каждый пакет, отправляемый через TOR-сеть шифруется тремя ключами, после чего отправляется на первый прокси-сервер, выбираемый случайным образом. После захода на первый прокси — снимается первый ключ шифрования, после чего сервер узнает — куда далее отправить пакет. Второй прокси-сервер, получивший пакет, снимает второй слой шифра, после чего узнает адрес третьего прокси-сервера, который в свою очередь после получения многострадального пакета снимает третий слой шифрования, и отправлять на целевой адрес запрос в чистом виде. Обратный трафик идет по аналогичной методике.
Неплохой иллюстрацией всего этого процесса будет следующая картинка:
2. Метод работы
Если не вдаваться углубленно — заходите на ссылку и качайте инсталятор клиента TOR-сети. Запустив инсталятор мы видим меню выбора языка:
выбираем необходимый нам язык и кликаем Ok, после чего получаем возможность выбрать папку для установки клиента. Выбрав нужный вам каталог — запускайте процесс инсталяции (скорость установки зависит от конфигурации системы).
После завершения установки клиента — запускаем его и попадаем в меню начальной настройки клиента:
Интересной особенностью TOR — клиента является возможность настройки его работы на компьютерах, чей трафик жестко контролируется либо вредными админами, либо организациями, предпочитающими решать что-то за кого-то. Эта возможность будет доступна вам по клику на пункт «Настроить» после текста «Интернет-соединение этого компьютера цензурируется или находится за прокси…». Однако (в моей практике) — подобная настройка понадобилась только в Китае — на компьютере, работающим за «Великой китайской стеной». Потому в стандартной ситуации вам хватит обычной работы TOR-клиента, начало которой становится возможным после нажатия кнопки «Соединиться».
Сразу после запуска клиента у вас имеется возможность настроить параметры конфиденциальности: возможность сохранения куков, и прочее (рекомендую оставить данные настройки без изменений). Это не даст вам 100% гарантии анонимности и отсутствия возможности получения данных о ваших перемещениях в Сети при доступе непосредственно к вашему компьютеру (специально для этого есть иные методы, которые будут рассмотрены чуть позже 😉 ), но все же обеспечит определенный комфорт и безопасность.
Что же … Поздравляю 🙂 Ваш клиент готов к работе. Проверить его работоспособность достаточно просто — зайдем на сайт http://myip.ru, позволяющий отследить ваш текущий IP-адрес. В моем случае он показывает следующее:
Если вам интересно увидеть всю цепочку транзитных серверов, через которые идет ваш трафик — кликните на картинку луковицы в левом верхнем углу — так вы сможете не только посмотреть цепочку, но и активировать новую личность (перегрузить цепочку серверов для получения нового IP-адреса, обнулить весь кеш браузера, очистить полученные куки и прочее), или же просто перегрузить цепочку серверов. В моем случае цепочка получается следующей:
— мой компьютер, Франция, Нидерланды, Нидерланды, целевой сайт
А вот какая цепочка и IP — будет после получения «Новой личности»:
— мой компьютер, Франция, Франция, Нидерланды, целевой сайт
Как видите — все просто. Повторюсь — наиболее простые способы сокрытия своего местоположения мы рассмотрим позднее, сейчас же мы просто рассматриваем методы получения доступа к заблокированным по тем или иным причинам сайтам (например — видео или материалы сайта не доступны для демонстрации в какой-либо стране).
Спасибо за внимание 🙂
Понравилась статья? Сделайте репост на свою страницу 🙂
Особенностью сегодняшнего урока будет тот факт, что оператор foreach применяется только с массивами и объектами — собственно говоря для переборки массивов этот оператор и используется.
Другой особенностью данного оператора является необходимость использования временной переменной для значения, которое получается с помощью этого оператора из массива. Звучит несколько запутанно, но мы сейчас с вами попробуем во всем этом разобраться 😉
Итак, для начала рассмотрим код, предлагаемый Codecademy:
Задание, идущее к этому уроку, требует закончить код до правильной его работы, используя образец следующего вида:
<?php$numbers = array(1, 2, 3);
foreach($numbersas$item) {
echo$item;
}
?>
За все время изучения PHP мы с вами немного запомнили основные команды и операторы, потому рассматривать код в данном случае особо не будем - и так понятно, что у нас имеется массив, состоящий из слов: "I'm ", "learning ", "PHP!". Перейдем лучше к foreach: его использование начинается с объявления PHP суровой необходимости работы с массивами: foreach ($sentence as $word), что в переводе на простой человеческий может звучать как: начинаем перебирать массив, и каждое значение из массива объявляем временной переменной. После чего мы просто выводим полученное значение: echo $word;
Код, представленный Codecademy, в окончательной форме будет иметь следующий вид:
<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
$sentence = array("I'm ", "learning ", "PHP!");
foreach ($sentence as $word) {
echo $word;
}
?>
</p>
</body>
</html>
Для большего развлечения я предлагаю создать код, который сгенерирует ряд случайных чисел, сформирует их них массив, который мы выведем на экран отдельными позициями. Надеюсь, что идея сработает - ведь я тоже только начинаю изучение PHP :)
Начнем с генерации случайных числе - напомню, что эта операция происходит с помощью команды $a = mt_rand (1,5);, где (1;5) - верхние и нижние ограничения генерируемого числа.
Итак, ниже представлен код, который работает по следующей схеме:
1. Генерируем переменную $a
2. Генерируем переменную $b
3. Формируем массив, который состоит из переменных $a и $b, а так же их суммы
4. С помощью оператора foreach выводим на экран значения ячеек
5. Радуемся
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>
<?php
$a = mt_rand (1,10); //генерируем значение переменной а
$b = mt_rand (11,15); // генерируем значение переменной в
$test = array($a, $b, $a+$b); // создаем и заполняем массив
foreach ($test as $number) { // перебираем массив, и выводим его значения
echo $number."<br>"; //выводим значения поочередно, каждое - на новой строке (за это отвечает br)
}
?>
</p>
</body>
</html>
Сегодняшний урок в Codecademy нацелен на самостоятельное задание: вывести на экран каждое десятое число в промежутке от 1 до 100.
Для начала имеется следующий код:
<html>
<head>
<title>Solo For Loop!</title>
</head>
<body>
<p>
<?php
// Write your for loop below!
?>
</p>
</body>
</html>
Как видим — основного — цикла, который и отвечает за генерацию чисел и их вывод — нет. Вспомним, каким образом устроен loop: начальное значение переменной, до каких пределов может меняться, и каким образом происходит изменение. После указания этих трех параметров не забудьте указать действие, которое нужно выполнить.
for ($i = 0; $i < 101; $i = $i + 10) {
echo $i."<br>";
}
Как видно из кода выше — мы создали переменную $i, задали ее начальное значение — нуль, после чего сказали, что она может меняться только до значения 101, а меняться по схеме: начальное значение $i + 10. Таким образом мы отметили, что нас интересует каждое десятое число в промежутке от 0 до 100. И собственно — каждое это число нужно вывести: echo $i.» «;
Отдельно отмечу, что br служит для вывода значения $i на отдельной строке, что значительно улучшает внешний вид.