ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP] Основы. Часть 2 (https://forum.antichat.xyz/showthread.php?t=1301245)

Pr0C 08.06.2013 18:29

Основы PHP: Часть 2
В предыдущей части мы разобрали синтаксис языка, переменные, массивы, циклы, условия и самые основные функции. Теперь разберем создание пользовательских функций, cуперглобальные переменные для хранения данных, классы и объекты. Начнем с пользовательских функций. Создаются они очень легко.

PHP:





Код:




Как вы видите, для создания функции, необходимо написать слово functionиимя функции. Требования к имени функции:
  • Имя функции должно обязательно начинаться и заканчиваться маленькой буквой
  • Имя функции не должно содержать никаких знаков
Так же, после названия функции в скобках можно указать переменные, для передачи данных в функцию. Ну и потом уже пишется код для функции, что она должна делать. Знаю, пока мало что понятно, по-этому сейчас для примера напишем маленькую функцию, для определения суммы.

PHP:





Код:




Вот такая простенькая функция, вернет нам сумму. Думаю с пользовательскими функциями все понятно, если же нет, спрашивайте, всегда рад помочь. Идем дальше.

А дальше у нас идут суперглобальные переменные для хранения данных. К ним относятся $_SESSION, $_COOKIE, $_POST, $_GET

Начнем с $_SESSION. $_SESSION обычно используется в различных сайтах и порталах, для хранения данных о пользователе некоторое время, для проверки на авторизованность. Приведу вам как пример, отрывок из скрипта авторизации.

PHP:





Код:




Как видите, получить данные из сессии и записать данные в сессию очень легко. Обязательно в скрипте должна присутствовать строка: session_start() И желательно в начале скрипта. Если нужно получить данные из сессии, пишем $_SESSION[ключ] если записать, то просто приравниваем $_SESSION[ключ] значение.

PHP:





Код:






Очищать сессию так же, очень просто:

PHP:





Код:






Теперь разберем классы. Классы используются для облегчения работы с функциями и совмещения их в группы. Например, в классе Database, можно хранить функции для работы с MySQL. В классе Captcha, функции для работы с каптчей. Сейчас разберем как создавать свои классы и работать с ними.

Создается класс очень легко. Давайте создадим класс для работы с MySQL. Называться он будетMySQL.

PHP:





Код:




Вот мы и создали класс. Но сейчас от него толку 0. Давайте добавим в него функцию для отправки mysql запроса.

PHP:





Код:




Теперь для использования этой функции нужно написать в скрипте следующее:

PHP:





Код:




И потом использовать нашу функцию можно так:

PHP:





Код:

query("SELECT * FROM `users` WHERE `id` = 5");
?>



Так можно сократить код, ведь не придется по несколько раз писать проверку, удачно ли прошла отправка запроса.

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

Pr0C 12.06.2013 18:19

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

im0rg 12.06.2013 18:23

Цитата:

Сообщение от Pr0C

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


Делай мануал по написанию GameCP

Pr0C 12.06.2013 18:24

Цитата:

Сообщение от Jesus

Делай мануал по написанию GameCP


Мм, можно поподробнее?

im0rg 12.06.2013 18:25

Цитата:

Сообщение от Pr0C

Мм, можно поподробнее?


Панель управления игровыми серверами

Pr0C 12.06.2013 18:27

Цитата:

Сообщение от Jesus

Панель управления игровыми серверами


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

im0rg 12.06.2013 18:29

Цитата:

Сообщение от Pr0C

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


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

Pr0C 12.06.2013 18:32

Цитата:

Сообщение от Jesus

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


Ну да, можно. Может напишу на днях.


Время: 21:40