stdlib
v2.0.12
؟ stdlib - مكتبة الأدوات الأساسية المفيدة لتطوير PHP.
يتضمن :
المزيد من الاستخدامات
PhpDotEnv Dotenv( .env ).AutoLoader أداة تحميل تلقائية بسيطةObjectBox حاوية كائن بسيطةOptional مثل java.util.Optionalcomposer require toolkit/ stdlib use Toolkit stdlib Str StrBuffer ;
$ buf = StrBuffer:: new ( " c " );
$ buf -> prepend ( ' ab ' )
$ buf -> append ( ' de ' )
$ str = ( string ) $ buf ; // "abcde"
$ str = $ buf -> toString (); // "abcde"
// get and clean.
$ str = $ buf -> fetch (); // "abcde"
$ str = $ buf -> join ( ' , ' ); // "ab,c,de" ObjectBox - حاوية كائن بسيطة.
use Toolkit stdlib Obj ObjectBox ;
$ box = ObjectBox:: global ();
// set
$ box -> set ( ' router ' , function () {
return new MyRouter ();
});
$ box -> set ( ' renderer ' , [
' class ' => MyRenderer::class,
' tplDir ' => ' path/to/dir ' ,
]);
// with options for create
$ box -> set ( ' somObj ' , [
' class ' => MyObject::class,
' __opt ' => [
// will always create new object.
' objType ' => ObjectBox:: TYPE_PROTOTYPE ,
],
]);
// get
/** @var MyRouter $router */
$ router = $ box -> get ( ' router ' );
/** @var MyRenderer $renderer */
$ renderer = $ box -> get ( ' renderer ' ); AutoLoader - محمل psr4 بسيط، يمكن استخدامه للاختبارات.
AutoLoader:: addFiles ([
// alone files
]);
$ loader = AutoLoader:: getLoader ();
$ loader -> addPsr4Map ([
' namespace ' => ' path '
]);
$ loader -> addClassMap ([
' name ' => ' class file '
]);ويهدف إلى القضاء على الأحكام المفرطة.
لا تستخدم اختياري:
use Toolkit stdlib Util Optional ;
$ userModel = UserModel:: findOne ( 23 );
if ( $ userModel ) {
$ username = $ userModel -> name ;
} else {
$ username = ' unknown ' ;
}استخدم اختياري:
use Toolkit stdlib Util Optional ;
$ username = Optional:: ofNullable ( $ userModel )
-> map ( function ( $ userModel ) {
return $ userModel -> name ;
})-> orElse ( ' unknown ' );استخدم بناء جملة السهم:
use Toolkit stdlib Util Optional ;
$ username = Optional:: ofNullable ( $ userModel )
-> map ( fn ( $ userModel ) => $ userModel -> name )
-> orElse ( ' unknown ' ); PhpDotEnv - أداة تحميل ملفات بسيطة لا تدعم البيئة.
ملف تكوين env .env (يجب أن يكون بتنسيق "ini"):
APP_ENV =dev
DEBUG =true
; ... ...الاستخدام:
PhpDotEnv:: load ( __DIR__ , ' .env ' );
env ( ' DEBUG ' , false );
env ( ' APP_ENV ' , ' prod ' ); use Toolkit stdlib Util Stream DataStream ;
use Toolkit stdlib Util Stream ListStream ;
$ userList = ListStream:: of ( $ userModels )
-> filter ( fn ( $ userModel ) => $ userModel -> age > 20 ) // only need age > 20
-> map ( function ( $ userModel ) {
// only need field: age, name
return [
' age ' => $ userModel -> age ,
' name ' => $ userModel -> name ,
];
})
-> toArray ();
vdump ( $ userList ); $ pf = PipeFilters:: newWithDefaultFilters ();
$ val = $ pf -> applyString ( ' inhere ' , ' upper ' ); // 'INHERE'
$ val = $ pf -> applyString ( ' inhere ' , ' upper|substr:0,3 ' ); // 'INH' معهد ماساتشوستس للتكنولوجيا