308PHP шаг за шагом,глава-2

увлечения и хобби Богданова Игоря, для всех самоделкиных

Поиск
 
 

Результаты :
 

 


Rechercher Расширенный поиск

Талисман 2018 года
100 GB Free Backup=/=
гороскоп
⁂⁂⁂⁂⁂⁂⁂Авторадио,⁂ Дорожное Радио,⁂ Радио "DISCO хиты XX века",⁂ Радио "Русский хит",⁂ Радио "Ретро хит",⁂ Радио "Добрый мотив",⁂ "Радио сказка",⁂ Радио "Детский хит"⁂⁂⁂ ⁂⁂⁂⁂
⁂⁂⁂
⁂Погода
Погода в Рощино

влажность:

давление:

ветер:

⁂⁂
Прогнозы и Гороскопы

прогноз-2018-КД---коричневая-собакаПриходящий 2018 год в китайском календаре показан двумя знаками - "Земля Ян" и "Собака". На основании понимания их характера можно делать выводы о том что нас всех ожидает.

Вы можете ознакомиться с переводом прогноза известного мастера фэн-шуй Реймонда Ло на 2018 год. Он делает свои прогнозы ежегодно, размышляя о мировых изменениях и будущих перспективах.

Посмотрим же, что означает элементы "Земля Ян" и "Собака", что принесут эти знаки в 2018 году.

Фэн-шуй летящие звезды 2018 года

Летящие Звезды 2018 года -

в фэн-шуй это различные виды энергий,

которые "прилетят" в определенные направления,

и заполнят собой жилое пространство.

Обладая различными характерами, они могут принести как удачу, так и неудачу.

Поэтому фэн-шуй прогноз летящих звезд на 2018 год

- больше чем просто прогноз.

Он не только ставит перед фактом что может произойти,

а имеет обратную связь.

Таким образом, выбирая хорошие места,

и избегая негативных, можно тем самым создать для себя

на 2018 год как можно более лучший прогноз!

aflikcy-2018Неблагоприятные энергии фен-шуй, так называемые "аффликции" - Князь Года, Разрушитель Года, Три Ша каждый год своим присутствием "поражают" разные сектора в доме. Если все эти сектора по незнанию потревожить, то могут появиться серьёзные проблемы.

Где в 2018 будут находиться пораженные участки в доме, что с ними делать, как защититься?

Подробнее...


=+=
Социальные закладки
Социальные закладки digg  Социальные закладки delicious  Социальные закладки reddit  Социальные закладки stumbleupon  Социальные закладки slashdot  Социальные закладки yahoo  Социальные закладки google  Социальные закладки blogmarks  Социальные закладки live      

Поместите адрес форума Песочница Увлечённых Самоделкиных в редакции Гарика на вашем сайте социальных закладок (social bookmarking)

Андрей Щедрин рулит...index.php (336×448)Ремонт ГБЦ на Дельте=и Леночка
Посмотреть на Яндекс.Фотках
Посмотреть на Яндекс.Фотках
Фото131.jpg 110kv Фото129.jpg
моя фея

и ДЖИН

фортуна

Вы не подключены. Войдите или зарегистрируйтесь

PHP шаг за шагом,глава-2

Перейти вниз  Сообщение [Страница 1 из 1]

1 PHP шаг за шагом,глава-2 в Вт Окт 29 2013, 00:02

Gor

avatar
Admin
HTTP Cookies
В PHP реалиован также простой способ работы с куками. С помощью функции SetCookie() можно их устанавливать, получать значения, как и в случае с формами - по имени переменной. В случае, если вы ожидаете получить несколько значений от куки имеет резон использовать в качестве имени переменной - массив. Как в следующем примере:

SetCookie ("MyCookie[]", "Testing", time()+3600);


Существует только одно небольшое ограничение. Так как куки - это часть HTTP заголовка их следует посылать самыми первыми. То есть грубо говоря, ваш скрипт должен начинаться с установки куки, а потом уже заниматься выводом html кода. Еще один пример, уже полноценного счетчика:

$Count++;

SetCookie ("Count", $Count, time()+3600);

SetCookie ("Cart[$Count]", $item, time()+3600);


      

Переменные окружения
И тут все так же просто. Хотите узнать домашний каталог? В юникс-системах это обычно переменная окружения с именем HOME. Так узнавайте:

echo $HOME;


Вы также можете работать с переменными окружения через функции getenv() и putenv()

КОНСТАНТЫ
Вы можете использовать не только переменные, но и константы с помощью функции define(). Взгляните на следующий пример:

define("CONSTANT", "Hello world.");

echo CONSTANT;


обратите внимание на то, что перед именем константы не пишется символ переменной $ и это правильно.
Список предопределенных констант:



  • __FILE__ - Имя файла выполняемого скрипта.

  • __LINE__ - Количество линий, интерптетированных на данный момент в этом скрипте.

  • PHP_VERSION - Тут хранится версия PHP. Например: \'3.0.8-dev\'.

  • PHP_OS - Имя операционной системы, на которой выполняется PHP-скрипт.

  • TRUE - Истина.

  • FALSE - Ложь.

  • E_ERROR - Описывает случившуюся ошибку, после которой продолжение работы невозможно.

  • E_WARNING - Описывает ошибку, после которой продолжается выполнение скрипта.

  • E_PARSE - Описывает синтаксическую ошибку, при разборе интерпретатором текста скрипта.

  • E_NOTICE - Просто какое-то сообщение от интерпретатора. Возможно ошибка, а возможно и нет.

Вот и все о константах и переменных. Со следующего шага займемся операторами и выражениями.


Программируемый калькулятор.
Сегодня рассмотрим все возможные операции на всеми возможными типами переменных и их значениями.

АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ
Арифметических операций в PHP всего пять, вот они:

$a + $b

$a - $b

$a * $b

$a / $b

$a % $b


Я думаю здесь все ясно. Ну, может только поясню последнюю операцию, результатом ее выполнения будет остаток от деления $a на $b.

СТРОКОВЫЕ ОПЕРАЦИИ
Ха! А здесь и того меньше! Чисто строковой операцией считается операция сложения двух строк. Причем выглядит она довольно необычно, но практично:

$c = $a  .  $b;


То есть символом этой операции является точка. А результатом ее выполнения будет обыкновенная строка, состоящая из $a и $b.

ОПЕРАЦИЯ ПРИСВАИВАНИЯ
Ну, тут вообще ничего сложного, она всегда одна, это знак \'=\' и естественно этот знак означает, что переменной слева от него будет присвоено значение, полученное в результате выполнения каких либо операций или переменной/константы с правой стороны. Причем тут возможны некоторые С++-ные варианты, как-то:

$a = ($b = 4) + 5; // $a будет равна 9, а $b 4.

$a += 5; // аналогично  $a = $a + 5;

$b = "Привет ";

$b .= "всем!"; // аналогично $b="Привет всем!"



ДВОИЧНЫЕ ОПЕРАЦИИ
Аа... и тут вообщем-то ничего нового:



  • $a & $b - Побитовое И (AND)

  • $a | $b - Побитовое ИЛИ (OR)

  • ~ $a - Исключающее ИЛИ (XOR)

  • $a << $b - Сдвиг влево на $b битов

  • $a >> $b - Сдвиг вправо на $b битов


ЛОГИЧЕСКИЕ ОПЕРАЦИИ
Все тоже...



  • $a and $b - И (AND)

  • $a && $b - Тоже самое, что и предыдущее

  • $a or $b - Или (OR)

  • $a || $b - Тоже, что и предыдущее

  • $a xor $b - Исключающее ИЛИ(XOR)

  • ! $a - Инверсия (NOT)


ОПЕРАЦИИ СРАВНЕНИЯ
Здесь будет что-нибудь новое или нет? Даже комментировать эти операции не буду...





  • $a == $b


  • $a != $b


  • $a < $b


  • $a > $b


  • $a <= $b


  • $a >= $b

В PHP существует также, как и в C++, тринарный оператор \'?:\'. Кто незнает - объясню на примере:

$res = (expr1) ? (expr2) : (expr3);


Результатом этой операции будет значение (expr2), в том случае, если expr1==1 и значение expr3 в противном случае. Где все эти expr1, expr2, expr3 - являются переменными/константами или математиескими выражениями. Такая запись по сути своей аналогична следующей:

if (expr1) $res=(expr2); else $res=(expr3);


но естественно более короткая.
А собственно об этом и все. Мы рассмотрели все операции, присутствующие в PHP. Следующим шагом рассмотрим управляющие структуры (или их еще можно назвать командами).


Поуправляем?
Мне кажется не стоит попусту лить воду и описывать тут и так всем известные из других языков программирования структуры управления. Вместо этого я приведу их полный список и все методы их использования.

Оператор IF
Структура:

if (выражение)

блок_выполнения

Пример использования:

if ($a > $b)

   print "a больше, чем b";

if ($a > $b){

   print "a больше, чем b";

   $b = $a;

}



Оператор ELSE
Пример использования:

if ($a > $b) {

   print "a больше, чем  b";

} else {

   print "a не больше, чем b";

}



Оператор ELSEIF
Интересный оператор. Он применяется в случае, когда вам необходимо использовать IF сразу после ELSE. Пример использования:

if ($a > $b) {

   print "a is bigger than b";

} elseif ($a == $b) {

   print "a is equal to b";

} else {

   print "a is smaller than b";

}



Оператор if(): ... endif;
Тоже довольно необычная структура. Смысл ее в том, что если условие, записанное в круглых скобах оператора IF оказалось истинным, то будет выполняться весь код, начиная от двоеточия \':\' до команды ENDIF;
Пример использования:



A = 5




Или вот еще с использованием вышеописанного оператора ELSEIF

  if ($a == 5):

     print "a equals 5";

     print "...";

elseif ($a == 6):

     print "a equals 6";

     print "!!!";

else:

     print "a is neither 5 nor 6";

endif;



Оператор WHILE
      
Структура:

while (выражение): блок_выполнения ... endwhile;
И примерчик:

$i = 1;

while ($i <= 10) {

    print $i++;  

}


Оператор DO...WHILE
Вообщем-то ничего необычного - цикл, как цикл. Выполняется блок выполнения до тех пор, пока справедливо выражение. Структура:

do блок_выполнения while (выражение);



Оператор FOR
Точно такой-же цикл как и в C++. Структура:

for (выражение1; выражение2; выражение3)

   блок_выполнения

Хотя - нет. Есть в PHP еще одно дополнение. Структура:

for (выражение1; выражение2; выражение3):

   блок_выполнения; ...; endfor;

Обратите внимание, на двоеточие перед блоком выполнения.

Оператор break
Старо как мир. Этот оператор позволяет выскакивать из любого цикла (for, while, do...while) до окончания его выполнения. Пример:

$i = 0;

while ($i < 10) {

    if ($arr[$i] == "stop") {

        break;

    }

    $i++;

}

<

Оператор continue
Тоже ничего нового. Этот оператор позволяет пропустить дальнейшее действия блока_выполнения любого цикла и продолжить выполнение с нового круга. Пример:

while (выражение) {

  if (выражение2)

      continue;

  действие;

};

Такая програма аналогична следующей, без использования continue:

while (выражение) {

  if (!выражение2)

  действие;

  };


Оператор switch
Часто очень необходимый оператор выбора. Хотя все его и так знают, попробую представить ясный пример. Допустим у вас есть следующий участок в программе:

if ($i == 0) {

     print "i равно 0";

} else

if ($i == 1) {

     print "i равно 1";

} else

if ($i == 2) {

     print "i равно 2";

} else

     print "ни одно условие не прошло"


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

switch ($i) {

     case 0:

         print "i равно 0";

         break;

     case 1:

         print "i равно 1";

         break;

     case 2:

         print "i равно 2";

         break;

     default:

        print " ниодно условие не прошло"

}


В таком представлении есть и еще одно преимущество. Если вы не поставите оператор break, например, перед case 1:, то в случае, когда $I будет равен нулю после вывода на экран сообщения об этом программа пойдет дальше и выведет также сообщение о том, что $I равна еще и 
Код:
1
[color][font]
 и только после, встретив 
[/font][/color]
Код:
break;
[color][font]
продолжит свое выполнение за пределами switch[/font][/color]

Оператор require
Этот оператор действует примерно так-же как и #include в C++. Файл, указанный в кавычках включается в скрипт и выполняется, но только однажды. В файле, включаемом оператором require резонно хранить какие-то данные, необходимые для многих скриптов и соответственно влкючать его в эти "многие" скрипты. Структура его такая:

require \'header.inc\';



Оператор include
Структура:

include \'func.inc\';
Этот оператор позволяет включать код, содержащийся в указанном файле (func.inc в нашем случае) и выполнять его столько раз, сколько программа встречает этот оператор. То есть. Например, в файле func.inc у нас хранится программа вывода на экран определенных параметров. Ну и каждый раз, когда нам нужно будет выводить эти параметры мы будем вставлять в текст нашей основной программы include \'func.inc\', то есть это в принципе тоже самое, как если-бы мы везде в таких случаях вставляли бы текст, содержащийся в файле func.inc
Обратите внимание. Разница между include и require довольно существенная, поэтому поэксперементируйте с ними сами, если вы ее так и не усмотрели.
Ну вот и все. Надеюсь это пригодилось.


И снова PHP - продолжим, или галопом по Европам!
Итак, описание основных конструкций языка (за исключением классов - о них позже) сделано! Теперь следует попрактиковаться на реальном проекте. Но прежде все же надлежит уделить внимание некоторой рутине - хотя бы бегло рассмотреть основной набор функций языка. Большая часть этих функций находится в подключаемых модулях, которые собираются во время линковки интерпретатора (под win32 наборы функций выполнены как dll-и). Исключения составляют некоторые особо популярные группы функций, встроенные в ядро интерпретатора (встраиваемость зависит от версии PHP). Например, в PHP версии 4 функции доступа к  MySQL встроены в интерпретатор.
Под рассмотрение (причем весьма беглое) подпадет некоторое подмножество функций. Я исключу из рассмотрения функции, специфичные для SQL-серверов (кроме, MySQL - именно его мы будем использовать в наших проектах, а работа с остальными SQL-серверами выполняется аналогичным образом), и некоторые другие из числа редкоиспользуемых (мною не используемых? Wink.
Кроме того, я еще раз подчеркну - обзор будет весьма беглым. Подробнее разбирательством с возможностями PHP мы займемся по ходу работы над проектами.
Однако, приступим.



  1. Функции, специфичные для Apache-сервера я пока опускаю, т.к. под win32 они не идут (если я правильно понял readme.txt из дистрибутива PHP, то и не должны идти - под win32 PHP живет в CGI-выполняемом режиме, а не как модуль apache). Под *nix-ом я пока проверить не имею возможности. Подождем до лучших времен.

  2. Функции работы с массивами. Эта группа одна из самых многочисленных (если не самая многочисленная). Причем под PHP версии 4 она раза в два больше, чем под 3-й версией. Базовыми для обеих версий можно считать функцию конструирования массива array(), функции сортировки (штук 9), функции навигации по массиву (перемещение внутреннего указателя - подробности в следующих шагах), информационные функции (количество элементов массива и некоторые другие), выборка данных. Как я уже сказал, в 4-й версии добавлена большая группа функций array_xxxxx(), где xxxxx - предназначение. Например, array_push() добавляет элемент в конец массива. Эта группа отвечает за сравнения массивов, множественные операции (объединение, пересечение, разность и пр.), добавление/удаление элемент и некоторые другие операции.

  3. 4 функции работы со словарем.

  4. Математические функции над числами произвольной точности.

  5. Функции работы с календарями.

  6. Поддержка COM-объектов на win32-платформе.

  7. В 4-й версии добавлены функции получения информации о классах в PHP

В следующем шаге мы продолжим беглый обзор функций PHP. А сейчас в качестве постскриптума
хотелось бы сказать вот о чем:
В фидошной конференции по PHP на днях пробегала такая ссылка: http://it.sinor.ru/?isnum=4. Автор в этой статье описывает метод установки PHP как модульApache под win32. К сожалению мой апач обиделся до глубины души от предложения загрузить в качестве модуля php4apache.dll. А жаль. Прийдется ставить линукс. В прочем, может, у меня просто руки ни к тому месту прикручены? Wink
Далее. Опять же на днях (вот везет!) попался мне один чудный сайт "Опыты" (http://exper.ural.ru). С огромным удовольствием прочитав его содержимое, я наткнулся на статью "Использование транслятора XML в PHP.", которая  сильно повлияла на мои планы по дальнейшим шагам. Дело в том, что, используя функции
XML-парсинга можно разрабатывать сайт на XML, а на выходе получить обычный HTML-файл. Что это дает? Самодокументируемый код, возможность генерить браузерозависимый код на сервере (а не тащить кучу кода на клиентскую машину и делать JavaScript-овые проверки версии браузера - на этом сайте, кстати, много материала посвящено различиям в интерпретации HTML- и JavaScript-кода браузерами IE и NN) и другие приятности. Мы в дальнейшем еще вернемся к теме XML.
Еще одна новость - издательство "Символ" решило учинить и на нашей улице праздник! (Не ищите на их сайте информацию об этих новинках - ее там нет! Я ничего не понимаю в их маркетинге.) На днях (опять же!) к нам пришла по почте книга, к которой прилагался рекламный буклет с планами издательства "Символ". Вот что я там узрел из их планов на конец этого - начало будущего года. Во-первых, Хариш Рават и др. Профессиональное программирование на PHP (!). 1100 страниц (!!). Я плакал ! Wink
От O\'Reilly: Стивен Спейнауэр. Справочник вебмастера. 2-е издание. Брэт МакЛафлин и др. Java и XML.
Ну наконец-то! Вот ОНА: Ларри УОЛЛ. Программирование на Perl. 3-е издание. 1200 страниц (!!!)
Да-да. Та самая кэмэлбука! Далее. Аллигатор (классное имя Wink Декарт (и фамилия Wink и др. Программирование на Perl DBI. Дэвид Бланк-Эдельман и др. Perl для системного администрирования. Скотт Гуэлич. CGI-программирование на Perl.
Фух. Рука бойцов колоть устала.


Заканчиваем обзор.

http://igorb962007.ya.ru/

Вернуться к началу  Сообщение [Страница 1 из 1]

Похожие темы

-

» Глава 1. Мона Лиза.

Права доступа к этому форуму:
Вы не можете отвечать на сообщения