Strings Package provide a fluent, object-oriented interface for working with multibyte string

Overview

Strings

Strings Package provide a fluent, object-oriented interface for working with multibyte string, allowing you to chain multiple string operations together using a more readable syntax compared to traditional PHP strings functions.

License MIT Total downloads GitHub Repo stars GitHub forks Hits of Code Discord


Installation

With Composer

composer require glowy/strings

Resources

Tests

Run tests

./vendor/bin/pest

License

The MIT License (MIT) Copyright (c) Sergey Romanenko

You might also like...
A simple Object Oriented wrapper for Linear API, written with PHP.

PHP Linear API A simple Object Oriented wrapper for Linear API, written with PHP. NOTE You should take a look Linear GraphQL API Schema for all nodes

Provides an object-oriented API to query in-memory collections in a SQL-style.

POQ - PHP Object Query Install composer require alexandre-daubois/poq 1.0.0-beta2 That's it, ready to go! 🎉 Usage Here is the set of data we're going

An object oriented wrapper around PHP's built-in server.
An object oriented wrapper around PHP's built-in server.

Statix Server Requirements PHP 8 minumum Installation composer require statix/server Basic Usage To get started, ensure the vendor autoload script is

PHP Unoconv - An Object Oriented library which allow easy to use file conversion with Unoconv.

An Object Oriented library which allow easy to use file conversion with Unoconv. Install The recommended way to install PHP-Unoconv is thr

The XP Framework is an all-purpose, object oriented PHP framework.

XP Framework Core This is the XP Framework's development checkout. Installation If you just want to use the XP Framework, grab a release using compose

An article about alternative solution for convert object into a JSON Object for your api.

Do we really need a serializer for our JSON API? The last years I did build a lot of JSON APIs but personally was never happy about the magic of using

Your alter ego object. Takes the best of object and array worlds.

Supporting Opensource formapro\values is an MIT-licensed open source project with its ongoing development made possible entirely by the support of com

provides a nested object property based user interface for accessing this configuration data within application code

laminas-config This package is considered feature-complete, and is now in security-only maintenance mode, following a decision by the Technical Steeri

The package provides an expressive "fluent" way to define model attributes.

The package provides an expressive "fluent" way to define model attributes. It automatically builds casts at the runtime and adds a native autocompletion to the models' properties.

Comments
  • Add license scan report and status

    Add license scan report and status

    Your FOSSA integration was successful! Attached in this PR is a badge and license report to track scan status in your README.

    Below are docs for integrating FOSSA license checks into your CI:

    opened by fossabot 1
  • Moving to PHP 7.4.0

    Moving to PHP 7.4.0

    Define the application minimum supported PHP version 7.4.0

    What's new in PHP 7.4

    https://stitcher.io/blog/new-in-php-74

    PHP Versions Stats - 2020.2 Edition

    https://blog.packagist.com/php-versions-stats-2020-2-edition/

    opened by Awilum 0
Releases(v5.0.1)
  • v5.0.1(Jul 3, 2022)

  • v5.0.0(Jul 3, 2022)

  • v4.4.0(Jun 2, 2022)

    • Added is() method.
    • Added isNot() method.
    • Added isNotHexColor() method.
    • Added isNotAffirmative() method.
    • Added isNotDate() method.
    • Added isNotEmail() method.
    • Added isNotUrl() method.
    • Added isNotEmpty() method.
    • Added isNotAscii() method.
    • Added isNotAlphanumeric() method.
    • Added isNotAlpha() method.
    • Added isNotBlank() method.
    • Added isNotNumeric() method.
    • Added isNotDigit() method.
    • Added isNotLower() method.
    • Added isNotUpper() method.
    • Added isNotHexadecimal() method.
    • Added isNotPrintable() method.
    • Added isNotPunctuation() method.
    • Added isNotSerialized() method.
    • Added isNotJson() method.
    • Added isNotBase64() method.
    • Added isNotSimilar() method.
    • Added isNotEqual() method.
    • Added isNotIP() method.
    • Added isNotMAC() method.
    • Added isNotHTML() method.
    • Added isNotInteger() method.
    • Added isNotFloat() method.
    • Added isNotNull() method.
    • Added isNotBoolean() method.
    • Added isNotTrue() method.
    • Added isNotFalse() method.
    • Added isNotUuid() method.
    • Added when() method.
    • Added unless() method.
    • Added whenContains() method.
    • Added whenEqual() method.
    • Added whenIs() method.
    • Added whenIsAscii() method.
    • Added whenStartsWith() method.
    • Added whenIsUuid() method.
    • Added wrap() method.
    • Added dump() method.
    • Added dd() method.
    • Added newLine() method.
    Source code(tar.gz)
    Source code(zip)
  • v4.2.0(Jan 1, 2022)

  • v4.1.0(Dec 30, 2021)

  • v4.0.0(Dec 22, 2021)

  • v3.0.2(Apr 13, 2021)

  • v3.0.1(Feb 19, 2021)

  • v3.0.0(Feb 18, 2021)

    • Moving to PHP 7.4.0
    • add echo() method
    • add format() method
    • add crc32() method
    • add md5() method
    • add sha1() method
    • add sha256() method
    • add base64Decode() method
    • add base64Encode() method
    Source code(tar.gz)
    Source code(zip)
  • v2.5.0(Jan 29, 2021)

  • v2.4.0(Dec 5, 2020)

    • add copy() method.

    • add ability to extend Strings class with Macros.

      use Atomastic\Strings\Strings;
      use Atomastic\Macroable\Macroable;
      
      Strings::macro('concatenate', function(string $string) {
          return $this->toString() . $string;
      });
      
      $strings = new Strings('Hello');
      
      echo $strings->concatenate(' World'));
      
    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(Nov 29, 2020)

    • add replace() method.
    • add pipe() method.
    • add chars() method.
    • add getIterator() method.
    • add offsetExists() offsetGet() offsetSet() offsetExists() methods.
    • implement interface: ArrayAccess, Countable, IteratorAggregate.
    • improve methods trim() trimLeft() trimRight()
    • improve tests for replaceArray() method.
    • improve tests workflow
    • general code refactoring
    Source code(tar.gz)
    Source code(zip)
  • v2.2.0(Nov 24, 2020)

    • fix limit() method if string length is lower or equals to provided limit.
    • fix studly() method.
    • fix issue with encoding on new Strings object creation.
    • remove memory cache for words.
    • add tests for isSimilar() method.
    • improve tests for isBase64() method.
    • improve tests for move() method.
    • improve tests for beforeLast() method.
    • improve tests for afterLast() method.
    • improve tests for replaceFirst() method.
    • improve tests for between() method.
    • improve tests for indexOfLast() method.
    • improve tests for indexOf() method.
    • improve tests for random() method.
    • improve tests for replaceLast() method.
    • improve tests for isSerialized() method.
    • improve tests for hash() method.
    • improve tests for studly() method.
    • improve tests for __costruct() method.
    • improve tests workflow.
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Nov 5, 2020)

    • add isIP method.
    • add isMAC method.
    • add isHTML method.
    • add isBoolean method.
    • add isTrue method.
    • add isFalse method.
    • improve tests for toBoolean method.
    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Oct 28, 2020)

    • simplify length() method.
    • add lines() method.
    • add words() method.
    • add charsFrequency() method.
    • add wordsFrequency() method.
    • add wordsSortDesc() and wordsSortAsc() methods.
    • add replaceDashes() method.
    • add replacePunctuations() method.
    • add getEncoding() and setEncoding() methods.
    • add replaceNonAlpha() method and update replaceNonAlphanumeric() method.
    • add replaceNonAlphanumeric() method.
    • add isUrl() method.
    • add isEmail() method.
    • improve stripSpaces() method.
    • rewrite method logic and rename countWords() to wordsCount()
    • rename method words() to wordsLimit() and improve tests for this method.
    • update tests for segments() method.

    BREAKING CHANGES

    • USE METHOD wordsCount() INSTEAD OF countWords()
    • USE wordsLimit() INSTEAD OF words()
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Sep 25, 2020)

Owner
Glowy PHP
A set of decoupled and reusable PHP building blocks for kickass Web Applications.
Glowy PHP
Stringy - A PHP string manipulation library with multibyte support, performance optimized

Stringy - A PHP string manipulation library with multibyte support, performance optimized

Lars Moelleken 145 Jan 1, 2023
Create executable strings using a fluent API.

command-builder A PHP class to build executable with using fluent API. Summary About Features Installation Examples Compatibility table Tests About I

Khalyomede 2 Jan 26, 2022
This package provides a simple and intuitive way to work on the Youtube Data API. It provides fluent interface to Youtube features.

Laravel Youtube Client This package provides a simple and intuitive way to work on the Youtube Data API. It provides fluent interface to Youtube featu

Tilson Mateus 6 May 31, 2023
Decimal handling as value object instead of plain strings.

Decimal Object Decimal value object for PHP. Background When working with monetary values, normal data types like int or float are not suitable for ex

Spryker 16 Oct 24, 2022
Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

Introduction Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services. It handles almost all of the boilerpl

The Laravel Framework 2.2k Dec 31, 2022
A simple, standalone, modern PHP class inspector and mapper library, wrapping PHPs native reflection in a fluent interface

A simple, standalone, modern PHP class inspector and mapper library, wrapping PHPs native reflection in a fluent interface.

smpl 9 Sep 1, 2022
A fluent interface for interacting with Netopia's services.

laravel-netopia A fluent interface for interacting with Netopia's services. Info Database It'll create a table named netopia_payments with the followi

Codestage 3 Oct 10, 2022
the examples of head first object oriented analysis & design - in PHP

Head First object oriented analysis & design in (PHP) after cloning the repository, you have to install the project's dependancies by running the foll

Muhammed ElFeqy 3 Oct 16, 2021
Object-Oriented API for PHP streams

Streamer Streamer is an Object-Oriented API for PHP streams. Why should I use Streams? A stream is a flow of bytes from one container to the other. Yo

Francois Zaninotto 270 Dec 21, 2022
PHP FFmpeg - An Object Oriented library to convert video/audio files with FFmpeg / AVConv

PHP FFmpeg An Object Oriented library to convert video/audio files with FFmpeg / AVConv. Check another amazing repo: PHP FFMpeg extras, you will find

Alchemy 10 Dec 31, 2022