|
|
|
| Я хочу попробовать узнать что такое ОПП, почитал всяки статьи, но на карандашах мало что понятно без практики. НАшёл маленький и очень простой приер, как говориться Hello World
<?php
class helloWorld {
function myPrint() {
print "Hello, world.";
}
}
$myHelloWorld = new helloWorld();
$myHelloWorld->myPrint();
?>
|
А можно что-нибудь по сложнее, не сильно сложнее, но чуток. Просто сложно найти хороший учебный пример, а из статей мало чего понимаю :( | |
|
|
|
|
|
|
|
для: Sonic
(04.08.2004 в 21:06)
| | Небольшая приамбула :)))
В PHP 5 очень здорово изменилась объектная модель. Появился деструктор, клонирование, интерфейсы... В общем, появилась более или менее целостная объектно-ориентированная модель. До этого в PHP в этом плане только слёзы были.
Документации в общем нет ни на русском, ни на ангийском (в халявном виде я имеею ввиду) - неплохо, как мне кажется, описано ООП в нашем учебнике, но его нужно покупать.
Постараюсь здесь привести небольшое эссе в кодах по первым 10 стр. главы, посвящённой ООП, и если вас тут что-то заинтересует – спрашивайте. Это только начало, так как глава занимает 44 стр. и привести я её здесь не могу :))), да и права не имею.
Вот класс посложнее приведённого выше
<?
// Начало класса
class PrimitiveClass
{
// Объявляем член класса
var $member = "Это член класса PrimitiveClass <br>";
// Объявляем метод класса
function method()
{
echo "Вызван метод класса PrimitiveClass <br>";
}
}
// Конец класса
// Объявляем объект класса PrimitiveClass
$object = new PrimitiveClass();
// Вызываем метод method()
$object->method();
// Обращаемся к члену $member
echo $object->member;
?>
|
// Методы класса могут вызываться и внутри членов классов
<?
class PrimitiveClass
{
// Объявляем член класса
var $member = "Это член класса PrimitiveClass <br>";
// Объявляем метод класса
function method()
{
echo "Вызван метод класса PrimitiveClass <br>";
}
function use_method()
{
echo "При помощи метода use_method() можно вызвать
метода method() <br>";
$this->method();
}
}
// Объявляем объект класса PrimitiveClass
$object = new PrimitiveClass();
// Вызываем метод use_method()
$object->use_method();
?>
|
Членам класса можно присваивать значения как обычным переменным программы
<?
class PrmitiveClass
{
var $member;
// Объявляем метод
function PrintMember()
{
echo "Член member = {$this->member}";
}
}
// Объявляем объект класса PrmitiveClass
$obj = new PrmitiveClass;
// Присваеваем члену member значение
$obj->member = 3;
// Обратимся к методу PrintMember() объекта $obj
$obj->PrintMember();
?>
|
Конструктор и деструктор
<?
class WorkWithFile
{
// Дескриптор файла
var $file;
// Буфер
var $buff;
// Конструктор
function __construct($filename)
{
// открытие файла
$this->file = fopen($filename,"r");
if(!$this->file)
{
echo("Ошибка открытия файла");
}
}
function read()
{
// чтение из файла
$this->buff = fread($this->file,100);
}
function print()
{
// вывод информации
print $this->buff;
}
function count() // подсчет количества строк в файле
{
if ($this->file)
{
$counter = 0;
while(!feof($this->file))
{
$str = fgets($this->file);
$this->counter++;
}
echo($counter);
}
else
{
echo("Ошибка открытия файла");
}
}
// Деструктор
function __destruct()
{
// закрытие файла
fclose($this->file);
}
}
$first = new WorkWithFile("c:/www/html/file.txt");
$second = new WorkWithFile("c:/www/html/file_new.txt");
$first->read();
$first->print();
$second->count;
$second->read();
$second->print();
?>
|
http://www.softtime.ru/php5/ | |
|
|
|
|
|
|
|
для: cheops
(04.08.2004 в 22:02)
| | Маловато, конечно, для введения в ООП :) | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(05.08.2004 в 02:14)
| | Я так интуитивно уже понимаю что такое, большшое спасибо делфи конечно :) А книжку куплю :) Вы хорошо описываете :) Буду искать | |
|
|
|
|
|
|
|
для: Sonic
(05.08.2004 в 03:17)
| | книжку купил и очень доволен. | |
|
|
|
|
|
|
|
для: cheops
(04.08.2004 в 22:02)
| | конструкция var {переменная} в php5 является устаревшей и вызывает "ошибку структуры" (забыл как точно), вместо этого ипользуются ключевые слова public, privat и protected | |
|
|
|