<?php
class fifo_queue //wymaga php5
{
var
$plik = 'kolejka.txt'; //sciezka do pliku dla kolejki, domyslnie jest to 'kolejka.txt'
function __construct() //konstruktor, opcjonalnie pierwszy parametr bedzie nazwa pliku dla fifo
{
if ($liczba >= 1) {
$this -> plik = $tab[0];
}
} //konstruktor
function nowa() //tworzy nowy plik do przechowywania kolejki
{
file_put_contents($this->plik,'');
echo "Utworzono kolejke \n"; return true;
} //nowa
function usun() //usuwa kolejke razem z plikiem, zwraca true, gdy sie powiedzie
{
return (unlink($this->plik) ?
true : false); } //usun
function dolacz($dana) //umieszcza w kolejce $dana
{
$dana = $dana."r\n";
file_put_contents($this->plik,$dana,FILE_APPEND);
echo "Dodano do kolejki: ".$dana; return true;
} //dolacz
function odlacz() //zwraca i usuwa pierwszy element kolejki, inaczej zwraca false
{
if($this->jest_pusta())
{
return false;
}
else
{
$top = $this->element(1);
$tab_plik=file($this->plik); for($i=1;$i<count($tab_plik);$i++)
{
$tab[$i-1]=$tab_plik[$i];
}
file_put_contents($this->plik,$tab);
return $top;
}
} //odlacz
function wyswietl() //pokazuje wszystkie elementy kolejki
{
return true;
} //wyswietl
function wyswietl2() //pokazuje wszystkie elementy kolejki wraz z indeksami od 1
{
for ($i=0;$i<count($tab);$i++)
{
echo ($i+1)." : ".$tab[$i]; }
return true;
} //wyswietl2
function jest_pusta() //sprawcza czy kolejka jest pusta
{
return (($this->liczba() == 0) ? true : false);
} //jest_pusta
function liczba() //liczba elementow w kolejce
{
} //liczba
function element($numer) //zwraca element kolejki o numerze $numer; numeracja od elementu jeden
{
echo "Numer elementu nie jest typu integer!\n"; }
$liczba=$this->liczba();
if ($liczba == 0
) {echo "Kolejka jest pusta!\n";} else
{
if ($numer > $liczba) {echo "Nie ma takiego elementu w kolejce\n";} else
{
$tab = file($this->plik); return $tab[$numer-1];
}
}
} //element
} //class fifo_queue
?>
Mam pytanie: mam tą klasę na lua.pl i wszystkie komunikaty wyświetla mi w jednej linijce (ignoruje moje znaki \n, a nawet \r\n)... dlaczego?
Uwagi dotyczące klasy też mile widziane (miło by było gdyby były także podpowiedzi jak poprawić : P).
Pozdrawiam.
Edit: no, tak : ), dziękuję qrees : ).
Ten post edytował Fantazyn 25.02.2008, 22:28:10