Вы говорите, что не хотите, чтобы все маршруты соответствовали (я предполагаю, что это случай промежуточного программного обеспечения для всего приложения), но вы не уточняете, какой тип соответствия делать вы хотите.
Так что я не уверен, что именно вы подразумеваете под группой промежуточного программного обеспечения. Вы можете добавить промежуточное ПО для определенных маршрутов или групп маршрутов.
Пример добавления промежуточного программного обеспечения в группу маршрутов из документации:
$app->group('/utils', function () use ($app) {
$app->get('/date', function ($request, $response) {
return $response->getBody()->write(date('Y-m-d H:i:s'));
});
$app->get('/time', function ($request, $response) {
return $response->getBody()->write(time());
});
})->add(function ($request, $response, $next) {
$response->getBody()->write('It is now ');
$response = $next($request, $response);
$response->getBody()->write('. Enjoy!');
return $response;
});
https://www.slimframework.com/docs/v3/concepts/middleware.html#group-middleware [ 111]
result = (original & ~mask) | (newbits & mask)
The "& ~mask" part make sure to clear those bits to 0 before the | part.
The "& mask" part make sure that only proper bits in newbits are used.
Изучите ASP.NET MVC View Engine с использованием проекта VB.NET XML Literals на CodePlex http://vbmvc.codeplex.com
Первоначально это был пользовательский механизм просмотра Задуманный Дмитрием Робсманом, который является PUM для ASP.NET в Microsoft. Каждое представление является классом VB.NET, а пространство имен (вместо пути к файлу) используется для подключения представлений к контроллерам. Довольно просто скопировать содержимое ваших файлов представления ASPX в литералы XML в этих классах VB. И как классы, они компилируются в сборку без каких-либо дополнительных усилий.
Если ваши контроллеры являются C #, то, скорее всего, у вас получится 2 DLL, но у Скотта Хансельмана есть запись в блоге о том, как заставить C # и VB работать вместе в одной сборке. http://www.hanselman.com/blog/MixingLanguagesInASingleAssemblyInVisualStudioSeamlesslyWithILMergeAndMSBuild.
Маскировать биты, подлежащие замене, из оригинала (с помощью ИЛИ с НЕТ маски), а затем вставлять новые биты (через ИЛИ).
10101010 -оригинальный бит установить
00001111 -маску, показывающую позиции замены
00001100 -новые битовые значения
11110000 -отрицательную маску
10100000 -оригинальный битовый набор замаскированных
10101100 -новые биты, возвращенные в
в С (+ +) код, это будет:
out = (in & ~ mask) | newbits;
Если newbits содержат биты вне того, что они должны заменить, И их также с маской.