| |
|
|
| | Осваиваю классы на PHP. Из книги переписал пример (книга для PHP 5, у меня стоит Денвер с PHP4)
Примеры (commodity.php):
<?
class Commodity {
public $name; // название товара
public $category; // категория товара
public $price; // цена
public $availability; // наличие на складе
// Конструктор
function __construct($name, $category, $price=null, $availability=False)
{
echo 'Запущен конструктор...<br/>';
$this->name = $name;
$this->category =$category;
$this->price = $price;
$this->availability = $availability;
}
//Деструктор
function __destruct()
{
echo 'Запущен деструктор ...<br/>';
}
function getPrice()
{
return (is_null($this->price) ? 'N/A' : $this->price);
}
function setPrice($new_price)
{
$this->price = $new_price;
}
}
|
и второй файл:
<?
require_once('commodity.php');
$obj = new Commodity('Разработка Web-приложений на PHP 5','book');
echo $obj->name .' - '. $obj ->getPrice() . '<br/>';
$obj->setPrice(230.0);
echo $obj->name . ' - ' . $obj->getPrice() . '<br/>';
?>
|
И при запуске выдает :
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in
y:\home\localhost\www\class01\commodity.php on line 11
|
Это из-за того что не тот PHP ? | |
| |
|
|
| |
|
|
| |
для: worldmen
(15.11.2007 в 22:45)
| | | Пример из книги и с ошибкой! А вы дальше не читали? А то бывает показывают ошибки в коде, а потом правильный примет. Я встречал в своей книге. | |
| |
|
|
| |
|
|
| |
для: Санька
(15.11.2007 в 22:59)
| | | Нет. Дальше в книге пишется:
"В результате выполнения наша программа выведет следующее.
Запущен конструктор...
Разработка Web-приложений на PHP 5 - N/A
Разработка Web-приложений на PHP 5 - 230
Запущен деструктор..." | |
| |
|
|
| |
|
|
| |
для: Worldmen
(15.11.2007 в 23:07)
| | | не та версия php. protected, private, public поддерживаются с пятой версии. в четвертой вы можете оперировать только словом var
и еще в четвертой версии конструктор = метод с именем класса, а деструктора нет совсем | |
| |
|
|
| |
|
|
| |
для: bronenos
(15.11.2007 в 23:14)
| | | Спасибо все получилось | |
| |
|
|
| |
|
|
| |
для: worldmen
(15.11.2007 в 22:45)
| | | Объектные модели PHP 4 и PHP 5 очень сильно отличаются - следует использовать версию PHP 5. | |
| |
|
|
| |
|
|
| |
для: cheops
(16.11.2007 в 13:27)
| | | Наш сайт написан разработчиками на PHP4 так как и на хостинге стоит PHP4.
Знаний у меня маловато, поэтому разбираю то что написали они, чтоб самому делать изменения.
И первый вопрос
Class MySQL
{
var $prefix=''; // Global MySQL resource of class.
function MySQL(){
if (empty($_SESSION[CONN])) $this->connect($GLOBALS[CFG][Db][Host],$GLOBALS[CFG][Db][User],$GLOBALS[CFG][Db][Password],
$GLOBALS[CFG][Db][Database]);
$this->prefix=$GLOBALS[CFG][Db][Prefix];
}
|
что такое $GLOBALS[CFG][Db][User] , а конкретно CFG,Db,User - я не нашел где они объявляются.
Я так понял - этот класс отвечает за соединение с базой.
-------------------------
вот нашел описание выше :
$CFG = parse_ini_file("./include/config.php", true);
а в config.php нашел пункт:
[Db]
Host = ....
User=...
...
Password = ...
Prefix = ...
[Password]
....
--------------------------------- | |
| |
|
|
| |
|
|
| |
для: Worldmen
(16.11.2007 в 23:44)
| | |
$GLOBALS['CFG']['Db']['User'] ~ global $CFG; $CFG['Db']['User']
|
parse_ini_file парсирует файл и создает соответствующие переменные | |
| |
|
|