|
|
|
| Примеры с учебника ООП на PHP Кузнецова. Выходят сообщения об ошибках .
Warning: require(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for '3.0/no DST' instead in E:\Program Files\Apache Software Foundation\Apache2.2\htdocs\myOOP\call.php on line 7 Warning: The magic method __call() must have public visibility and cannot be static in E:\Program Files\Apache Software Foundation\Apache2.2\htdocs\myOOP\call.php on line 7
call.php
<?php
class minmax
{
private function __call($method, $arg)
{
if(!is_array($arg)) return false;
$value = $arr[0];
if($method == "min")
{
for($i = 0; $i < count($arg); $i++)
{
if($arg[$i] < $value) $value = $arg[$i];
}
}
if($method == "max")
{
for($i = 0; $i < count($arg); $i++)
{
if($arg[$i] > $value) $value = $arg[$i];
}
}
return $value;
}
}
?>
|
minmax.php
<?php
require_once("call.php");
$obj = new minmax();
echo $obj->min(1, 2, 34, 64, 23, 34, 45);
echo "<br>";
echo $obj->max(1, 2, 34, 64, 23, 34, 45);
?>
|
| |
|
|
|
|
|
|
|
для: Фоат
(03.11.2011 в 19:16)
| | Это не ошибки, а предупреждения. Чтобы убрать именно эти нужно выставить часовой пояс в начале скрипта например так
if (function_exists('date_default_timezone_set')) date_default_timezone_set('Europe/Moscow');
|
| |
|
|
|
|
|
|
|
для: Фоат
(03.11.2011 в 19:16)
| | Первое предупреждение связано с часовым поясом, чтобы выставить его следует добавить в конфигурационный файл php.ini следующее значение date.timezone
[Date]
date.timezone = "Europe/Moscow"
|
Файл call.php следует исправить следующим образом (разработчики PHP поправили кавардак с private/public, который имел место на момент написания книги)
<?php
class minmax
{
public function __call($method, $arg)
{
if(!is_array($arg)) return false;
$value = $arg[0];
if($method == "min")
{
for($i = 0; $i < count($arg); $i++)
{
if($arg[$i] < $value) $value = $arg[$i];
}
}
if($method == "max")
{
for($i = 0; $i < count($arg); $i++)
{
if($arg[$i] > $value) $value = $arg[$i];
}
}
return $value;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(03.11.2011 в 19:35)
| | Спасибо за советы . в Php.ini прописал. А про то что должны были быть методы открыты догадывался по сообщению об ошибке. Спасибо вам всем! | |
|
|
|
|
|
|
|
для: Фоат
(03.11.2011 в 19:47)
| | кстати , там еще одна ошибка , везде где висит переменная массив $arg должен быть $arr | |
|
|
|
|
|
|
|
для: Фоат
(04.11.2011 в 01:40)
| | Да, есть такое дело. | |
|
|
|