alexander.pro
Новичок
Учу ООП. Нужен совет.
Доброго времени...
У меня возникла необходимость в освоении ООП. Занимаюсь программирование на PHP - примерно год, тяжело переходить с процедурного кода на объектный. Эта моя первая, более-менее серьезная работа с ООП кодом. Если вам не трудно, прокомментируйте правильность.
Файл index.php - создание объекта.
Содержание db.dat - "0-0-3-0-127.0.0.5"
Доброго времени...
У меня возникла необходимость в освоении ООП. Занимаюсь программирование на PHP - примерно год, тяжело переходить с процедурного кода на объектный. Эта моя первая, более-менее серьезная работа с ООП кодом. Если вам не трудно, прокомментируйте правильность.
PHP:
<?PHP
class Voting{
private $filename; // Объявляю свойства класса (filename - имя файла answer - это вариант ответа)
private $answer;
private $vote = Array();
public function GetAnswer($filename, $answer){
$this->filename = $filename; // Присваиваем параметры функции свойствам класса
$this->answer = $answer;
$file = fopen($this->filename,'r'); // Открываю файл для получения статистики ответов
$data = fread($file, filesize($this->filename)); // Читаю каждую строку файла (по правде говоря она там одна)
$this->vote = explode('-',$data);// Разделяю строку ответов в массив
fclose($file); // Закрываю файл
}
public function CheckIP($ip){ // Функция для определения IP
$counter = count($this->vote);
if ($this->vote[$counter-1] !== $ip){ // Если IP адрес голосующего не совпадает с тем, что уже в файле
$this->vote[$counter-1] = $ip; // Переписываем IP пользователя
$this->WriteAns(); //Записываем в файл
}
}
private function WriteAns(){
$file = fopen($this->filename,'w');
$this->vote[$this->answer]++;
$this->data = fwrite($file, implode('-',$this->vote));
fclose($file);
}
public function GetPrint($var3){
return $this->vote[$var3];
}
}
?>
PHP:
<?php
require ('./voting.php');
$vote=new Voting();
$vote->GetAnswer('./db.dat',2);
$vote->CheckIP($_SERVER['REMOTE_ADDR']);
echo $vote->GetPrint(2);
?>
