watt
Guest
Framework-системы. Теоретический вопрос.
Framework-системы. Теоретический вопрос.
Приветствую.
Говорю прямо суть траблы – взялся делать ядро несложной (или сложной?) framework для собственных нужд, полностью игнорируя отсутствие опыта.
Ну, разве что прочел статью Дениса Баженова в PHPInside #9, что и так понятно
. Сразу же столкнулся с интересной проблемой, точнее вопросом – как, по какому алгоритму, следует принимать решение о загрузке того или иного приложения – ведь в более-менее объемном веб-сайте отсутствует жесткая структура директорий.
Например, если бы структура была такой:
/index.php
/articles/56.php
/forum/index.php
/forum/topic.php
То все было бы просто - .htaccess, mod_rewrite, isset(), бла-бла-бла. На самом деле, это все что я придумал – ограничить количество уровней директорий, скажем, тремя и для каждого уровня, передавать в переменную его имя, например при пути
/games/reviews/half_life_2.php
это будет выглядеть так: $level1 = ‘games’; $level2 = ‘reviews’; $level3 = ‘half_life_2’;
Далее ядро по этой структуре запрашивает соответствующее приложение – games/reviews.php, передавая последнюю переменную – half_life_2 в качестве ключа для запроса к БД. Изврат, конечно, полный, но работать будет.
А как быть в случае с такой структурой?
/index.wbp
/games/half_life_2/review.wbp
/games/half_life_2/review/print/plain.wbp
/games/half_life_2/review/print/createpdf.wbp
/games/half_life_2/preview.wbp
/games/half_life_2/screenshots/16
/xtra/mail/sendtofriend/review/half_life_2/
/games/cold_fear/info.wbp
/mobiles/catalog/motorola_v600.wbp
/mobiles/motorola_v600/review.wbp
/community/messageboard/
/community/messageboard/profile.php?user=55555
/xtra/advertising/adspecs/
/xtra/links/
/xtra/calendar/
То есть, когда заранее неизвестно, какой из уровней является командами framework-ядра, обозначающими путь для загрузки приложения, а какой – ключами, переменными для использования внутри самого приложения.
Framework-системы. Теоретический вопрос.
Приветствую.
Говорю прямо суть траблы – взялся делать ядро несложной (или сложной?) framework для собственных нужд, полностью игнорируя отсутствие опыта.


Например, если бы структура была такой:
/index.php
/articles/56.php
/forum/index.php
/forum/topic.php
То все было бы просто - .htaccess, mod_rewrite, isset(), бла-бла-бла. На самом деле, это все что я придумал – ограничить количество уровней директорий, скажем, тремя и для каждого уровня, передавать в переменную его имя, например при пути
/games/reviews/half_life_2.php
это будет выглядеть так: $level1 = ‘games’; $level2 = ‘reviews’; $level3 = ‘half_life_2’;
Далее ядро по этой структуре запрашивает соответствующее приложение – games/reviews.php, передавая последнюю переменную – half_life_2 в качестве ключа для запроса к БД. Изврат, конечно, полный, но работать будет.
А как быть в случае с такой структурой?
/index.wbp
/games/half_life_2/review.wbp
/games/half_life_2/review/print/plain.wbp
/games/half_life_2/review/print/createpdf.wbp
/games/half_life_2/preview.wbp
/games/half_life_2/screenshots/16
/xtra/mail/sendtofriend/review/half_life_2/
/games/cold_fear/info.wbp
/mobiles/catalog/motorola_v600.wbp
/mobiles/motorola_v600/review.wbp
/community/messageboard/
/community/messageboard/profile.php?user=55555
/xtra/advertising/adspecs/
/xtra/links/
/xtra/calendar/
То есть, когда заранее неизвестно, какой из уровней является командами framework-ядра, обозначающими путь для загрузки приложения, а какой – ключами, переменными для использования внутри самого приложения.