saidqb / core-php
core-php
v8.1.6
2024-10-14 07:42 UTC
Requires
- php: ^8.1
- doctrine/collections: ^2.2
- phlak/strgen: ^3.0
- str/str: ^1.1
Requires (Dev)
- phpunit/phpunit: 10.5
README
A dependency for php project
Description
progress build...
Requirments
PHP >= 8.1
Installation
composer require saidqb/core-php
Package include
- Array Collection doctrine/collection
- String Manipulation str/str
- Generator String phlak/strgen
Arr
use Saidqb\CorePhp\Lib\Arr; $arr = [1, 2, 3]; Arr::collection($arr)->filter(function($element) { return $element > 1; }); // [2, 3] Arr::collection($arr)->contains(1); // true Arr::collection($arr)->filter(function($element) { return $element > 1; }); // [2, 3]
Detail Documentation
Str
use Saidqb\CorePhp\Lib\Str; $str = 'string'; Str::make($str)->startsWith($substring); Str::make($str)->endsWith($substring);
Detail Documentation
Generate
use Saidqb\CorePhp\Lib\Generate; Generate::str()->lowerAlpha($length); Generate::str()->upperAlpha($length); Generate::str()->mixedAlpha($length); Generate::str()->numeric($length); Generate::str()->alphaNumeric($length); Generate::str()->special($length); Generate::str()->all($length); Generate::str()->custom($length, $charset);
Detail Documentation
Pagination
use Saidqb\CorePhp\Pagination; $pagination = Pagination::make()->totalItems(100)->itemPerPage(10)->currentPage(1)->get();
Response
use Saidqb\CorePhp\Response; Response::make()->response([], ResponseCode::HTTP_OK, ResponseCode::HTTP_OK_MESSAGE, 0)->send(); // list item Response::make()->response(['items' => $items, 'pagination' => $pagination])->send(); // single item Response::make()->response(['item' => $item])->send();
used in controller
BaseController
use Saidqb\CorePhp\Response; use Saidqb\CorePhp\ResponseCode; public $res; public function __construct() { $this->initResponse(); } public function initResponse() { $this->res = new Response(); return $this->res; } public function response($data, $code = ResponseCode::HTTP_OK, $message = ResponseCode::HTTP_OK_MESSAGE, $errorCode = 0) { $this->res->response($data, $code, $message, $errorCode)->send(); }
Extends to BaseController
use Saidqb\CorePhp\ResponseCode; public function __construct() { parent::__construct(); $this->initResponse()->hide(['password']); } public function index() { $this->response($data, ResponseCode::HTTP_OK); }
Avilable Manipulate data:
->hide(['password']) ->decode(['extra']) ->decodeChild(['extra.user']) ->decodeArray(['extra_list']) ->addFields(['field1' => '1', 'field2' => '2']) ->addField('field1', '1') ->hook('item', function($data){ return $data})
COFFEE FOR BEST PERFORMANCE
COFFEE HERE for more inovation
OR