読者です 読者をやめる 読者になる 読者になる

Hiroto's diary

プログラミング関連を書くかも

PHPで楽に文字列を操作するライブラリを作った

PHPで楽に文字列を操作するライブラリ、StringBuilderを作った。ソースコードGithubで公開していてcomposerからでもダウンロード出来る。

github.com

packagist.org

ドキュメントはGitHub Pagesでホストしています。

https://hiroto-k.github.io/StringBuilder/hiroto-k.github.io

なにこれ

関数のネストで読みにくくなるのを避けるためにメソッドチェインで文字列を操作出来るようにしたライブラリ。

例を見たほうが早いので以下の事をしてみます。

$str,$arr以外の中間変数を用いずに

1, '  one two three 'の文字列の後ろに'four'を追加
2, 先頭の空白を削除
3, 全て大文字に変換
4, スペースで分割して配列に変換

めっちゃ単純で何の意味もないコードですが、普通のPHPでやるとこうなります。

<?php
$str = '  one two three ';
$arr = explode(' ', strtoupper(ltrim($str.'four')));
var_dump($arr);

…読みにくいですね。

これをStringBuilderでやってみる

<?php
use HirotoK\StringBuilder\StringBuilder as SB;

$str = '  one two three ';
$arr = SB::make($str)->append('four')->ltrim()->upcase()->explode(' ')
var_dump($arr);

Rubyみたいにメソッドチェインで書ける分見やすくなります。こんな事を簡単に出来るようにするライブラリです。

インストール

PHP 5.6以降が必要です。

  • composerからインストール。composer require hiroto-k/string-builderを実行する
  • vendor/autoload.phpファイルを読み込む。
  • ファイルの先頭にuse HirotoK\StringBuilder\StringBuilder;を書いてStringBuilderクラスを使えるようにする。
  • new StringBuilder($str)StringBuilder::make($str)インスタンスを作って処理をする。