1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?php
- /**
- * Created by PhpStorm.
- * User: robin
- * Date: 1/10/16
- * Time: 11:28 PM
- */
-
- namespace Luticate\Utils\Business;
-
- use Carbon\Carbon;
-
- class LuStringUtils
- {
- public static function stringSnakeToCamelCase($string, $capitalizeFirstCharacter) {
- $str = preg_replace_callback("/_[a-zA-Z]/", function($matches)
- {
- return strtoupper($matches[0][1]);
- }, $string);
- if ($capitalizeFirstCharacter)
- $str[0] = strtoupper($str[0]);
- return $str;
- }
-
- public static function arraySnakeToCamelCase($array)
- {
- if (!is_array($array))
- {
- return $array;
- }
- $camelCase = [];
- foreach ($array as $key => $value)
- {
- $camelCase[self::stringSnakeToCamelCase($key, true)] = self::arraySnakeToCamelCase($value);
- }
- return $camelCase;
- }
-
- public static function convertJsonString($json)
- {
- $array = json_decode($json, true);
- return self::arraySnakeToCamelCase($array);
- }
-
- public static function parseDate($str)
- {
- try {
- return Carbon::parse($str);
- } catch (\Exception $e) {
- return null;
- }
- }
-
- public static function endsWith($haystack, $needle) {
- return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0
- && strpos($haystack, $needle, $temp) !== false);
- }
-
- public static function startsWith($haystack, $needle) {
- return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== false;
- }
- }
|