Титла: Mvc, acl и reflection Публикувано от: VladSun в Oct 22, 2008, 16:01 Здравейте!
От известно време се мъча да сътворя MVC PHP framework, в който логиката за ACL да е изнесена от всички класове (M-V-C). Идеята ми е да използвам Reflection класовете на PHP5 и да капсулирам публичните методи и полета на тези класове (един вид, тяхното "API") в подобен на Decorator (wrapper) клас, който да управлява достъпа до тях на базата на данни (правила) взети от някакъв Storage клас. Темата е разисквана и в един друг PHP форум, но все си мисля, че и тука ще бъде в интерес и се надявам на дискусия. За да не дублирам съдържание, на тези адреси може да намерите дискусия по темата, малко код и малко тестове: http://forums.devnetwork.net/viewtopic.php?f=50&t=89528 http://forums.devnetwork.net/viewtopic.php?f=19&t=89300 Титла: Mvc, acl и reflection Публикувано от: VladSun в Oct 28, 2008, 18:06 Няма ли PHP екстремисти тука :D
BULFON? Титла: Re: Mvc, acl и reflection Публикувано от: lkr в Oct 30, 2008, 09:14 Не и когато става въпрос за PHP + MVC, long live Ruby :)
Титла: Re: Mvc, acl и reflection Публикувано от: BULFON в Oct 30, 2008, 10:11 Има, но нека първо подкараме този форум (само да видиш него как са го писали) да работи като хората, пък ще говорим и за PHP + MVC
Титла: Re: Mvc, acl и reflection Публикувано от: VladSun в Oct 30, 2008, 14:12 само да видиш него как са го писали Аз вече видях ... Издигнали са SWITCH-a в култ :) Титла: Re: Mvc, acl и reflection Публикувано от: VladSun в Oct 30, 2008, 14:18 Не и когато става въпрос за PHP + MVC, long live Ruby :) Въпросът е по-скоро концептуален - тъй като механизмите за контрол на достъпа (също така и историята на действията) са cross-cutting concern ($2). И това не зависи много от използвания език за програмиране. Титла: Re: Mvc, acl и reflection Публикувано от: Йордан в Oct 30, 2008, 15:04 А добре какъв е смисъла да е толкова сложно? Толкова е сложно, че се затруднявам дори да ти разбера идеята. Това решение мислиш ли, че ще е с хубав перформанс?
Титла: Re: Mvc, acl и reflection Публикувано от: VladSun в Oct 30, 2008, 15:30 Сложно? Не :)
Сега имаш: Код
А аз искам (примерно): Код
Т.е. MVC обектите да предоставят всичкия необходим код за редактиране и изобразяване на информацията без да се интересуват от прават на текущия потребител. Сложното е да се измисли и имплементира класът, който управлява чрез капсулация тези обекти и за това е разискването тук. Но след като той е готов, разработването на същинската част от дадено уеб приложение - MVC класовете е в пъти по-лесно. Би се постигнала такава гранулация и лекота на манипулацията на правата на потребителя (при това в "runtime"), която в момента е немислима. По отношение на производителността - в горните линкове съм направил няколко тестове - естествено има спад, но дали той ще се отрази на система, в която bottleneck-а не е PHP кода (а примерно DB заявките и/или template системата, както обикновено) е малко вероятно. Титла: Re: Mvc, acl и reflection Публикувано от: Йордан в Oct 30, 2008, 16:23 Това ясно. Моята идея беше, че като правиш такава сложна система получаваш нисък перформанс. Също така в 90% от случайте трудно би ползвал един код на много места. И не знам колко има сметка да се пише такова нещо :)
Титла: Re: Mvc, acl и reflection Публикувано от: VladSun в Oct 30, 2008, 16:30 Това ясно. Моята идея беше, че като правиш такава сложна система получаваш нисък перформанс.Не мисля така, но ще тествам малко по-реални случаи - с DB заявки, примерно и ще видим :) Също така в 90% от случайте трудно би ползвал един код на много места. Аз осигурявам само слой върху MVC pattern-a, нищо повече :) И не знам колко има сметка да се пише такова нещо :)О-о, има, има! :) |