|
|
|
Opik |
|
|||
Эксперт Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Думаю уже пара приступать писать FrameWork.
Что должно быть в нем включено? [offtop] Раньше обходился без оных, поэтому вопрос может быть некорректным. [/offtop] |
|||
|
||||
IZ@TOP |
|
|||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Думаю что должна быть базовая библиотека (к примеру Web.php), в ней должен находится класс отвечающий за подключение и настройку всех остальных Framework библиотек, назовем его Web, так же в ней, как мне кажется, должен быть включен класс (от которого наследуется класс Web) обработки и вывода ошибок пользователю.
Далее идут все стандартные наборы библиотек:
Набор получается примерно следующий:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Opik |
|
||||
Эксперт Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Накидал немного:
web.php
test.php (Использование)
Здесь ещё не включены в работу конфиги... Это сообщение отредактировал(а) Opik - 28.6.2005, 02:35 |
||||
|
|||||
IZ@TOP |
|
||||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Несколько замечаний:
1. Функция загрузки библиотеки мне кажется должна быть реалдизована без передачи в нее массива, а с передачей неопределенного количества параметров. Еще лучше было бы сделать функцию выозова библиотек статичной. 2. Думаю что в корневую библиотеку нуежно включить класс парсера конфигурационных файлов. 3. Все сообщения об ошибках, которые связаны с библиотекой классов, будут находится в файле Framework.Exceptions.xml. Все данные об ошибке, так же как и определение степени фатализма ошибок будут находится там же. Разбор данных об исключении будет идти через xPath в нашем XML файле. Т.е. Допустим, для твоей ошибки будет пераданы следующие параметры:
Далее получая имя ошибки мы с помощью xPath выдираем нужные нам данные из XML файла, выводим данные или отправляем их на мыло. Все зависит от того какой уровень фатализма у данной ошибки. Хотя в данном случае наверное придется немного переделать наш класс обработки ошибок. 4. Все классы библиотеки наследуются от корневого Web, это значит что передаем мы имя библиотеки целиком:
Файлы библиотеки соответственно у нас Web.Xml.php и т.п. 5. Названия ошибок все должны быть на русском + при выводе должен быть красивый шаблон, если ошибка критическая. И данные о том что мол свяжитесь с администратором в случае возникновения ошибки. PS осталось только прикрутить по человечиски РНР 5 к своей машине и можно будет написать нормальный пример -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
||||
|
|||||
Opik |
|
|||
Эксперт Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
1) Ок, передеалаю на get_function_args()
3) Я же писал, что пример без конфигов, поэтому так накодил 4) Думаю нужно всё таки сделать объявление класса, что бы было гораздо удобнее со всем работать... |
|||
|
||||
skalex |
|
|||
Хороший человек Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: нет Всего: 23 |
Как собираетесь организовать доступ к экземплярам создаваемых объектов внутри классов ?
|
|||
|
||||
Opik |
|
||||
Эксперт Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
? |
||||
|
|||||
skalex |
|
|||
Хороший человек Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: нет Всего: 23 |
Я не про это ...
Допустим есть такие классы, доступ к экземплярам которых хочется осуществить из любой точки компонента веб-приложения (наиболее просто). Я иногда делаю так. Я пользуюсь не пользуюсь явно конструктором класса, а использую заранее определенный метод (например, ClassName::Instance())). Что делает этот метод? Концептуально все такие экземпляры классов хранятся в спец. массиве (например $GLOBALS['permament']). Метод проверяет, был ли уже создан данный экземпляр. Если да, то он вытаскивает его из массива, иначе возвращает новый. |
|||
|
||||
IZ@TOP |
|
|||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Вот с этим я согласен. И еще, если класс не загружен, вызывается библиотека в которой он содержится с помощью статичного метода Web::Using внутри модуля которому он требуется. Хотя нет. Точнее будет так. В наших модулях будет просто объявление Web:Using(...) тех модулей которые ему нужны, сама функция юзинг проверит загружали ли те библиотеки, если нет - загрузит. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Wowa |
|
|||
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Давайте поактивнее
|
|||
|
||||
Opik |
|
|||
Эксперт Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: нет Всего: 55 |
Wowa
я у себя потихоньку делаю. Как будет новое - выложу. Правда медленно идет из-за нехватки времени. |
|||
|
||||
IZ@TOP |
|
|||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Wowa, я сейчас уже подобную систему на РНР 4 заканчиваю, как только доделаю - возьмусь переписывать свою часть на РНР 5.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Render |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 94 Регистрация: 12.5.2005 Репутация: нет Всего: 3 |
Предлагаю выкладывать какие-то наработки дорабатывать будем командно. А то что-то дальше обсуждения и мечтаний не ушли.
|
|||
|
||||
IZ@TOP |
|
|||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Render, могу выложить классы на под РНР 4. Кто будет переписывать под 5ку?
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Wowa |
|
|||
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
ты ведь вроде собирался |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Vingrad CMS | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |