Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Постижение ООП

Сообщения:  [1-10]   [11-14] 

 
 автор: Akira   (20.07.2005 в 11:51)   письмо автору
 
   для: cheops   (20.07.2005 в 03:01)
 

Хорошо. Будем работать дальше :)

   
 
 автор: cheops   (20.07.2005 в 03:01)   письмо автору
 
   для: Akira   (20.07.2005 в 01:33)
 

Т.е. насколько я понял код работает?

>Скажите а $this-> Это как ярлык для переменной? Без ярлыка переменная будет
>видна только в той функции, где была создана?
Да $this-> сообщает, что переменная является членом класса, а не локальной переменной функции.

>Еще класс у нас build_page.А обьет класса это
>output.
>Я правельно понимаю?
Да, только объектом является $page, output() - это метод класса

   
 
 автор: Akira   (20.07.2005 в 01:33)   письмо автору
 
   для: cheops   (20.07.2005 в 00:47)
 

Рабочий код

<?php 
  
class build_page 
  

    var 
$title=''// Название страницы 
    
var $charset=''// Кодировка страницы 
    
var $css=''// Стили для страницы 
    
var $meta=''// Доп. параметры 
    
var $text=''// Сам текст вывода 
    
var $filename '' // Имя файла
    
var $txt ''// буферок
    
function __construct($title$charset$css$meta$text$filename
    { 
        
        
$this->title $title
        
$this->charset $charset
        
$this->css $css
        
$this->meta $meta
        
$this->text $text;
        
$this->filename=fopen($filename"w");
        
    }
    function 
output() 
    {    
         
fwrite($this->filename,'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    <HEAD>
        <TITLE>'
.$this->title.'</TITLE>
        <meta http-equiv="Content-Type" content="text/html; charset='
.$this->charset.'">
        <link href="'
.$this->css.'" rel="stylesheet" type="text/css">
        '
.$this->meta.'
    </head>
    <body>
        '
.$this->text.'
    </body>
</html>;'
);
    } 
    function 
__destruct() 
    { 
         
fclose($this->filename);
    } 
  } 
  
$page = new build_page("testing","windows-1251","main.css","","This is text in new page""test.php"); 
  
$page->output();

?>

Просто не стого края подошел.
Скажите а $this-> Это как ярлык для переменной? Без ярлыка переменная будет видна только в той функции, где была создана?
Еще класс у нас build_page.А обьет класса это output.
Я правельно понимаю?
ЗЫ Черт, а может написать скрипт для проверки и исправления орфографических ошибок?

   
 
 автор: cheops   (20.07.2005 в 00:48)   письмо автору
 
   для: Akira   (20.07.2005 в 00:38)
 

>Поэтому я думаю
>сопровождать как можно подробнее комментариями.
Да к этому лучше привыкнуть - окупается :)))

   
 
 автор: cheops   (20.07.2005 в 00:47)   письмо автору
 
   для: Akira   (20.07.2005 в 00:37)
 

нет должно работать - а где происходит запись в файл? Может так случиться, что в файл не попадёт '</body></html>' - так как в дестркутор, это последний выполняемый метод класса.

   
 
 автор: Akira   (20.07.2005 в 00:38)   письмо автору
 
   для: cheops   (20.07.2005 в 00:21)
 

К сожелению или к счастью у меня не когда не получалось написать два кода полностью одинаковым, так же мне легче заново написать код чем разобрать страый :( Поэтому я думаю сопровождать как можно подробнее комментариями.

   
 
 автор: Akira   (20.07.2005 в 00:37)   письмо автору
 
   для: cheops   (20.07.2005 в 00:21)
 

Пытался заменить echo на $var[] т.е. поместить в массив. Это было ошибкой?
Предпологаеться, что из бд берем информацию и создаем страницу которая сохраняеться на сервере.

   
 
 автор: cheops   (20.07.2005 в 00:21)   письмо автору
 
   для: Akira   (19.07.2005 в 20:17)
 

А как делаете?

   
 
 автор: cheops   (20.07.2005 в 00:21)   письмо автору
 
   для: Akira   (19.07.2005 в 20:03)
 

> Я правельно понял функции __construct и
>__destruct.
Да.

>Я правельно понял назначение ООП? Может стоило процедурным
>методом?
Да правильно, но ООП требует достаточно продуманного использования, как и структурное программирование - создать нечитабельный и сложный в сопровождении код на нём очень легко.

>Так же хочу написать код для распознования css стилей. Его
>как стоит исполнить?
Код можно выполнять в любом стиле - лишь бы он эффективно решал ваши задачи, если сейчас у вас главная задача освоить ООП - решайте её с испльзованием ООП... но будьте готовы, что со временем вы захотите его переписать по новой...

   
 
 автор: Akira   (19.07.2005 в 20:17)   письмо автору
 
   для: cheops   (19.07.2005 в 18:34)
 

хм, не как не получаеться сохранить это в файл :( а не выводить.

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования