@@ -30,17 +30,31 @@ public function is9x(): bool
3030 return $ this ->major () === 9 ;
3131 }
3232
33- public function is ( string $ version , string $ comparator = ' >= ' ): bool
33+ public function major ( ): int
3434 {
35- return version_compare ( $ this ->version (), $ version , $ comparator );
35+ return ( int ) Str:: before ( $ this ->version (), ' . ' );
3636 }
3737
38- protected function major (): int
38+ public function minor (): int
3939 {
40- return (int ) Str::before ($ this ->version (), '. ' );
40+ $ version = $ this ->parse ();
41+
42+ return $ version [1 ];
4143 }
4244
43- protected function version (): string
45+ public function patch (): int
46+ {
47+ $ version = $ this ->parse ();
48+
49+ return $ version [2 ];
50+ }
51+
52+ public function is (string $ version , string $ comparator = '>= ' ): bool
53+ {
54+ return version_compare ($ this ->version (), $ version , $ comparator );
55+ }
56+
57+ public function version (): string
4458 {
4559 if (AppHelper::isLumen ()) {
4660 preg_match ('/.+\((\d+\.\d+\.\d+)\)/ ' , app ()->version (), $ matches );
@@ -50,4 +64,9 @@ protected function version(): string
5064
5165 return Application::VERSION ;
5266 }
67+
68+ protected function parse (): array
69+ {
70+ return explode ('. ' , $ this ->version ());
71+ }
5372}
0 commit comments