Не подскажет ли кто, есть ли возможность реализации в ПХП деструкторов классов или как можно уничтожить класс.
И второе есть ли в ПХП некий аналог private переменных.
Вид для печати
Не подскажет ли кто, есть ли возможность реализации в ПХП деструкторов классов или как можно уничтожить класс.
И второе есть ли в ПХП некий аналог private переменных.
"Уничтожить класс" - это наверное страшно :)
В пхп4 кажется нет деструкторов..
А в пхп5 это реализуется так:
[code]class MyClass
{
function __destruct()
{
// код
}
}[/code]
Он должен обязательно называться __destruct. Неявно вызывается перед удалением объекта оператором delete.
Вроде так.
И опять же, в пхп5 появились приватные и защищённые поля:
private $priv_field
protected $prot_field
в 4 пхп все поля публичные...
Жаль, но я юзаю все еще 4 :) В любом случае спасибо. Да с уничтожением класса я погарячился :)) Имелось ввиду экземпляр класса :))
Деструкторов в чистом виде нет, хотя реализуемы "деструкторы для бедных" :) если я не ошибаюсь, через register_shutdown_function. Это реализовано в PEAR (pear.php.net)
[quote=Inferno]Не подскажет ли кто, есть ли возможность реализации в ПХП деструкторов классов или как можно уничтожить класс.
И второе есть ли в ПХП некий аналог private переменных.[/quote]
На счет первой части предложения Я не знаю, но по поводу второй отвечу.
Класс не уничтожается, а перекрывается.
Я еще не силён в пхп, но не много разбираюь.
-------------------------------------------------------
У меня трабл. Если можите помогите.
Создаю класс Страница(Пейдж) - в нем сожержится внешний вид сайта. Т.к. планировал
создать пару одинаковых страницек отлич. лишь содержимым боди, т.е. текстом.
Потом создаю например экземпляр класса с именем хомпейдж - это первая страничка.
Короче них.. не получается.
:) Смысл такого класса?
Вот ты меня убил.
Допустим тебе нужно сварганить сайтец примерно на 20 страничек.
Не легче создать класс А и потом создавать себе классы Б, В, Г и т.д.
Эти классы наследую структуру из родит. класса А + добавляю кое-что свое.
Класс А отвечает за внешний вид. Вот в чем фишка. Прикольно, но еще нужно
посидеть на буком, и пошаманить не много. Я вот делаю как в книге и них.. не получ.
Как время будет опишу полностью структуру класса. Типа исходник предоставлю.
Не ясно что конкретно у тебя не получается..
[quote=Penguen]Вот ты меня убил. [/quote]
А счас оживлю и добью еще раз. Ты шаблонами пользоватся не пробовал? Говорят помогает.
[quote=Penguen]Допустим тебе нужно сварганить сайтец примерно на 20 страничек.[/quote]
20 страниц? Так под такое количество надо свой сервер писать, иначе никак.
А если серьезно, то в данном случае тебе нет смысла заморачиватся с классами, надо использовать шаблоны- получится и проще и быстрее.
p.s Наши люди на такси за хлебом не ездят.
В смысле шаблон? Не понял.
С помощью инклюдов что ли? Хм дык сделал уже с помощью иклюдов, но я хочу еще разобраться, как сделать с помощью классов всю эту муйню. В книге одно, а в действии другое. Всему приходится доходить своим умом и смекалкой. :-)
Так вот я и пытаюсь с помощью классов якобы прототип шаблона сделать. Типа все странички одинакового дизайна сделать, но они могу отличаться некоторыми компонентами (кнопками, графикой и т.п.)
Вот увы не получается.
[code]
//считаем, что $Top,$Middle,$Bottom уже установлены.
$Temp= new MyClass($Top,$Middle,$Bottom);
echo $Temp->Info;
[/code]
[code]
class MyClass
{
var $Info;
MyClass($Top,$Middle,$Bottom)
{
$this->Info=$Top.$Middle.$Bottom;
}
}
[/code]
Дык ну и???
Это не то. У меня более жоще, тобишь запутанно. ОК. Уговорили. Представлю исходник нерабочий