| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Vingrad CMS > Начало работ. |
| Автор: Opik 27.6.2005, 18:56 |
| Думаю уже пара приступать писать FrameWork. Что должно быть в нем включено? [offtop] Раньше обходился без оных, поэтому вопрос может быть некорректным. [/offtop] |
| Автор: IZ@TOP 28.6.2005, 00:42 | ||
| Думаю что должна быть базовая библиотека (к примеру Web.php), в ней должен находится класс отвечающий за подключение и настройку всех остальных Framework библиотек, назовем его Web, так же в ней, как мне кажется, должен быть включен класс (от которого наследуется класс Web) обработки и вывода ошибок пользователю. Далее идут все стандартные наборы библиотек:
Набор получается примерно следующий:
|
| Автор: Opik 28.6.2005, 02:24 | ||||
| Накидал немного: web.php
test.php (Использование)
Здесь ещё не включены в работу конфиги... |
| Автор: IZ@TOP 28.6.2005, 16:13 | ||||
| Несколько замечаний: 1. Функция загрузки библиотеки мне кажется должна быть реалдизована без передачи в нее массива, а с передачей неопределенного количества параметров. Еще лучше было бы сделать функцию выозова библиотек статичной. 2. Думаю что в корневую библиотеку нуежно включить класс парсера конфигурационных файлов. 3. Все сообщения об ошибках, которые связаны с библиотекой классов, будут находится в файле Framework.Exceptions.xml. Все данные об ошибке, так же как и определение степени фатализма ошибок будут находится там же. Разбор данных об исключении будет идти через xPath в нашем XML файле. Т.е. Допустим, для твоей ошибки будет пераданы следующие параметры:
Далее получая имя ошибки мы с помощью xPath выдираем нужные нам данные из XML файла, выводим данные или отправляем их на мыло. Все зависит от того какой уровень фатализма у данной ошибки. Хотя в данном случае наверное придется немного переделать наш класс обработки ошибок. 4. Все классы библиотеки наследуются от корневого Web, это значит что передаем мы имя библиотеки целиком:
Файлы библиотеки соответственно у нас Web.Xml.php и т.п. 5. Названия ошибок все должны быть на русском + при выводе должен быть красивый шаблон, если ошибка критическая. И данные о том что мол свяжитесь с администратором в случае возникновения ошибки. PS осталось только прикрутить по человечиски РНР 5 к своей машине и можно будет написать нормальный пример |
| Автор: Opik 28.6.2005, 16:20 |
| 1) Ок, передеалаю на get_function_args() 3) Я же писал, что пример без конфигов, поэтому так накодил 4) Думаю нужно всё таки сделать объявление класса, что бы было гораздо удобнее со всем работать... |
| Автор: skalex 28.6.2005, 16:28 |
| Как собираетесь организовать доступ к экземплярам создаваемых объектов внутри классов ? |
| Автор: Opik 28.6.2005, 16:30 | ||||
? |
| Автор: skalex 28.6.2005, 17:38 |
| Я не про это ... Допустим есть такие классы, доступ к экземплярам которых хочется осуществить из любой точки компонента веб-приложения (наиболее просто). Я иногда делаю так. Я пользуюсь не пользуюсь явно конструктором класса, а использую заранее определенный метод (например, ClassName::Instance())). Что делает этот метод? Концептуально все такие экземпляры классов хранятся в спец. массиве (например $GLOBALS['permament']). Метод проверяет, был ли уже создан данный экземпляр. Если да, то он вытаскивает его из массива, иначе возвращает новый. |
| Автор: IZ@TOP 28.6.2005, 20:48 | ||
Вот с этим я согласен. И еще, если класс не загружен, вызывается библиотека в которой он содержится с помощью статичного метода Web::Using внутри модуля которому он требуется. Хотя нет. Точнее будет так. В наших модулях будет просто объявление Web:Using(...) тех модулей которые ему нужны, сама функция юзинг проверит загружали ли те библиотеки, если нет - загрузит. |
| Автор: Wowa 11.7.2005, 04:52 |
| Давайте поактивнее |
| Автор: Opik 11.7.2005, 16:41 |
| Wowa я у себя потихоньку делаю. Как будет новое - выложу. Правда медленно идет из-за нехватки времени. |
| Автор: IZ@TOP 14.7.2005, 06:47 |
| Wowa, я сейчас уже подобную систему на РНР 4 заканчиваю, как только доделаю - возьмусь переписывать свою часть на РНР 5. |
| Автор: Render 29.7.2005, 20:46 |
| Предлагаю выкладывать какие-то наработки дорабатывать будем командно. А то что-то дальше обсуждения и мечтаний не ушли. |
| Автор: IZ@TOP 1.8.2005, 13:34 |
| Render, могу выложить классы на под РНР 4. Кто будет переписывать под 5ку? |
| Автор: Wowa 1.8.2005, 13:41 | ||
ты ведь вроде собирался |
| Автор: Render 1.8.2005, 18:27 |
| Да не всё ли равно кто их будет переписывать, сейчас выложишь, начнем хоть что-то обсуждать, делать, предлагать. А то мы так надолго засядем... |
| Автор: IZ@TOP 3.8.2005, 08:57 |
| Вот несколько файлов, правда кое что может и не пригодится, а кое что еще придется малость переписать. Но это платформа. Как на счет структуры базы? Есть предложения? |
| Автор: Wowa 3.8.2005, 10:36 |
| Я до 18 августа в отпуске |
| Автор: Gold Dragon 29.9.2005, 09:01 |
| Ну так что-нибудь продвигается? |
| Автор: Wowa 30.9.2005, 02:37 |
| нет, все застыло. Т.к. программисты разбежались %) |
| Автор: Gold Dragon 30.9.2005, 08:17 |
| зато сколько было энтузиазна в начале |
| Автор: Gold Dragon 28.10.2005, 12:25 |
| А не чего я опят напоминаю |
| Автор: ImamMahdi 12.2.2008, 16:12 | ||||
| Тема походу давно сдохла, но может получится поднять ;) Я вот тут тоже взялся дурь такую писать и на эту тему наткнулся Вот отпощу каркас того, что у меня уже есть Это гланый файл, в котором происходит подключение главного контроллера
Это главный контроллер, который регает все остальные
|