Гостевая
Форум
Разделы
Главная страница
Js скрипты
Php скрипты
Html шаблоны
Книги по Web дизайну
Статьи


Главная страница статей --> Хитрости при программировании php, заметки по базам данных

Как писать классы в PHP

Источник: realcoding.net

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

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

Пример простого PHP класса, показывающего, как устроены php-класса и как с ними работать:

<?php
Class Sample // Объявляем новый класс с именем Sample
{
    var
$Title;     // объявляем внутреннюю переменную класса
   
var $Content;   // еще одна переменная

/* эти функции будут работать только внутри класса Sample */
/* или внутри классов-наследников данного класса */
function setTitle($title) // устанавливает значение в переменную $Title
{
/* Обратите внимание, что бы обратиться к переменной, */
/* нужно сначало написать $this-> а потом только имя переменной */
   
$this->Title = $title;
}

function
setContent($content) // устанавливает значение переменной $Content
{
   
$this->Content = $content;
}

/* для обращения к функциям внутри класса используется тот же */
/* подход, что и для переменных, т.е. $this->имя_функции(параметры) */
function setAll($title, $content) // Устанавливает переменные $Title и $Content
{
   
// с помощью функций данного класса
   
$this->setTitle($title);
   
$this->setContent($content);
   
// или через переменные
    //$this->Title = $title;
    //$this->Content = $content;
}
}

$newClass = new Sample(); // Создаем экземпляр класса Sample
$newClass->Title = Заголовок; // Изменение переменной класса Sample
$newClass->setAll(Заголовок, Содержание); // Обращение к функциям класса Sample
echo $newClass->Content; // Вывод в браузер переменной Content, находящейся в классе Sample
?>

В программировании классов на PHP5 появилось много нового, к примеру, теперь можно "защищать" функции и переменные, просто добавив перед ними "protected", "private" или "public".

protected – Защищает переменную или функцию от изменения вне класса или его наследников. Т.е. ее можно изменять только внутри класса и его наследников.

private – дает доступ к элементу класса исключительно внутри того класса, в котором этот элемент объявлен. , Это очень полезно, если используется закрытый код (Zen Optimizer или что-то подобное), например, для проверки кода активации условно-бесплатного php-скрипта.

public – разрешает доступ к переменной или функции любыми известными методами и способами.

Если вы хотите узнать больше о новых возможностях объектно-ориентированного программирования в PHP? читайте статью о новых возможностях PHP5, раздел про классы и их особенности в php5.



Похожие статьи:
- Как зашифровать HTML-код веб-страницы
- Собственная статистика поисковых слов (Яндекс, Рамблер, Google,...) на PHP
- Класс для создания меню навигации на сайте
- Drag & Drop на AJAX
- Интернет-раскрутка: с чего начинать?
- Защита сайта от спамеров с использованием PHP. Практическое применение кода подтверждения с картинки
- PHP5 - Новые возможности PHP5-Zend Engine 2_0
- Введение в PHP5
- Создание гостевой книги
- Постраничный вывод из MySQL
- Защита сайта с помощью .htaccess и .htpasswd
- Риски при поисковой оптимизации интернет-сайта
- Как стать неудачником, или Десятка самых надежных способов гарантировать провал своей маркетинговой


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |
[0.001]