Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IntTeh_kt1.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
58.74 Кб
Скачать

7. Объектно-ориентированные возможности php.

Создание классов

Класс объявляется при помощи ключевого слова class. В теле класса объявляются переменные и функции класса – его методы и члены.

Синтаксис объявления класса

<?php

class имя класса

{

// члены и методы класса

}

?>

Объявление объектов

Объект объявляется при помощи ключевого слова new, за которым следует имя класса.

Пример объявления объекта.

<?php

class prim { }

$obj = new prim;

?>

После имени класса могут следовать необязательные круглые скобки.

Присвоение объекту числового значения

Пример.

<?php

class prim { }

$obj = new prim;

$obj = 3;

echo $obj;

unset($obj);

?>

Объект существует до конца времени выполнения скрипта или пока не будет уничтожен явно при помощи функции unset().

Инкапсуляция. Спецификаторы доступа

Используя спецификаторы доступа, РНР позволяет указать, какие члены и методы доступны извне, а какие нет. Для этого используются спецификаторы доступа public, private, protected.

Пример. Объявим класс student.

<?php

class student

{

public $name;

public $surname;

public $age;

private $address;

}

?>

Разместим этот класс в файле class.student.php

Обратимся к элементам класса.

<?php

// Подключаем объявление класса

require_once(“class.student.php”);

$stud = new student();

$stud->name = "Кирилл";

$stud->surname = ”Приходько";

$stud->age =19;

$stud->address= "ул. Сумская, 30"; // ошибка

echo $stud->name;

?>

8. Работа с файлами и каталогами в php.

Проверка существования файла

Для того, чтобы проверить, существует ли файл, применяется функция file_exists().

if( file_exists("test.txt"));

print "test.txt найден";

Файл или каталог?

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

if( is_file("test.txt"))

print "test.txt - это файл";

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

if( is_dir("/tmp"))

print "/tmp - это каталог";

Проверка статуса файла

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

if(is_readable("test.txt")) print ("test.txt можно читать");

Определение размера файла

Функция filesize() определяет размер файла в байтах. Она возвращает значение false, если определить размер файла не удается.

print "Размер файла test.txt - ";

print filesize("test.txt");

Открытие файла для чтения, записи или добавления

Для открытия файла существует функция fopen(). Функции передаются два аргумента — строка с именем файла, а также строка, описывающая режим открытия файла

Открытие файла для чтения:

$fp = fopen("test.txt", 'r');

Функция fopen() возвращает false, если открыть файл не удалось. Перед началом работы с файлом следует проверить значение возвращенного функцией указателя:

if ($fp = fopen("test.txt", 'w'))

{

// работа с файлом

}

По окончании работы файл следует закрыть при помощи функции fclose():

fclose($fp);

Чтение из файла

Для чтения строки из файла существует функция fgets ()

Пример:

$line = fgets($fp, 1024);

Пример программы, читающей данные из файла

<body>

<?php

$filename = "test.txt";

$fp = fopen( $filename, "r" ) or die("Couldn't open $filename");

while ( ! feof ($fp) )

{

$line = fgets( $fp, 1024 );

print "$line<br>";

}

?>

</body> </html>

Создание и удаление файлов

Файл можно создать с помощью функции touch()

touch(“myfile.txt");

Существующий файл можно удалить с помощью функции unlink(). Эта функция тоже получает имя файла

unlink ("myfile.txt");

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

Запись в файл

fopen("test.txt", "w") // данные в файле уничтожаются

fopen("test.txt", "a") // добавление данных в конец файла

Запись в файл также возможна с помощью fwrite() или fputs()

fwrite() и fputs() записывают строку в файл

Пример.

<body>

<?php

{ filename = "test.txt";

print "Writing to $filename<br>";

$fp = fopen ( $filename, "w" ) or die("Couldn't open $filename");

fwrite( $fp, "Hello world\n" );

fclose( $fp );

print "Appending to $filename<br>";

$fp = fopenf $filename, "a" ) or die( "Couldn't open Sfilename");

fputs ( $fp, "And another thing\n" );

fclose( $fp );

?>

</body> </html>

Работа с каталогами

Создание каталога

mkdir("testdir", 0777);

Удаление каталога

rmdir(“testdir");

Открытие каталога для чтения

$fp = opendir("testdir");