jpuck / phpdev
一组用于构建中的代码的有用类。
1.9.1
2017-12-14 03:41 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ^5.5
README
一组用于构建中的PHP 7类的集合。
入门
此库已在 packagist 上注册,因此您可以使用 composer 容易地将其包含到项目中。
composer require jpuck/phpdev
别忘了在脚本中引入自动加载器。
<?php require_once 'vendor/autoload.php';
函数
bool strbegins(String $haystack, String $needle)
检查一个字符串是否以另一个字符串开头。
$haystack = 'test'; $needle = 'te'; if(Functions::strbegins($haystack, $needle)){ echo "$haystack begins with $needle"; }
mixed print_rt ( mixed $expression [, bool $return = false ] )
Tabulator包装器用于 print_r
,将8个空格替换为制表符。
use jpuck\phpdev\Functions as jp; $array = [ 'first' => [ 'second' => [ 'third' => [ 'forth' => [ 'fifth' => 5 ] ] ] ] ]; print_r($array); jp::print_rt($array);
以下代码将在控制台上以4个空格为制表符显示示例
Array ( [first] => Array ( [second] => Array ( [third] => Array ( [forth] => Array ( [fifth] => 5 ) ) ) ) ) Array ( [first] => Array ( [second] => Array ( [third] => Array ( [forth] => Array ( [fifth] => 5 ) ) ) ) )
mixed arr_export ( array $array [, bool $return = false ] )
使用制表符、方括号以及在新行箭头后没有空格的方式格式化数组,类似于 var_export
。
use jpuck\phpdev\Functions as jp; $array = [ 'first' => [ 'second' => [ 'third' => [ 'forth' => [ 'fifth' => 5 ] ] ] ] ]; var_export($array); jp::arr_export($array);
以下代码将在控制台上以4个空格为制表符显示示例
array ( 'first' => array ( 'second' => array ( 'third' => array ( 'forth' => array ( 'fifth' => 5, ), ), ), ), ) [ 'first' => [ 'second' => [ 'third' => [ 'forth' => [ 'fifth' => 5, ], ], ], ], ]
注意:关于使用此函数的对象的文档非常清晰。
注意:为了能够评估由
var_export()
生成的PHP代码,所有处理过的对象都必须实现魔法方法__set_state
。注意,StdClass没有实现__set_state()
。
$function = function(){}; $a = [ 'object' => new stdClass, 'function' => $function, ]; $b = var_export($a, true); eval("print_r($b);");
上述代码将导致以下错误
PHP 致命错误:未捕获错误:调用未定义的方法 stdClass::__set_state()
PHP 致命错误:未捕获错误:调用未定义的方法 Closure::__set_state()
null CleanMsSQLdb (PDO $pdo)
这是一个 非常强大的脚本,用于从Microsoft SQL Server数据库dbo模式中删除所有内容。
- 非系统存储过程
- 视图
- 函数
- 表(无论主键/外键约束如何)
异常
未实现
方法
use jpuck\phpdev\Exceptions\Unimplemented; class MyClass { public function foo() { // completed code return true; } /** * @throws Unimplemented */ public function bar() { // work in progress throw new Unimplemented(__METHOD__); return true; } }