我似乎无法创建一个对该类是全局的变量,并且可以在该类的所有子例程中使用.
我看到各种各样的例子显然有效,但我无法做任何工作.
码:
my $test = new Player(8470598);
package Player;
use strict;
use warnings;
use Const::Fast;
$Player::URL = 'asdfasdasURL';
my $test3 = '33333333';
our $test4 = '44444444444';
const $Player::test0 => 'asdfasdas000';
const my $test1 => 'asdfasdas111';
const our $test2 => 'asdfasdas222';
sub new{
print $Player::URL;
print $Player::test0;
print $test1;
print $test2;
print $test3;
print $test4;
return(bless({}, shift));
}
Run Code Online (Sandbox Code Playgroud)
输出:
Use of uninitialized value $Player::URL in print at D:\Text\Programming\Hockey\test.pl line 19.
Use of uninitialized value $Player::test0 in print at D:\Text\Programming\Hockey\test.pl line …Run Code Online (Sandbox Code Playgroud) 当您尝试使用较新版本编写的PHP脚本来处理旧版本时,它们是否是任何良好的资源; 特别是5.4到5.3?
我甚至检查了有关这些变化的文章,我似乎无法弄清楚我做错了什么.
这是我得到的错误,此时此刻:
Parse error: syntax error, unexpected '[' in Schedule.php on line 113
Run Code Online (Sandbox Code Playgroud)
它所指的代码:
private static $GAMES_QUERY = array('season' => null, 'gameType' => null);
.....
public function getSeason(){
$test = array_keys(self::$GAMES_QUERY)[0]; //<<<<<<<<<< line:113
return($this->query[$test]);
}
Run Code Online (Sandbox Code Playgroud)
我所见过的所有内容似乎都说5.3具有self ::,array_keys,并且能够访问这样的数组.
我在GoDaddy Shared Hosting(php 5.3.13)上运行此脚本作为cron作业,并使用log4php.脚本似乎运行良好,并完成.但是当log4php尝试完成时,它会抛出此错误.
它似乎确实输出了文件及其内容.我甚至将文件的权限更改为777.它在执行文件大小检查时似乎抛出此错误...
任何有关此错误的原因/解决方案的帮助将非常感激.
错误:
<b>Fatal error</b>: Uncaught exception 'ErrorException' with message '2: filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for log.txt, file: /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php, line: 223' in /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php:223
Stack trace:
#0 [internal function]: errorHandler(2, 'filesize() [<a ...', '/home/content/8...', 223, Array)
#1 /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php(223): filesize('log.txt')
#2 /home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderFile.php(165): LoggerAppenderRollingFile->write(NULL)
#3 /home/content/89/10338789/html/Forum/phpBB3/program/log4php/LoggerAppender.php(85): LoggerAppenderFile->close()
#4 [internal function]: LoggerAppender->__destruct()
#5 {main}
thrown in <b>/home/content/89/10338789/html/Forum/phpBB3/program/log4php/appenders/LoggerAppenderRollingFile.php</b> on line <b>223</b><br />
Run Code Online (Sandbox Code Playgroud)
配置文件:
<configuration xmlns="http://logging.apache.org/log4php/">
<appender name="myConsoleAppender" class="LoggerAppenderConsole">
<filter class="LoggerFilterLevelRange">
<param name="levelMin" value="info" />
</filter>
</appender>
<appender name="myFileAppender" class="LoggerAppenderRollingFile">
<layout …Run Code Online (Sandbox Code Playgroud) 一般情况:使用String.matches("string")时遇到"/"匹配时遇到问题; 我假设我错过了某种程度的逃避.
matches("bar" + "[\\W\\w]*"); //works.
matches("bar/" + "[\\W\\w]*"); //does not work.
matches("bar\/" + "[\\W\\w]*"); //errors
matches("bar\\/" + "[\\W\\w]*"); //does not work
matches("bar\\\\/" + "[\\W\\w]*"); //does not work
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
确切情况:
private static final String CHECK_TABLE_PRE = "<table class=\"data playerStats\">\n <thead>\n <tr>\n <th colspan=\"1\" rowspan=\"1\"> </th>\n <th colspan=\"1\" rowspan=\"1\">G</th>\n <th colspan=\"1\" rowspan=\"1\">A</th>\n <th colspan=\"1\" rowspan=\"1\">P</th>\n <th colspan=\"1\" rowspan=\"1\">+/-</th>\n <th colspan=\"1\" rowspan=\"1\">PIM</th>\n <th colspan=\"1\" rowspan=\"1\">PPG</th>\n <th colspan=\"1\" rowspan=\"1\">SHG</th>\n <th colspan=\"1\" rowspan=\"1\">S</th>\n <th colspan=\"1\" rowspan=\"1\">S%</th>\n <th colspan=\"1\" rowspan=\"1\">Shifts</th>\n <th colspan=\"1\" rowspan=\"1\">TOI</th>\n <th colspan=\"1\" rowspan=\"1\">FO%</th>\n …Run Code Online (Sandbox Code Playgroud) 我有一个非常常见的问题,但似乎无法找到一个好的答案。
我需要从表中获取一页的行数,以及足够的信息来对这些数据进行分页。所以总的来说,我需要对总行数进行非常粗略的估计(通常我需要知道的是ceil(count()/50))。
所以count()真的是矫枉过正。而且我已经有一个SELECT * FROM table LIMIT 0, 50运行,所以如果它可以附加到这个命令就更好了。
我听说过SQL_CALC_FOUND_ROWS。但我也听说它并不比count自己做特别有效率。“不幸的是,使用 SQL_CALC_FOUND_ROWS 会带来破坏可能发生的任何 LIMIT 优化的恶劣后果”。
所以,总而言之,我有点认为使用 MySQL 的行估计是要走的路。但我不知道该怎么做。或者这个估计会有多低。
注意1:在我的情况下,我使用的大多数表每天只更新几次,而不是一直更新。注 2:我在 php 中使用 PDO。