Зафиксили баг. Всё круто.
Охренеть. php-cs-fixer научился точки в комментах расставлять.
1) Vermillion/Http/Routing/Collection.php
---------- begin diff ----------
--- Original
+++ New
@@ @@
/**
- * List of required keys for route
+ * List of required keys for route.
@@ @@
/**
- * Returns data for FastRoute dispatcher
+ * Returns data for FastRoute dispatcher.
@@ @@
/**
- * Returns list of routes
+ * Returns list of routes.
@@ @@
/**
- * Creates data for FastRoute dispatcher
+ * Creates data for FastRoute dispatcher.
@@ @@
/**
- * Validates list of routes
+ * Validates list of routes.
*
* @param array $routes
*/
private function setRoutes(array $routes)
{
foreach ($routes as $name => $route) {
if (!is_array($route)) {
throw new \LogicException(sprintf(
'Unable to add a route. Expects array, %s given',
gettype($route)
));
}
$missing = array_diff(self::REQUIRED_KEYS, array_keys($route));
if (count($missing) > 0) {
throw new \LogicException(sprintf(
'Unable add a route. The following keys are missing: %s',
implode(', ', $missing)
));
}
$this->routes[$name] = $route;
}
}
}
---------- end diff ----------
Fixed all files in 4.241 seconds, 6.500 MB memory used
# reaper (24.03.2015 / 23:04)
Зафиксили баг. Всё круто.
Гг. А по скорости что там в сравнении с остальными? Должно быть существенный выигрыш.
Можно ещё сделать так, чтоб избавиться от method_exists. Т.е собрать все имена сервисов и сохранить их в свойстве контейнера как массив, а дальше просто isset($this->statics[$method]).
L!MP, А ты точно именно на тот пост хотел ответить?
То, что я запилил -- всего-лишь набросок, и мерить там пока нечего. Если хочешь, можешь сам допилить до вменяемого состояния. Я если и стану что-то с этим делать, то только на выходных.
reaper, я подумал что у тебя, кроме наброска, есть уже рабочая версия.
Сам я то же если и смогу до пилить, то не скоро.
Давно сюда не писал. Не так давно открыл для себя
stylus. Это CSS препроцессор. И он крут.
Вот например из реальной жизни:
form-border(color=#9b2)
border-left 6px solid color
form-shadow(r=0, g=0, b=0, a=0.15)
box-shadow 0 0 20px rgba(r, g, b, a)
@keyframes login-error
from
form-border(#b29)
form-shadow(187, 34, 153, 0.3)
to
form-border()
form-shadow(0, 0, 0, 0.15)
.login
margin -100px 0 0 0
position absolute
top 50%
width 100%
form
background #fff
font 12px/15px Arial, Helvetica, sans-serif
form-border()
form-shadow(0, 0, 0, 0.15)
margin 0 auto
padding 25px 0
width 600px
&.error
animation login-error 2s 1
input
box-sizing border-box
display block
height 30px
margin 6px auto
width 300px
transition-duration 0.25s
input[type="text"], input[type="password"]
border 1px solid rgba(0, 0, 0, 0.2)
color #666666
padding 5px
&:hover
border-color rgba(0, 0, 0, 0.3)
&:focus
border-color rgba(0, 0, 0, 0.4)
input[type="submit"]
background #9b2
border none
color: #fff;
font-variant small-caps
height: 35px;
&:hover
background: #ac3
&:active
background: #bd4
Разве не красота? На скриншоте можно видеть, что из этого вышло.
reaper, А можешь показать код после трансляции?