PHP [PHP] Основы. Часть 2

Статус
В этой теме нельзя размещать новые ответы.

Pr0C

Известный
Автор темы
40
11
Основы PHP: Часть 2
В предыдущей части мы разобрали синтаксис языка, переменные, массивы, циклы, условия и самые основные функции. Теперь разберем создание пользовательских функций, cуперглобальные переменные для хранения данных, классы и объекты. Начнем с пользовательских функций. Создаются они очень легко.
PHP:
<?php
function myFunction()
{
//код функции
}
?>
Как вы видите, для создания функции, необходимо написать слово function иимя функции. Требования к имени функции:



  • Имя функции должно обязательно начинаться и заканчиваться маленькой буквой
  • Имя функции не должно содержать никаких знаков
Так же, после названия функции в скобках можно указать переменные, для передачи данных в функцию. Ну и потом уже пишется код для функции, что она должна делать. Знаю, пока мало что понятно, по-этому сейчас для примера напишем маленькую функцию, для определения суммы.
PHP:
<?php
function sum($value1, $value2)
{
    $sum = $value1+$value2;
    return $sum;
}
?>
Вот такая простенькая функция, вернет нам сумму. Думаю с пользовательскими функциями все понятно, если же нет, спрашивайте, всегда рад помочь. Идем дальше.

А дальше у нас идут суперглобальные переменные для хранения данных. К ним относятся $_SESSION, $_COOKIE, $_POST, $_GET
Начнем с $_SESSION. $_SESSION обычно используется в различных сайтах и порталах, для хранения данных о пользователе некоторое время, для проверки на авторизованность. Приведу вам как пример, отрывок из скрипта авторизации.
PHP:
<?php
session_start();//стартуем сессии (для работы с сессиями, должно быть в скрипте, желательно ставить в начале скрипта)
if($autoriz == true)//если авторизация прошла успешно
{
    $_SESSION['autoriz'] = 1;//записываем к сессии, в переменную autoriz значение 1
    $_SESSION['login'] = $login;//записываем к сессии, в переменную login логин пользователя
}
?>
Как видите, получить данные из сессии и записать данные в сессию очень легко. Обязательно в скрипте должна присутствовать строка: session_start() И желательно в начале скрипта. Если нужно получить данные из сессии, пишем $_SESSION[ключ] если записать, то просто приравниваем $_SESSION[ключ] значение.
PHP:
<?php
$_SESSION['test'] = 'Привет';//присваиваем значение
echo $_SESSION['test'];//выводим данные из сессии (выведет "Привет")
?>

Очищать сессию так же, очень просто:
PHP:
<?php
session_destroy();
?>

Теперь разберем классы. Классы используются для облегчения работы с функциями и совмещения их в группы. Например, в классе Database, можно хранить функции для работы с MySQL. В классе Captcha, функции для работы с каптчей. Сейчас разберем как создавать свои классы и работать с ними.
Создается класс очень легко. Давайте создадим класс для работы с MySQL. Называться он будет MySQL.
PHP:
<?php
class MySQL {
 
}
?>
Вот мы и создали класс. Но сейчас от него толку 0. Давайте добавим в него функцию для отправки mysql запроса.
PHP:
<?php
class MySQL {
    function query($query)
    {
        if($query != "")
        {
            $send = mysql_query($query);
            if(!$send)
            {
                echo "[MySQL Error] Ошибка отправки запроса";
            }
            else
            {
                return true;
            }
        }
    }
}
?>
Теперь для использования этой функции нужно написать в скрипте следующее:
PHP:
<?php
$DB = new MySQL;
?>
И потом использовать нашу функцию можно так:
PHP:
<?php
$DB->query("SELECT * FROM `users` WHERE `id` = 5");
?>
Так можно сократить код, ведь не придется по несколько раз писать проверку, удачно ли прошла отправка запроса.

На этом у меня все, если есть какие ошибки - пишите, исправим (просто давненько не писал на PHP, сейчас С++ изучаю).
 

Pr0C

Известный
Автор темы
40
11
Жду ваших предложений по поводу следующего урока. Напишу урок по PHP на любую интересную тему.
 

im0rg

Известный
Друг
587
213
Можно, но смысл? В интернете есть готовые, в которых уже продумана система безопасности.

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