javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

php-有什么方法可以使用反射类来设置私有/受保护的静态属性吗?

我正在尝试为类的静态属性执行备份/恢复功能。 我可以使用反射对象setStaticPropertyValue($key, $value)072方法获得所有静态属性及其值的列表。 这将同时获得privateprotected属性及其值。

问题是,当尝试使用反射对象setStaticPropertyValue($key, $value)方法还原属性时,我似乎没有得到相同的结果。 2588963132680680073073和2588963132680680963074变量对于此方法不可见,因为对258896313268068007575而言是不可见的。似乎不一致。

有什么方法可以使用反射类来设置私有/受保护的静态属性,或者其他任何方式呢?

试过

class Foo {
    static public $test1 = 1;
    static protected $test2 = 2;

    public function test () {
        echo self::$test1 . '<br>';
        echo self::$test2 . '<br><br>';
    }

    public function change () {
        self::$test1 = 3;
        self::$test2 = 4;
    }
}

$test = new foo();
$test->test();

// Backup
$test2 = new ReflectionObject($test);
$backup = $test2->getStaticProperties();

$test->change();

// Restore
foreach ($backup as $key => $value) {
    $property = $test2->getProperty($key);
    $property->setAccessible(true);
    $test2->setStaticPropertyValue($key, $value);
}

$test->test();
trans by 2019-10-28T08:39:19Z

时间-在PHP中获取小时和分钟

我需要以Hour:Min格式获取当前时间,任何人都可以帮助我。

trans by 2019-10-28T03:19:33Z

PHP-MySQLi准备的语句错误报告

这个问题在这里已有答案:

  • mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误。 如何获取并修复实际的mysql错误?                                     1个答案

我正在努力弄清MySQli,但我对错误报告感到困惑。我正在使用MySQLi'prepare'语句的返回值来检测执行SQL时的错误,如下所示:

$stmt_test =  $mysqliDatabaseConnection->stmt_init();
if($stmt_test->prepare("INSERT INTO testtable VALUES (23,44,56)"))
{
 $stmt_test->execute();
 $stmt_test->close();
}
else echo("Statement failed: ". $stmt_test->error . "<br>");

但是,prepare语句的返回值是否仅检测SQL语句的前置是否存在错误,而不检测执行错误? 如果是这样,我应该更改执行行以标记错误,如下所示:

if($stmt_test->execute()) $errorflag=true;

为了安全起见,在语句执行后我还应该执行以下操作:

if($stmt_test->errno) {$errorflag=true;}

...还是我可以开始,MySQLi prepare'语句上的返回值捕获了与它完全定义的查询相关的所有错误?

谢谢C

trans by 2019-10-28T00:19:08Z

是否有Twig速记语法用于输出条件tex

Twig中是否有较短的语法来输出条件字符串?

<h1>{% if not info.id %}create{% else %}edit{% endif %}</h1>

传统的php比这更简单:

<h1><?php info['id']? 'create' : 'edit' ?></h1>
trans by 2019-10-27T20:10:42Z

PHP-如何获取Cookie过期时间

创建cookie时,如何获取cookie的过期时间?

trans by 2019-10-27T20:05:11Z

如何在PHP项目中找到未使用的函数

如何在PHP项目中找到任何未使用的函数?

PHP中是否有功能或API可以让我分析我的代码库-例如Reflection,token_get_all()

这些API的功能是否足够丰富,使我不必依靠第三方工具来执行此类分析?

trans by 2019-10-27T09:44:55Z

数学-在PHP中更改数字的符号?

我有几个花车:

-4.50
+6.25
-8.00
-1.75

我如何才能将所有这些更改为负浮点数,使它们变为:

-4.50
-6.25
-8.00
-1.75

我也需要一种相反的方法

如果浮点为负,则使其为正。

trans by 2019-10-27T09:17:39Z

从指定日期获取年份php

我有一个格式为2068-06-15的日期。我想使用php函数从该日期获取年份。 有人可以建议如何做到这一点。

trans by 2019-10-27T08:18:21Z

如何在PHP的前20个单词中截断字符串?

如何在PHP中20个单词后截断字符串?

trans by 2019-10-27T04:32:04Z

PHP-如何访问数组/对象?

我有以下数组,当我执行email@saya.com时,我得到:

Array (
          [0] => 10499478683521864
          [1] => 07/22/1983
          [2] => email@saya.com
          [3] => Alan [4] => male
          [5] => Malmsteen
          [6] => https://www.facebook.com  app_scoped_user_id/1049213468352864/
          [7] => stdClass Object (
                   [id] => 102173722491792
                   [name] => Jakarta, Indonesia
          )
          [8] => id_ID
          [9] => El-nino
          [10] => Alan El-nino Malmsteen
          [11] => 7
          [12] => 2015-05-28T04:09:50+0000
          [13] => 1
        ) 

我试图按如下方式访问数组:

echo $get_user[0];

但这显示了我:

未定义0

注意:

我从Facebook SDK 4中获得了这个数组,所以我不知道原始的数组结构。

例如,如何从数组访问值email@saya.com

trans by 2019-10-27T02:46:34Z

php-使用try {} catch {}和if {} else {}相比有什么好处

我从php中的普通mysql切换到PDO,我注意到测试错误的常用方法是使用try / catch组合,而不是if / else组合。

该方法的优点是,我可以使用一个try / catch块而不是几个嵌套的if / else块来处理不同步骤(连接,准备,执行等)的所有错误吗?

trans by 2019-10-26T22:41:52Z

php-获取PDF文档中的页数

这个问题供参考和比较。 解决方案是下面的公认答案。

我已经花了很多时间寻找一种快速,简单但大多准确的方法来获取PDF文档中的页数。 由于我在一家处理PDF的图形印刷和复制公司工作,因此在处理文件之前必须准确知道其页数。 PDF文档来自许多不同的客户端,因此它们不是使用同一应用程序生成的和/或使用不同的压缩方法。

以下是我发现不足或根本不起作用的一些答案:

使用Imagick(PHP扩展)

Imagick需要进行大量安装,apache需要重新启动,而当我终于使它工作时,它花费了惊人的时间(每个文档2-3分钟),并且始终在每个文档中返回/\/N\s+(\d+)/页(没有看到有效的文档) 至今仍是Imagick的副本),所以我将其丢弃了。 /N <number>/N354方法均是如此。

使用FPDI(PHP库)

FPDI易于使用和安装(只需解压缩文件并调用PHP脚本),但是FPDI不支持许多压缩技术。 然后返回一个错误:

FPDF错误:该文档(test_1.pdf)可能使用了FPDI随附的免费解析器不支持的压缩技术。

打开流并使用正则表达式进行搜索:

这将在流中打开PDF文件并搜索某种类型的字符串,其中包含页面计数或类似内容。

$f = "test1.pdf";
$stream = fopen($f, "r");
$content = fread ($stream, filesize($f));

if(!$stream || !$content)
    return 0;

$count = 0;
// Regular Expressions found by Googling (all linked to SO answers):
$regex  = "/\/Count\s+(\d+)/";
$regex2 = "/\/Page\W*(\d+)/";
$regex3 = "/\/N\s+(\d+)/";

if(preg_match_all($regex, $content, $matches))
    $count = max($matches);

return $count;
  • /\/N\s+(\d+)/(查找/N <number>)不起作用,因为只有少数文档内部具有参数/N,因此大多数情况下它不返回任何内容。 资源。
  • /\/N\s+(\d+)/(查找/N <number>)没有获取页面数,主要包含一些其他数据。 资源。
  • /\/N\s+(\d+)/(查找/N <number>)也不起作用,因为文档可能包含/N的多个值; 大多数(如果不是全部)不包含页面计数。 资源。

那么,什么工作可靠又准确?

见下面的答案

trans by 2019-10-26T19:21:31Z

PHP日期将5年添加到当前日期

我有这个PHP代码:

$end=date('Y-m-d');

我用它来获取当前日期,而我需要未来5年的日期,例如:

$end=date('(Y + 5)-m-d');

我怎样才能做到这一点?

trans by 2019-10-26T09:55:16Z

PHP的-添加到数组,如果它不存在

仅当元素不在数组中时才如何将其添加到数组中? 我有以下几点:

$a=array();
// organize the array
foreach($array as $k=>$v){
    foreach($v as $key=>$value){
        if($key=='key'){
        $a[]=$value;
        }
    }
}

print_r($a);

//输出

Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 1
[4] => 2
[5] => 3
[6] => 4
[7] => 5
[8] => 6

)

相反,我希望$ a包含唯一值。 (我知道我可以使用array_unique获得所需的结果,但我只是想知道)

trans by 2019-10-26T05:55:44Z

的PHP-检查belongsToMany关系是否存在-L

我的两个表(客户和产品)使用Laravel的blongToMany和数据透视表建立了ManyToMany关系。现在,我要检查某个客户是否具有某个产品。

我可以创建一个模型来检查数据透视表,但是由于Laravel不需要将此模型用于belongsToMany方法,所以我想知道是否有另一种方法可以在没有数据透视表模型的情况下检查是否存在某种关系。

trans by 2019-10-26T05:30:36Z

如何替换PHP中已弃用的set_magic_quotes_runtime?

当我尝试运行必须使用但未编写的php脚本时,我收到此消息。

Deprecated: Function set_magic_quotes_runtime() is deprecated in /opt/lampp/htdocs/webEchange/SiteWeb_V5/inc/fpdf.php on line 1810

这是1810行:

set_magic_quotes_runtime(0);

如果这是一个已弃用的函数,我可以用它替换什么?

非常感谢你!

trans by 2019-10-26T03:56:57Z

休息-PHP cURL HTTP PUT

我正在尝试使用cURL创建HTTP PUT请求,但无法使其正常工作。 我读了很多教程,但没有一个真正起作用。 这是我当前的代码:

$filedata = array('metadata' => $rdfxml);
$ch = curl_init($url);
$header = "Content-Type: multipart/form-data; boundary='123456f'";
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array($header));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($filedata));
$returned = curl_exec($ch);

if (curl_error($ch))
{
    print curl_error($ch);
}
else
{
    print 'ret: ' .$returned;
}

我也尝试使用PHP PEAR,但得到了相同的结果。 问题是存储库说尚未设置元数据。 我真的需要帮助! 谢谢!

trans by 2019-10-25T23:48:42Z

php-CRON命令每5分钟运行一次URL地址

我是cron命令的新手,需要帮助。

我在http://example.com/check/上有一个脚本。

cron每5分钟运行一次此URL的命令是什么?

我试过了

* / 5 * * * * /home/test/check.php

但是我想运行URL而不是相对的脚本地址。 怎么做?

trans by 2019-10-25T21:43:30Z

在PHP中try-catch的性能

在PHP 5中使用try-catch语句时,要考虑什么样的性能影响?

以前,我已经在网上阅读了一些有关该主题的古老的,看似矛盾的信息。 我目前必须使用的许多框架都是在php 4上创建的,并且缺少php 5的许多优点。因此,我在使用try-catchs与php方面没有太多经验。

trans by 2019-10-25T19:49:05Z

PHP:默认cURL超时值

PHP cURL的默认超时值是多少? 我可以从编码中获取价值吗?

trans by 2019-10-25T16:11:50Z