|
|
|
| В раздел downloads выложен набор классов SoftTime FramWork, позволяющий ускорить разработку Web-приложений и сайтов. Набор классов, а также приёмы его использования детально описываются в нашей новой книге "Объектно-ориентированное программирование на PHP".
PS В ближайшее время будут выложены исходные коды ряда приложений, разработанных с использованием данного набора классов, в том числе форум LiteForum 5.0 и система учёта посещаемости PowerCounter 4.0. | |
|
|
|
|
|
|
|
для: cheops
(15.02.2008 в 18:55)
| | class.pager_dir.php:
<?php
// ...
// Удаляем последний символ /, если он имеется
$this->dirname = trim($dirname, "/");
// ...
?>
|
На мой взгляд, лучше rtrim (chop). Иначе абсолютные пути, начинающиеся со слеша станут неверными. | |
|
|
|
|
|
|
|
для: Unkind
(16.02.2008 в 00:10)
| | Дождались все-таки! =))) | |
|
|
|
|
|
|
|
для: ddhvvn
(16.02.2008 в 14:09)
| | Это и самому можно сделать при необходимости, чем ждать N месяцев | |
|
|
|
|
|
|
|
для: bronenos
(16.02.2008 в 15:25)
| | Да это понятно, я не в этом смысле =)) | |
|
|
|
|
|
|
|
для: cheops
(15.02.2008 в 18:55)
| | А как работать с классами, Вы на сайте вылаживать не будете? | |
|
|
|
|
|
|
|
для: FireTiger
(17.02.2008 в 09:53)
| | Да, к дистрибутиву прикладывается два демонстрационных приложений, в ближайшее время будут выложены форум и система сбора информации, в которых все скрипты будут снабжены комментариями на русском языке.
PS Постепенно будет расширена и статья посвящённая набору классов. | |
|
|
|
|
|
|
|
для: cheops
(18.02.2008 в 00:10)
| | Спасибо! | |
|
|
|
|
|
|
|
для: cheops
(15.02.2008 в 18:55)
| | Ни как не могу понять, какой пароль на архив с демонстрацией? Пользователь root, а пароль? | |
|
|
|
|
|
|
|
для: Panker
(23.02.2008 в 10:48)
| | Тоже root | |
|
|
|
|
|
|
|
для: cheops
(23.02.2008 в 14:12)
| |
$theme = new field_text("urltext",
"Тематика",
false,
$_POST['urltext']);
|
Вы не могли бы подсказать как вместо обычного input сделать select причем в селекте не забиты а берутся из базы из таблицы Theme и в value и просто как показатель пользователю данные из ячейки name, прошу помочь мне, так как очень понравилось работать с framework CMS на него перевожу но не могу понять про селект и вставка данных :) | |
|
|
|
|
|
|
|
для: 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']);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(24.02.2008 в 14:29)
| | Простите, как я понял ИМЯ ФОРМЫ задавать нельзя?
Или я не нашел как и что? Просто мне нужно 3 и больше форм на одной страницы, а у них по стандарту название form :( а мне разные имена нуны :( | |
|
|
|
|
|
|
|
для: Panker
(19.04.2008 в 10:22)
| | Под именем подразумевается имя объекта или атрибут name? | |
|
|
|
|
|
|
|
для: cheops
(24.02.2008 в 14:29)
| | Доброго здравствия!
Подскажите, а возможно реализовать двойной зависимый выпадающий список с помощью класса. | |
|
|
|
|
|
|
|
для: cheops
(15.02.2008 в 18:55)
| | Так теперь можно никакой Drupal не изучать?
Всё делать на основе ваших классов?
Или классов пока хватает лишь на форум и счётчик?
Подробнее можете сказать как вы видите место своей разработки в мире PHP программирования? | |
|
|
|
|
|
|
|
для: Eugene77
(03.09.2008 в 19:24)
| | Я пологаю этот framework лишь для некоторого облегчения работы с занесением данных в бд и выводом их же в различной форме. Писать что-то на основе этого фреймворка = писать с нуля. Это не база для написания чего либо, а лишь инструмент "с хорошей ручкой" :))
ИМХО | |
|
|
|
|
|
|
|
для: 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 любой версии. В этом и суть ООП. | |
|
|
|
|
|
|
|
для: cheops
(04.09.2008 в 13:11)
| | Хотел попробывать реализовать двойной динамический выпадающий список с помощь JS. Но как то не получилось. Подскажите как....
Заранее благодарен! | |
|
|
|
|
|
|
|
для: cheops
(15.02.2008 в 18:55)
| | Интересная ошибочка!!!!
Если в классе переменная содержит "_", то поле не обрабатывается и выдает ошибку что поле пустое.
<?
$product_type = new field_select("product_type",
"Продукт",
$idproduct,
$_REQUEST['product_type']);
?>
|
| |
|
|
|
|
|
|
|
для: dmtrfoxerr
(24.10.2008 в 20:33)
| | Это ошибка PHP (которая мне всю плешь проела) - при наследовании символ _ заменяется на i - эта ошибка кочует с 5.0.0 по текущие версии. Когда ругают PHP за глюкавость имеют в виду именно такие ошибки, которые годами не исправляются. | |
|
|
|