jpuck/phpdev

一组用于构建中的代码的有用类。

1.9.1 2017-12-14 03:41 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:20:42 UTC


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;
	}
}