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

Форум PHP

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

 

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

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

тема: Набор классов SoftTime FrameWork

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

 
 автор: cheops   (27.10.2008 в 11:36)   письмо автору
 
   для: dmtrfoxerr   (24.10.2008 в 20:33)
 

Это ошибка PHP (которая мне всю плешь проела) - при наследовании символ _ заменяется на i - эта ошибка кочует с 5.0.0 по текущие версии. Когда ругают PHP за глюкавость имеют в виду именно такие ошибки, которые годами не исправляются.

   
 
 автор: dmtrfoxerr   (24.10.2008 в 20:33)   письмо автору
 
   для: cheops   (15.02.2008 в 18:55)
 

Интересная ошибочка!!!!
Если в классе переменная содержит "_", то поле не обрабатывается и выдает ошибку что поле пустое.


<?
 $product_type         
= new field_select("product_type",
                                     
"Продукт",
                                      
$idproduct,
                                     
$_REQUEST['product_type']);
?>

   
 
 автор: dmtrfoxerr   (04.09.2008 в 13:59)   письмо автору
 
   для: cheops   (04.09.2008 в 13:11)
 

Хотел попробывать реализовать двойной динамический выпадающий список с помощь JS. Но как то не получилось. Подскажите как....
Заранее благодарен!

   
 
 автор: cheops   (04.09.2008 в 13:11)   письмо автору
 
   для: Eugene77   (03.09.2008 в 19:24)
 

>Всё делать на основе ваших классов?
Да, абсолютно все, для чего этот набор предназначен.

>Или классов пока хватает лишь на форум и счётчик?
Этот набор не создавался для конкретных приложений - он создавался для работы, для создания каркасов, для чего и должен служить FrameWork. FrameWork - это не CMS, не жесткий каркас, а расширяемая система, причем расширяемая в обязательном порядке - иначе он смысл теряет.

Объектно-ориентированное программирование создавалось для создания расширяемых библиотек. Это означает, что ни один из наборов классов не является статическим (если только все конечные ветви не финализированы (final) - но в этом случае это просто классическая библиотека). Если возможностей существующего класса не хаватает - от него наследуется новый класс, который автоматически встраивается в систему. Например, нужно мне текстовое поле, которое будет автоматически проверять существует ли в базе данных город, если не существует - вносить его туда, если существует, выдавать в качестве результата уникальный номер этого города. Я наследую от класса обычного текстового поля field_text класс field_text_city - реализуя нужную функциональность, а проверки, представления и т.п. уже реализованы в классе field_text - об этом даже не думаю. Захочу изменить какие-то фундаментальные свойства всех полей - буду дергать feild, если текстовых filed_text, если только тех, которые города обрабатывают field_text_city.

Ещё раз: наборы классов (framework), любых, в любых языках программирования - это не готовая кормушка - это заготовка, которую программист расширяет по мере надобности за счет наследования новых классов. Это не панацея - это инструмент и не самый легкий в использовании. Он эффективен и экономит время, но чтобы он заработал, его изучать нужно.

>Подробнее можете сказать как вы видите место своей разработки в мире PHP
>программирования?
Это демонстрация того, как следует использовать ООП, не классы гостевых книг создавать, которые заведомо уже использоваться не будут - а расширяемые среды, позволяющие повторно использовать код.

PS В книге верхушечка айсберга - в студии мы используем сотни классов унаследованных от исходных классов FrameWork-а. Мы не можем заранее предусмотреть все возможные случаи - для этого и нужен ООП. Не нравится вам как форма выглядит - наследуете новый класс и переопределяете метод представления. Захотелось, чтобы перед текстовой областью выводились графические кнопки для bbCode - наследуете новый класс. Не копаетесь в старом классе, а наследуете новый. В результате и старые и новые приложения прекрасно работают с FrameWork любой версии. В этом и суть ООП.

   
 
 автор: Proger   (04.09.2008 в 08:40)   письмо автору
 
   для: Eugene77   (03.09.2008 в 19:24)
 

Я пологаю этот framework лишь для некоторого облегчения работы с занесением данных в бд и выводом их же в различной форме. Писать что-то на основе этого фреймворка = писать с нуля. Это не база для написания чего либо, а лишь инструмент "с хорошей ручкой" :))

ИМХО

   
 
 автор: Eugene77   (03.09.2008 в 19:24)   письмо автору
 
   для: cheops   (15.02.2008 в 18:55)
 

Так теперь можно никакой Drupal не изучать?
Всё делать на основе ваших классов?
Или классов пока хватает лишь на форум и счётчик?
Подробнее можете сказать как вы видите место своей разработки в мире PHP программирования?

   
 
 автор: dmtrfoxerr   (01.09.2008 в 23:35)   письмо автору
 
   для: cheops   (24.02.2008 в 14:29)
 

Доброго здравствия!
Подскажите, а возможно реализовать двойной зависимый выпадающий список с помощью класса.

   
 
 автор: cheops   (19.04.2008 в 15:12)   письмо автору
 
   для: Panker   (19.04.2008 в 10:22)
 

Под именем подразумевается имя объекта или атрибут name?

   
 
 автор: Panker   (19.04.2008 в 10:22)   письмо автору
 
   для: cheops   (24.02.2008 в 14:29)
 

Простите, как я понял ИМЯ ФОРМЫ задавать нельзя?
Или я не нашел как и что? Просто мне нужно 3 и больше форм на одной страницы, а у них по стандарту название form :( а мне разные имена нуны :(

   
 
 автор: cheops   (24.02.2008 в 14:29)   письмо автору
 
   для: Panker   (23.02.2008 в 16:54)
 

В первую очередь необходимо сформировать массив (пусть $janre) элементов выпадающего списка
<?php
    
// Извлекаем жанры
    
$query "SELECT * FROM $tbl ORDER BY name";
    
$jnr mysql_query($query);
    if(!
$jnr)
    {
      throw new 
ExceptionMySQL(mysql_error(), 
                               
$query,
                              
"Ошибка при извлечении
                               позиций"
);
    }
    
$janre = array();
    if(
mysql_num_rows($jnr))
    {
      while(
$janre_array mysql_fetch_array($jnr))
      {
        
// Название жанра
        
$janre[$janre_array['id_position']] = $janre_array['name'];
      }
    }
?>

Далее можно создать выпадающий список
<?php
    $idjanre 
= new field_select("idjanre",
                          
"Жанры",
                           
$janre,
                           
$_REQUEST['idjanre']);
?>

   

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

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

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