/** * Check a string ends with a specific string * * @param $haystack * @param $needle * @param bool $case * * @return bool * * @deprecated */ function ends_with($haystack, $needle, $case = true) { return \Packaged\Helpers\Strings::endsWith($haystack, $needle, $case); }
public function checkValue($value) { switch ($this->comparator) { case AdvancedFilterComparator::EQUAL: $return = $value == $this->value; break; case AdvancedFilterComparator::NOT_EQUAL: $return = $value != $this->value; break; case AdvancedFilterComparator::EQUAL_INSENSITIVE: $return = strcasecmp($value, $this->value) === 0; break; case AdvancedFilterComparator::NOT_EQUAL_INSENSITIVE: $return = strcasecmp($value, $this->value) !== 0; break; case AdvancedFilterComparator::GREATER_THAN: $return = $value > $this->value; break; case AdvancedFilterComparator::GREATER_THAN_EQUAL: $return = $value >= $this->value; break; case AdvancedFilterComparator::LESS_THAN: $return = $value < $this->value; break; case AdvancedFilterComparator::LESS_THAN_EQUAL: $return = $value <= $this->value; break; case AdvancedFilterComparator::BETWEEN: list($min, $max) = explode(',', $this->value); $return = $value >= $min && $value <= $max; break; case AdvancedFilterComparator::NOT_BETWEEN: list($min, $max) = explode(',', $this->value); $return = !($value >= $min && $value <= $max); break; case AdvancedFilterComparator::IN: $return = Arrays::contains(ValueAs::arr($this->value), $value); break; case AdvancedFilterComparator::NOT_IN: $return = !Arrays::contains(ValueAs::arr($this->value), $value); break; case AdvancedFilterComparator::LIKE: $return = Strings::contains($value, $this->value); break; case AdvancedFilterComparator::NOT_LIKE: $return = !Strings::contains($value, $this->value); break; case AdvancedFilterComparator::STARTS_WITH: $return = Strings::startsWith($value, $this->value); break; case AdvancedFilterComparator::NOT_STARTS_WITH: $return = !Strings::startsWith($value, $this->value); break; case AdvancedFilterComparator::ENDS_WITH: $return = Strings::endsWith($value, $this->value); break; case AdvancedFilterComparator::NOT_ENDS_WITH: $return = !Strings::endsWith($value, $this->value); break; default: throw new \RuntimeException("Comparator " . AdvancedFilterComparator::getDisplayValue($this->comparator) . ' is not currently supported with checkValue'); } return $return; }
public function assemblePredicateClause(AbstractPredicateClause $clause) { if (!$clause->hasPredicates()) { return ''; } if (count($clause->getPredicates()) === 1 && Arrays::first($clause->getPredicates()) instanceof PredicateSet) { $assembled = $this->getAssembler()->assembleSegment(Arrays::first($clause->getPredicates())); if (Strings::startsWith($assembled, '(') && Strings::endsWith($assembled, ')')) { $assembled = substr($assembled, 1, -1); } return $clause->getAction() . ' ' . $assembled; } else { return $clause->getAction() . ' ' . implode($clause->getGlue(), $this->assembleSegments($clause->getPredicates())); } }
include_once dirname(dirname(__DIR__)) . '/vendor/autoload.php'; use Packaged\Helpers\Path; use Packaged\Helpers\Strings; $output = '<?php namespace Fortifi\\FortifiApi\\ActivityFeed\\Enums; class ActivityFeedStoryEnum { public static $storyTypes = [ '; $stories = Path::globRecursive(Path::build(__DIR__, 'Stories')); foreach ($stories as $story) { $story = str_replace(__DIR__ . '/Stories/', '', $story); //Skip Abstracts and Non Story Classes if (Strings::startsWithAny($story, ['Abstract']) || !Strings::endsWith($story, 'Story.php')) { continue; } $part = explode('/', $story); $storyClass = array_pop($part); $storyClass = str_replace('Story.php', '', $storyClass); $storyNs = 'Fortifi\\FortifiApi\\ActivityFeed\\Stories\\' . implode('\\', $part); $key = Strings::stringToUnderScore($storyClass); //Skip Interfaces if (substr($key, 0, 2) == 'i_') { continue; } $output .= " '{$key}' => '" . $storyNs . "\\" . $storyClass . "Story',\n"; } $output .= ' ]; }
/** * Find the map type based on the provided object * * @param $object * * @return string */ public function lookupMapType($object) { $reflection = new \ReflectionObject($object); $filename = $reflection->getFileName(); //Find the common start to the filename of the callee and this file, which //is known to be in the vendor directory $prefix = Strings::commonPrefix($filename, $this->ownFile()); //Account for other packaged repos that may offer resources if (Strings::endsWith($prefix, 'packaged' . DIRECTORY_SEPARATOR)) { $prefix = substr($prefix, 0, -9); } //Calculate the vendor and package names if (Strings::endsWith($prefix, 'vendor' . DIRECTORY_SEPARATOR)) { $path = substr($filename, strlen($prefix)); $this->_lookupParts = array_slice(explode('/', $path, 3), 0, 2); return DirectoryMapper::MAP_VENDOR; } return DirectoryMapper::MAP_SOURCE; }
public function testEndsWith() { $this->assertTrue(Strings::endsWith("abcdef", "f", true)); $this->assertTrue(Strings::endsWith("aBcdeF", "eF", true)); $this->assertTrue(Strings::endsWith("aBcdeF", "ef", false)); $this->assertTrue(Strings::endsWith("aBcdeF", ["de", "ef"], false)); $this->assertFalse(Strings::endsWith("aBcdef", "de", false)); $this->assertFalse(Strings::endsWith("aBcdef", "eF", true)); }