我正在尝试执行类的静态属性的备份/恢复function。 我可以使用reflection对象getStaticProperties()方法获取所有静态属性及其值的列表。 这将获得private和public static属性及其值。 问题是我试图用reflection对象setStaticPropertyValue($key, $value)方法恢复属性时似乎并没有得到相同的结果。 private和protectedvariables对于这个方法是不可见的,因为它们是getStaticProperties() 。 似乎不一致。 有什么办法设置私人/受保护的静态属性使用reflection类,或任何其他方式呢? 受审 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(); […]
我试图使用file_get_contents与stream_context_create一起发出POST请求。 我的代码到目前为止: $options = array('http' => array( 'method' => 'POST', 'content' => $data, 'header' => "Content-Type: text/plain\r\n" . "Content-Length: " . strlen($data) . "\r\n" )); $context = stream_context_create($options); $response = file_get_contents($url, false, $context); 它工作正常,但是,当一个HTTP错误发生时,它吐出一个警告: file_get_contents(…): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request 并返回false。 有没有办法: 压制一个警告(我打算抛出我自己的例外,如果失败) 从stream中获取错误信息(至less是响应码) 我知道如何做到这一点,我的问题是具体关于stream/文件function。 对不起,如果这是rtm,stream的东西是我的新。
我只想以电子邮件作为login模式,我不想拥有用户名。 symfony2 / symfony3和FOSUserbundle可以吗? 我在这里阅读http://groups.google.com/group/symfony2/browse_thread/thread/92ac92eb18b423fe 但是,然后我坚持两个违反约束。 问题是如果用户留下电子邮件地址空白,我得到两个约束违规: 请填入一个用户名 请input电子邮件 有没有一种方法来禁用validation给定的字段,或更好的方式从表单中删除一个字段?
有没有可能做这样的事情? public function something() { $thisMethodName = method_get_name(); } where method_get_name()返回方法的名字?
我正在PHP中build立一个pathstring。 我需要它跨平台(即Linux,Windows,OS X)工作。 我正在这样做: $path = $someDirectory.'/'.$someFile; 假设$someDirectory和$someFile在运行时在各种平台上正确格式化。 这在Linux和OS X上运行良好,但在Windows上不能运行。 问题是我认为可以在Windows上使用的/字符。 有没有一个PHP函数或一些其他技巧,在Windows上运行时切换到\ ? 编辑:只是要清楚,结果string是 c:\Program Files (x86)\Sitefusion\Sitefusion.org\Defaults\pref/user.preferences 在Windows上。 显然,斜线混淆了Windows。
你如何启动交互式控制台的ruby和PHP
我得到这个代码的每个迭代“非法偏移types”错误。 这里的代码可以帮助任何人: $s = array(); for($i = 0; $i < 20; $i++){ $source = $xml->entry[$i]->source; $s[$source] += 1; } print_r($s) 有任何想法吗。 提前致谢。
WHERE a = 1 AND (b = 1 Or b = 2) AND (c = 1 OR c = 2) 我怎样才能做到这一点在教义? $q->where("a = 1"); $q->andWhere("b = 1") $q->orWhere("b = 2") $q->andWhere("c = 1") $q->orWhere("d = 2") 这是不正确的…应该是: $q->where("a = 1"); $q->andWhere("b = 1") $q->orWhere("b = 2") $q->andWhere("c = 1") $q->orWhere("d = 2") 但我怎么能做到这一点? 在Propel是函数getNewCriterion ,并在学说…?
我正在寻找最好的方法来检查查询是否有任何结果返回。 我感觉好像我写了这么多的代码,有时我会得到错误,有时我不会。 例如,我运行这个查询来检查用户名是否存在,然后再向数据库中插入一个用户名。 $result = mysql_query("SELECT * FROM …"); 然后我想查看是否有结果返回。 这是我做的一个方法: if (!$result) { PERFORM ACTION } 如果第一种方式行不通,那么有时候这样做会: if (mysql_num_rows($result)==0) { PERFORM ACTION } 然后我甚至看到我可以这样做: list($total) = mysql_fetch_row($result); if ($total==0) { PERFORM ACTION } 做这个的最好方式是什么?
我需要删除一个string的子string,但只有当它在string的结束。 例如,删除以下string末尾的“string”: "this is a test string" -> "this is a test " "this string is a test string" – > "this string is a test " "this string is a test" -> "this string is a test" 有任何想法吗 ? 可能某种preg_replace,但如何?