Beispiel #1
0
 /**
  * Calls a macro extension (method) with the given parameters
  *
  * @internal
  *
  * @param string $name       The name of the macro
  * @param array  $parameters The optional parameters
  *
  * @return mixed
  */
 protected function callMacro($name, $parameters = [])
 {
     $callback = static::getExtenableProperty('macros')[$name];
     if ($callback instanceof Closure) {
         return call_user_func_array($callback->bindTo($this, get_class($this)), $parameters);
     } elseif (is_string($callback) && Str::contains($callback, '@')) {
         return $this->callClassBasedMacro($callback, $parameters);
     }
 }
Beispiel #2
0
 /**
  * callExtension method
  *
  * @private
  *
  * @param $name
  * @param $parameters
  *
  * @return mixed
  */
 protected function callExtension($name, $parameters)
 {
     $callback = static::$extensions[$name];
     if ($callback instanceof Closure) {
         return call_user_func_array($callback->bindTo($this, get_class($this)), $parameters);
     } elseif (is_string($callback) && Str::contains($callback, '@')) {
         return $this->callClassBasedExtension($callback, $parameters);
     }
 }
Beispiel #3
0
 public function testStrContains()
 {
     $this->assertTrue(Str::contains('taylor', 'ylo'));
     $this->assertTrue(Str::contains('taylor', ['ylo']));
     $this->assertFalse(Str::contains('taylor', 'xxx'));
     $this->assertFalse(Str::contains('taylor', ['xxx']));
     $this->assertFalse(Str::contains('taylor', ''));
 }