AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







Основы программирования

Ну а теперь посмотрим как, собственно, сочиняются и работают сами программы.

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  встать; 
  умыться; 
  пойти на работу; 
   
  если (ты начальник) 
  { 
    взять веник; 
    поехать в сауну; 
  } 
  (иначе) 
  { 
    упасть;  
    отжаться; 
  }


Примерно так же пишутся инструкции для сервера. Только находятся они в файлах, а не на бумажке. И пишутся на специальном, понятном серверу, языке. Сервер читает и выполняет их также как Вы - по порядку, читая сверху вниз, слева направо. Как книжку.

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

Можно объединить несколько инструкций и заставить сервер выполнить несколько разных действий, написав одну строчку. Это называется функция. Выглядеть будет примерно так:

1
2
3
4
5
6
7
  функция  положить_жирафа_в_холодильник ()  
  { 
    открыть холодильник; 
    положить жирафа; 
    закрыть холодильник; 
  }

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

1
2
3
  
положить_жирафа_в_холодильник();

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

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

1
2
3
4
5
6
7
8
9
10
11
12
  
  функция  положить_в_холодильник (животное
  {
 
    открыть холодильник;  
    положить  животное;  
    закрыть холодильник;  
  } 

  положить_в_холодильник(жираф);  
  положить_в_холодильник(бегемот); 
  положить_в_холодильник(колбаса);

Функция, это как бы отдельная программа, которая вызывается по мере надобности. Схематично это может выглядеть так:

Теперь у нас полный холодильник припасов.

Функция также может возвращать результат действий, как мясорубка. Возвращает результат командой RETURN
Допустим, нам нужен фарш. А у нас есть свинина и говядина. Вот и сделаем функцию-мясорубку.

1
2
3
4
5
6
7
8
9
10
11
<?php
 

    
function мясорубка($свинина$говядина
    { 
      
$фарш $свинина $говядина
      return 
$фарш
    } 

  echo 
мясорубка (12);

Вообще принято писать программы на английском языке, поэтому знание технического английского - очень важный момент. И хотя этот пример вполне работоспособен, выглядит довольно смешно. Не надо так делать. И еще один совет - никогда не используйте транслитерацию, то есть не заменяйте русские буквы латиницей. Это первый и самый яркий признак дилетантства. Не ленитесь пользоваться словарем, и сами не заметите, как быстро выучите все нужные слова.

То, что мы суём в мясорубку, это переменные, то есть записанные в оперативную память данные, со своим адресом. Подробнее про переменные чуть позже.

Языковая конструкция (это почти функция) echo отправляет все, что мы тут накрутили, в поток, то есть в браузер. И если нам нужно на глазок определить качество фарша (увидеть результат работы), тут она как раз кстати. Вот тут можно побаловаться, если не совсем понятно, как это работает.

Так как функция - это отдельная программа, у неё свои законы. И свои переменные. То есть она понятия не имеет, кого поймали на охоте, пока Вы ей не передадите трофей. Это называется "область видимости". Желтым цветом на картинке обозначена глобальная область видимости. То, что находится в ней, видно и в функции и в основной программе. Это так называемые переменные окружения. О них чуть позже.

А то, что находится в основной программе, в функции не видно. И наоборот, то, что в функции - не видно в программе. По этому аргументы (мясо) нужно передать в функцию, а результат (фарш) вернуть обратно.

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

Чтобы программировать было легко и непринужденно, разработчику приложений дан целый арсенал (около 4000) готовых, довольно сложных, встроенных функций и языковых конструкций, подробное описание которых есть в руководстве (в миру мануале). К примеру, если нам нужно получить текущую дату и время, можно написать так:

1
2
3
4
 <?php 

    
echo date('Y-m-d h:i:s');

Для логического ветвления программы используются конструкции if... elseif... else. Инструкция, с которой мы начали, на языке php будет выглядеть так:

1
2
3
4
5
6
7
8
9
10
11
12
    
    
if($you == 'Начальник'
    { 
      
$you .= 'Веник'
      
go_sauna($you); 
    } 
    else 
    { 
      
fall($you); 
      
work($you); 
    }

Манипулируя конструкциями if... else, переключателями, циклами и применяя встроенные или свои функции, можно писать поистине сногсшибательные программы. Как говориться - на php можно сделать всё, что угодно, кроме детей (и то под вопросом). Этому мы попробуем научиться в следующих разделах.

Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009